Keywords: compression, decompression, Static Huffman algorithm, lossless, Android.

dokumen-dokumen yang mirip
BAB II DASAR TEORI...

KOMPRESI DAN DEKOMPRESI DATA TEKSTUAL MENGGUNAKAN ALGORITMA DYNAMIC MARKOV

HALAMAN PENGESAHAN PEMBIMBING...

ANALISIS KINERJA DAN IMPLEMENTASI ALGORITMA KOMPRESI ARITHMETIC CODING PADA FILE TEKS DAN CITRA DIGITAL SKRIPSI SARIFAH

ABSTRACT. There are some imprecise file types for in compression with certain method, because exactly yields bigger fairish compression result file.

STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN SHANNON-FANO DALAM PEMAMPATAN FILE TEKS SKRIPSI NURFITA SARI HASIBUAN

IMPLEMENTASI ALGORITMA HUFFMAN UNTUK KOMPRESI DAN DEKOMPRESI GAMBAR DIGITAL

ABSTRAK. Kata kunci: diagram kelas, xml, java, kode sumber, sinkronisasi. v Universitas Kristen Maranatha

ABSTRAK. Kata kunci : sistem organ (manusia), Android, Eclipse, GRAPPLE, UML

PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI

IMPLEMENTASI ALGORITMA SHANNON-FANO PADA KOMPRESI AUDIO SKRIPSI MUTIARA NOVELIA RAJAGUKGUK

PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2012

STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN LZW (LEMPEL ZIV WELCH) PADA PEMAMPATAN FILE TEKS SKRIPSI CANGGIH PRAMILO

APLIKASI KRIPTOGRAFI MENGGUNAKAN METODE MARS DAN KOMPRESI MENGGUNAKAN ALGORITMA HUFFMAN. Oleh : SARWENDRA

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN RUN LENGTH ENCODING PADA KOMPRESI FILE AUDIO SKRIPSI HELBERT SINAGA

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARITHMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP SKRIPSI SYAHFITRI KARTIKA LIDYA

SKRIPSI KOMPRESI DATA TEKS MENGGUNAKAN ALGORITMA PPM (PREDICTION BY PARTIAL MATCHING)

BAB II DASAR TEORI...

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SEQUITUR DALAM KOMPRESI DATA TEXT SKRIPSI ELSYA SABRINA ASMTA SIMORANGKIR

PERANCANGAN SISTEM PENGAMANAN DAN KOMPRESI DATA TEKS DENGAN FIBONACCI ENCODING DAN ALGORITMA SHANNON-FANO SERTA ALGORITMA DEFLATE SKRIPSI

DAFTAR ISI HALAMAN JUDUL

ABSTRAK. Kata kunci : Google Map, Android, Kuliner.

APLIKASI INFORMASI PARIWISATA YOGYAKARTA MENGGUNAKAN QR CODE BERBASIS MOBILE PLATFORM BLACKBERRY

Kompresi. Definisi Kompresi

1. PENDAHULUAN 1.1. Latar Belakang Masalah

BAB 2 TINJAUAN PUSTAKA

KOMPRESI DAN DEKOMPRESI DATA TEKSTUAL MENGGUNAKAN ALGORITMA DEFLATE. Valentinus Henry G /

ANALISIS PERBANDINGAN KINERJA ALGORITMA SHANNON-FANO, ARITHMETIC CODING, DAN HUFFMAN PADA KOMPRESI BERKAS TEKS DAN BERKAS CITRA DIGITAL SKRIPSI

BAB 1 PENDAHULUAN Latar Belakang

STUDI PERBANDINGAN KOMPRESI MENGGUNAKAN METODE SHANNON FANO DAN UNARY CODING PADA FILE TEKS EUNIKE JOHANA

APLIKASI QRSCANNER DAN QR CODE GENERATOR

BAB V PENUTUP Kesimpulan Saran DAFTAR PUSTAKA xiii

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PERBANDINGAN KINERJA ALGORITMA FIXED LENGTH BINARY ENCODING (FLBE) DENGAN VARIABLE LENGTH BINARY ENCODING (VLBE) DALAM KOMPRESI TEXT FILE SKRIPSI

KOMPRESI FILE.TXT DENGAN ALGORITMA HUFFMAN PADA FILE DENGAN MENGGUNAKAN PENGKODEAN BASE-64 SKRIPSI. Oleh : LINGGA ADI FIRMANTO ( )

BAB 2 LANDASAN TEORI

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

DAFTAR ISI. Halaman HALAMAN JUDUL LEMBAR PERSETUJUAN LEMBAR PENGESAHAN LEMBAR PERSEMBAHAN MOTTO ABSTRAK ABSTRACK

ABSTRAK. Universitas Kristen Maranatha

ABSTRAK. Kata Kunci: nama bayi, Islami, Java 2 Standard Edition (J2SE) vii

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN Latar Belakang

BAB 2 TINJAUAN PUSTAKA

BAB III PERANCANGAN SISTEM

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA SHANNON- FANO UNTUK KOMPRESI FILE TEXT

ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha

PERANCANGAN APLIKASI KOMPRESI VIDEO DENGAN MENGUNAKAN METODE FRACTAL VIDEO COMPRESSION SKRIPSI

PERFORMANSI MODIFIKASI LZW UNTUK KOMPRESI SMS LAPORAN TUGAS AKHIR. Deny Aprianto /Teknik Telekomunikasi

BAB III ANALISA DAN DESAIN SISTEM. Analisa masalah yang didapat dari penelitian ini adalah membuat data

Analisa dan Perancangan Aplikasi Kompresi File Dengan Menggunakan Metode Byte Pair Encoding

PEMBUATAN APLIKASI KOMPRESI FILE WAVE DENGAN METODE HUFFMAN

IMPLEMENTASI DAN ANALISIS ALGORITMA DYNAMIC MARKOV COMPRESSION (DMC) PADA FILE TEXT

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011

APLIKASI PERANGKAT AJAR PENGELOLAAN DAN PERHITUNGAN EKSPRESI MATEMATIKA DARYANTO

APLIKASI PREDIKSI PENJUALAN JERUK DENGAN MENGGUNAKAN METODE REGRESI LINIER SEDERHANA DAN MOVING AVERAGE

BAB 2 TINJAUAN PUSTAKA

ABSTRAK. v Universitas Kristen Maranatha

Perbandingan Kompresi Data Dengan Algoritma Huffman Statik dan Adaptif

KOMPRESI JPEG 2000 PADA CITRA DIGITAL DENGAN TRANSFORMASI WAVELET DISKRIT

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. oleh Allah swt di dalam Al Qur annya pada Surah At-Tin Ayat 4, yaitu: bentuk yang sebaik-baiknya. (QS. At-Tin:4).

BAB II LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

PENGUJIAN KOMPRESI PADA GAMBAR PETA BERWARNA MENGGUNAKAN PEMODELAN CONTEXT TREE

RANCANG BANGUN APLIKASI KOMPRESI FILE TEXT MENGGUNAKAN METODE LEMPEL-ZIV-WILCH (LZW) SKRIPSI. Disusun Oleh: RAMA DHANY WIJAYA NPM.

PROTOTIPE KOMPRESI LOSSLESS AUDIO CODEC MENGGUNAKAN ENTROPY ENCODING

BAB 2 LANDASAN TEORI

ABSTRAK. Kata Kunci : ATSMS, VB.NET,SQL Server 2005, dan Crystal Report.

BAB 2 LANDASAN TEORI

MODIFIKASI ALGORITMA J-BIT ENCODING UNTUK MENINGKATKAN RASIO KOMPRESI

Aplikasi Mobile Layanan Informasi Diskon Menggunakan Sistem Operasi Android (Studi Kasus Mbakdiskon Yogyakarta) ABSTRAK

BAB 3 METODOLOGI PENELITIAN. kepustakaan dan studi laboratorium, di mana penulis mempelajari teori-teori teknik

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem bertujuan untuk mengidentifikasi permasalahan

ABSTRAK. Kata kunci: Spam, Android, Pesan, Java, Webservice. Universitas Kristen Maranatha

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Daftar Isi. Abstrak... i Abstract... ii Kata Pengantar... iii Daftar Isi... v Daftar Tabel... viii Daftar Gambar... ix

BAB I PENDAHULUAN I-1

IMPLEMENTASI KOMBINASI METODE HUFFMAN DAN RUN LENGTH ENCODING (RLE) UNTUK KOMPRESI CITRA SKRIPSI MUHAMMAD SAID ALKHUDRI

DAFTAR ISI. HALAMAN JUDUL i. LEMBAR PENGESAHAN TUGAS AKHIR... ii. LEMBAR PENGESAHAN PENGUJI SIDANG. iii. LEMBAR PERNYATAAN KEASLIAN..

ABSTRAK. Kata kunci : Steganografi, bit-plane complexity segmentation, data tersembunyi, peak signal-to-noise ratio. v Universitas Kristen Maranatha

BAB I PENDAHULUAN. dalam storage lebih sedikit. Dalam hal ini dirasakan sangat penting. untuk mengurangi penggunaan memori.

BAB 2 TINJAUAN PUSTAKA

APLIKASI KOMPRESI DATA MENGGUNAKAN METODE HUFFMAN STATIK PADA PERANGKAT MOBILE BERBASIS ANDROID

ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO SKRIPSI DEBI MAULINA SIREGAR

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

ANALISIS PERBANDINGAN KOMPRESI FILE VIDEO DENGAN MOTION PICTURE EXPERT GROUP-4 DAN FLASH VIDEO DENGAN MENGGUNAKAN ALGORITMA HUFFMAN SKRIPSI

ABSTRAK APLIKASI PENJUALAN BERBASIS ANDROID (STUDI KASUS PERUSAHAAN TEENAGERS)

2.9.6 XAMPP Dreamweaver CS Studi Pustaka... 33

EVALUASI KINERJA ALGORITMA LEMPEL-ZIV STORER SZYMANSKI TERHADAP DATA TEKS DAN GAMBAR LAPORAN TUGAS AKHIR JUDUL

SKRIPSI E-GOVERMENT PENGELOLAAN ANGGARAN DANA DESA BERBASIS WEB DI DESA BABALAN KABUPATEN PATI. Oleh : ANANG SUSILO

BAB I PENDAHULUAN. Dalam bidang teknologi informasi, komunikasi data sangat sering

BAB V PENUTUP Kesimpulan Saran DAFTAR PUSTAKA

BAB III ANALISA DAN DESAIN SISTEM

KOMPRESI CITRA MENGGUNAKAN INDEPENDENT COMPONENT ANALYSIS ABSTRAK

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA

KOMPRESI DATA DAN TEKS. By : Nurul Adhayanti

TAKARIR. : diagram aktifitas yang memodelkan alur kerja. suatu proses. dipakai. berurutan. : perangkat untuk simulasi hasil aplikasi pada IDE

Transkripsi:

ABSTRACT Efficient use of bandwidth and memory into the main focus that must be considered in the process of data exchange. More and more data is stored, the greater the size of the data. One alternative that can be implemented is to reduce the size of the (compressed) data. In addition to the process of data transmission, compression is also useful in the data storage medium in the secondary. Compression aims to reduce the amount of data used to represent the contents of a text file, image, audio, and video without reducing the quality of the original data. Compression is done by reducing the number of bits needed to store or transmit the digital media. For data compression, one algorithm has a good performance is the type of the Huffman algorithm. In this study, the Static Huffman algorithm which is one technique that is lossless data compression. Static Huffman algorithm uses frequency/probability of occurrences of a symbol in a string as input and produce output in the form of a prefix code that encodes a string using the little bits of all possible binary prefix code that may be. Static Huffman algorithm implementation is aimed to compress the data so that the compressed data size is smaller than the size of the original data. So that the compressed data can be retrieved, then the decompression process. This application was made and in the making based on Android using Eclipse and the methodology GRAPPLE (Guidlines for Rappid Application Engineering). GRAPPLE is a process modeling in software development which emphasizes the actions carried out in a number of stages, each stage will result in products that work with object-oriented form. With applications of data compression with Huffman Static method in Android - based mobile devices, the data size becomes smaller so that it can speed up the process of delivery and storage. Compression using Huffman code would be optimal if the range of the character of the information is not too much despite the high frequency of occurrence and the size of the compression results obtained that the compression of each file depending on the characteristics of the file to be compressed. Keywords: compression, decompression, Static Huffman algorithm, lossless, Android. v

ABSTRAK Efisiensi penggunaan bandwidth dan memory menjadi satu fokus utama yang harus diperhatikan dalam proses pertukaran data. Semakin banyak data yang tersimpan maka semakin besar pula ukuran dari data tersebut. Salah satu alternatif yang dapat di implementasikan adalah memperkecil ukuran (kompresi) data tersebut. Selain pada proses pengiriman data, kompresi juga bermanfaat pada penyimpanan data di dalam media sekunder. Kompresi bertujuan untuk mengurangi jumlah data yang digunakan untuk mewakili isi file teks, gambar, audio, dan video tanpa mengurangi kualitas data aslinya. Kompresi dilakukan dengan mengurangi jumlah bit yang diperlukan untuk menyimpan atau mengirimkan media digital tersebut. Untuk kompresi data, salah satu algoritma yang memiliki performa yang baik adalah jenis algoritma Huffman. Pada penelitian ini digunakan algoritma Huffman Statik yang merupakan salah satu teknik kompresi data yang bersifat lossless. Algoritma Huffman Statik menggunakan frekuensi/probabilitas kemunculan dari simbol pada sebuah string sebagai input dan menghasilkan output berupa prefix code yang mengkodekan string menggunakan bit paling sedikit dari seluruh kemungkinan binary prefix code yang mungkin. Implementasi algoritma Huffman Statik ini bertujuan untuk mengkompresi data sehingga ukuran data hasil kompresi lebih kecil dibandingkan dengan ukuran data asli. Agar data yang terkompres dapat dilihat kembali, maka dilakukan proses dekompresi. Aplikasi ini dibuat berbasis Android dan dalam pembuatannya menggunakan Eclipse dan metodologi GRAPPLE (Guidlines for Rappid APPLication Engineering). GRAPPLE merupakan sebuah pemodelan proses dalam pengembangan software yang menekankan pada aksi-aksi yang dilakukan pada sejumlah tahapan, setiap tahap akan menghasilkan produk kerja dengan bentuk yang berorientasi objek. Dengan dibuatnya aplikasi kompresi data dengan metode Huffman Statik pada perangkat mobile berbasis android, ukuran data menjadi lebih kecil sehingga dapat mempercepat dalam proses pengiriman maupun penyimpanan. Kompresi dengan menggunakan kode Huffman akan lebih optimal jika ragam karakter dari informasi tersebut tidak terlalu banyak walaupun frekuensi kemunculannya tinggi dan ukuran hasil kompresi diperoleh bahwa pemampatan setiap file tergantung dari karakteristik file yang akan dimampatkan. Kata kunci : kompresi, dekompresi, algoritma Huffman Statik, lossless, Android. v

DAFTAR ISI HALAMAN JUDUL... i HALAMAN PENGESAHAN PEMBIMBING... ii HALAMAN PENGESAHAN PENGUJI... iii SURAT PERNYATAAN KARYA ASLI SKRIPSI... iv ABSTRAK... v KATA PENGANTAR... vi DAFTAR ISI... viii DAFTAR GAMBAR... xi DAFTAR TABEL... xii DAFTAR MODUL PROGRAM... xiii BAB I PENDAHULUAN... 1 1.1 Latar Belakang Masalah... 1 1.2 Perumusan Masalah... 2 1.3 Batasan Masalah... 2 1.4 Tujuan Penelitian... 3 1.5 Manfaat Penelitian... 3 1.6 Metode Pengembangan... 3 1.7 Sistematika Penulisan... 4 BAB II LANDASAN TEORI... 6 2.1 Aplikasi Mobile... 6 2.2 Data... 7 2.3 Pengertian File Teks... 8 2.4 Satuan Dalam Sistem Komputer... 9 2.5 ASCII (American Standard Code for Information Interchange)... 10 2.6 Pohon (Tree)... 14 2.6.1 Pohon Biner (Binary Tree)... 15 2.7 Kompresi Data... 16 2.7.1 Manfaat Kompresi... 19 2.7.2 Teknik Kompresi Data Menurut Jenis Data yang akan dikompresi... 19 2.7.3 Empat Pendekatan yang digunakan pada Kompresi Suatu Data... 20 2.7.4 Metode Kompresi Berdasarkan Tipe Peta Kode... 20 2.7.5 Metode Kompresi Berdasarkan Teknik Pengkodean... 21 2.7.6 Klasifikasi dari Beberapa Teknik Kompresi Data... 21 2.7.6.1 Lossless Compression... 22 2.7.6.2 Lossy Compression... 23 2.7.6.3 Teori Informasi dan Entropi... 24 2.7.7 Dekompresi... 25 2.7.8 Pengujian Hasil Kompresi... 26 2.7.9 Perbedaan antara Compression Rate dan Compression Ratio... 26 2.7.10 Arithmatic Encoding... 27 2.7.11 Run-Length Encoding... 27 2.7.12 Algoritma Huffman... 28 2.7.12.1 Algoritma Huffman Statik... 32 2.7.12.2 Algoritma Huffman Adaptif... 33 2.7.13 Perbandingan Antara Metode-Metode Kompresi Data... 35 viii

2.8 Android... 35 2.9 Guidelines for Rappid APPLication Engineering (GRAPPLE)... 40 2.10 Unified Modelling Language (UML)... 41 2.10.1 Diagram UML... 42 2.11 Flowchart... 49 2.12 Software yang Digunakan... 50 2.12.1 SDK Android... 50 2.12.2 JDK... 50 2.12.3 SDK Eclipse... 51 2.13 Studi Pustaka... 51 BAB III ANALISIS DAN PERANCANGAN... 54 3.1 Pengumpulan Kebutuhan (Requirement Gathering)... 54 3.1.1 Analisis Kebutuhan Pengguna... 54 3.1.2 Analisis Domain... 55 3.1.3 Analisis Fitur... 55 3.1.4 Identifikasi Sistem... 56 3.2 Analisa (Analysis)... 57 3.2.1 Diagram Use Case... 57 3.2.2 Diagram Class... 58 3.2.3 Diagram Sequence... 60 3.2.3.1 Diagram Sequence Kompresi... 62 3.2.3.2 Diagram Sequence Dekompresi... 63 3.2.3.3 Diagram Sequence Bagikan... 64 3.2.3.4 Diagram Sequence Bantuan... 64 3.2.3.5 Diagram Sequence Tentang Aplikasi... 65 3.2.3.6 Diagram Sequence Keluar... 65 3.3 Perancangan... 66 3.3.1 Diagram Activity... 66 3.3.1.1 Diagram Activity KompresiActivity... 66 3.3.1.2 Diagram Activity DekompresiActivity... 68 3.3.1.3 Diagram Activity BagikanActivity... 70 3.3.1.4 Diagram Activity BantuanActivity... 70 3.3.1.5 Diagram Activity TtgAplikasiActivity... 71 3.3.1.6 Diagram Activity proseskeluaractivity... 72 3.3.2 Flowchart... 72 3.3.2.1 Flowchart Kompresi... 73 3.3.2.2 Flowchart Dekompresi... 74 3.3.3 Rancangan Struktur Menu... 76 3.3.4 Rancangan Antarmuka Aplikasi... 77 3.3.4.1 Rancangan Antarmuka activity_main... 77 3.3.4.2 Rancangan antarmuka kompresi_layout... 77 3.3.4.3 Rancangan antarmuka dekompresi_layout... 78 3.3.4.4 Rancangan antarmuka bantuan_layout... 79 3.3.4.5 Rancangan antarmuka tentang_layout... 80 BAB IV IMPLEMENTASI... 82 4.1 Perangkat Lunak yang Digunakan Untuk Membangun Aplikasi... 82 4.2 Perangkat Keras yang Digunakan Untuk Membangun Aplikasi... 82 ix

4.3 Implementasi Aplikasi... 83 4.3.1 Implementasi Halaman Menu Utama... 83 4.3.2 Implementasi Halaman Kompresi... 90 4.3.3 Implementasi Halaman Dekompresi... 98 4.3.4 Implementasi Bagikan... 106 4.3.5 Implementasi Halaman Bantuan... 108 4.3.6 Implementasi Halaman Tentang Aplikasi... 111 4.3.7 Implementasi Keluar... 114 4.3.8 Implementasi Source CHuffmanEncoder.java... 115 4.3.9 Implementasi Source CHuffmanDecoder.java... 119 4.3.10 Implementasi Source CPriorityQueue.java... 121 4.3.11 Implementasi Source HuffmanNode.java... 122 4.3.12 Implementasi Source huffmansignature.java... 122 4.3.13 Implementasi Source CFileBitReader.java.... 122 4.3.14 Implementasi Source CFileBitWriter.java... 124 4.4 Pengujian Sistem... 126 4.4.1 Pengujian Kompresi... 126 4.4.1.1 Pengujian Kompresi Pada Gambar... 128 4.4.1.2 Pengujian Kompresi Pada Teks... 134 4.4.1.3 Pengujian Kompresi Pada Audio... 138 4.4.1.4 Pengujian Kompresi Pada Video... 139 4.4.2 Pengujian Dekompresi... 140 4.4.2.1 Pengujian Dekompresi Pada Beberapa File... 140 BAB V PENUTUP... 142 5.1 Kesimpulan... 142 5.2 Saran... 143 DAFTAR PUSTAKA... 144 x

DAFTAR GAMBAR Gambar 2.1 Karakter ASCII... 9 Gambar 2.2 Pohon Berakar dengan v1 Sebagai Akar... 15 Gambar 2.3 Pohon Biner... 16 Gambar 2.4 Alur kompresi dan dekompresi data... 18 Gambar 2.5 Klasifikasi dari beberapa teknik kompresi data... 22 Gambar 2.6 Lossless compression... 23 Gambar 2.7 Lossy compression... 24 Gambar 2.8 Tiga buah karakter.... 25 Gambar 2.9 Pohon Biner untuk Kode Awalan... 30 Gambar 2.10 Pohon Kode Huffman... 31 Gambar 2.11 Pohon dengan 2 simbol... 33 Gambar 2.12 Pohon dengan 3 simbol... 33 Gambar 2.13 Arsitektur sistem operasi Android... 36 Gambar 2.14 Contoh diagram use case... 43 Gambar 2.15 Contoh diagram class hubungan antar class... 45 Gambar 2.16 Contoh diagram sequence... 47 Gambar 2.17 Contoh diagram activity... 49 Gambar 3.1 Arsitektur sistem... 57 Gambar 3.2 Diagram use case... 58 Gambar 3.3 Diagram class... 59 Gambar 3.4 Diagram Sequence Kompresi... 61 Gambar 3.5 Diagram Sequence Dekompresi... 63 Gambar 3.6 Diagram Sequence Bagikan... 64 Gambar 3.7 Diagram Sequence Bantuan... 64 Gambar 3.8 Diagram Sequence Tentang Aplikasi... 65 Gambar 3.9 Diagram Sequence Keluar... 65 Gambar 3.10 Diagram Activity KompresiActivity... 67 Gambar 3.11 Diagram Activity DekompresiActivity... 69 Gambar 3.12 Diagram Activity BagikanActivity... 70 Gambar 3.13 Diagram Activity BantuanActivity... 71 Gambar 3.14 Diagram Activity TtgAplikasiActivity... 71 Gambar 3.15 Diagram Activity proseskeluaractivity... 72 Gambar 3.16 Flowchart Kompresi... 73 Gambar 3.17 Flowchart Dekompresi... 75 Gambar 3.18 Struktur menu... 76 Gambar 3.19 Rancangan antarmuka activity_main... 77 Gambar 3.20 Rancangan antarmuka kompresi_layout... 78 Gambar 3.21 Rancangan antarmuka dekompresi_layout... 79 Gambar 3.22 Rancangan antarmuka bantuan_layout... 80 Gambar 3.23 Rancangan antarmuka tentang_layout... 81 Gambar 4.1 Halaman menu utama... 83 Gambar 4.2 Halaman Kompresi... 90 Gambar 4.3 Halaman Dekompresi... 98 Gambar 4.4 Halaman Bagikan... 107 Gambar 4.5 Halaman Bantuan... 108 Gambar 4.6 Halaman Tentang Aplikasi... 112 Gambar 4.7 Halaman Keluar... 114 xi

DAFTAR TABEL Tabel 2.1 Daftar Satuan yang Menyatakan Jumlah Byte... 9 Tabel 2.2 ASCII... 10 Tabel 2.3 Lanjutan ASCII... 11 Tabel 2.4 Lanjutan ASCII... 12 Tabel 2.5 Lanjutan ASCII... 13 Tabel 2.6 Lanjutan ASCII... 14 Tabel 2.7 Contoh Kode ASCII... 30 Tabel 2.8 Tabel Kode Huffman... 31 Tabel 2.9 Perbandingan antara metode-metode kompresi data... 35 Tabel 2.10 Notasi Diagram Use Case... 43 Tabel 2.11 Notasi Diagram Class... 44 Tabel 2.12 Lanjutan Notasi Diagram Class... 45 Tabel 2.13 Notasi Diagram Sequence... 46 Tabel 2.14 Lanjutan Notasi Diagram Sequence... 47 Tabel 2.15 Notasi Diagram Activity... 48 Tabel 2.16 Simbol-simbol Flowchart Program... 49 Tabel 2.17 Lanjutan Simbol-simbol Flowchart Program... 50 Tabel 2.18 Perbandingan Aplikasi yang dibangun dengan Penelitian Sebelumnya. 52 Tabel 2.19 Lanjutan Perbandingan Aplikasi yang dibangun dengan Penelitian Sebelumnya... 53 Tabel 4.1 Tabel Kebutuhan Perangkat Lunak (Software)... 82 Tabel 4.2 Tabel Kebutuhan Perangkat Keras (Hardware)... 83 Tabel 4.3 Tabel Pengujian Gambar Berwarna berformat *.bmp... 128 Tabel 4.4 Tabel Pengujian Gambar Hitam Putih berformat *.bmp... 129 Tabel 4.5 Tabel Pengujian Gambar berformat *.gif... 130 Tabel 4.6 Tabel Pengujian Gambar berformat *.png... 131 Tabel 4.7 Tabel Pengujian Gambar kecil ke besar berformat *.png... 132 Tabel 4.8 Tabel Pengujian Gambar berformat *.jpg... 133 Tabel 4.9 Tabel Pengujian Teks beragam karakter dengan beragam format file... 134 Tabel 4.10 Tabel Pengujian Teks dua ragam karakter dengan beragam format file 134 Tabel 4.11 Tabel Pengujian Teks satu ragam karakter (jumlah sedikit) dengan beragam format file... 135 Tabel 4.12 Tabel Pengujian Teks satu ragam karakter (jumlah banyak) dengan beragam format file... 136 Tabel 4.13 Tabel Pengujian Teks empat ragam karakter berformat file *.txt... 136 Tabel 4.14 Tabel Pengujian Audio dengan beragam format file... 138 Tabel 4.15 Tabel Pengujian Video dengan beragam format file... 139 Tabel 4.16 Tabel Pengujian Dekompresi pada beberapa file... 141 xii

DAFTAR MODUL PROGRAM Modul Program 2.1 Source Code encoder algoritma Huffman Adaptif... 34 Modul Program 2.2 Source Code dekoder algoritma Huffman Adaptif... 34 Modul Program 4.1 Source Code MainActivity.java... 83 Modul Program 4.2 Lanjutan Source Code MainActivity.java... 84 Modul Program 4.3 Lanjutan Source Code MainActivity.java... 85 Modul Program 4.4 Lanjutan Source Code MainActivity.java... 86 Modul Program 4.5 Lanjutan Source Code MainActivity.java... 87 Modul Program 4.6 Source Code activity_main.xml... 87 Modul Program 4.7 Lanjutan Source Code activity_main.xml... 88 Modul Program 4.8 Lanjutan Source Code activity_main.xml... 89 Modul Program 4.9 Source Code KompresiActivity.java... 90 Modul Program 4.10 Lanjutan Source Code KompresiActivity.java... 91 Modul Program 4.11 Lanjutan Source Code KompresiActivity.java... 92 Modul Program 4.12 Lanjutan Source Code KompresiActivity.java... 93 Modul Program 4.13 Lanjutan Source Code KompresiActivity.java... 94 Modul Program 4.14 Lanjutan Source Code KompresiActivity.java... 95 Modul Program 4.15 Source Code kompresi_layout.xml... 95 Modul Program 4.16 Lanjutan Source Code kompresi_layout.xml... 96 Modul Program 4.17 Lanjutan Source Code kompresi_layout.xml... 97 Modul Program 4.18 Lanjutan Source Code kompresi_layout.xml... 98 Modul Program 4.19 Source Code DekompresiActivity.java... 99 Modul Program 4.20 Lanjutan Source Code DekompresiActivity.java... 100 Modul Program 4.21 Lanjutan Source Code DekompresiActivity.java... 101 Modul Program 4.22 Lanjutan Source Code DekompresiActivity.java... 102 Modul Program 4.23 Lanjutan Source Code DekompresiActivity.java... 103 Modul Program 4.24 Lanjutan Source Code DekompresiActivity.java... 104 Modul Program 4.25 Source Code dekompresi_layout.xml... 104 Modul Program 4.26 Lanjutan Source Code dekompresi_layout.xml... 105 Modul Program 4.27 Lanjutan Source Code dekompresi_layout.xml... 106 Modul Program 4.28 Potongan Source Code Bagikan di MainActivity.java... 107 Modul Program 4.29 Lanjutan Potongan Source Code Bagikan di MainActivity.java... 108 Modul Program 4.30 Source Code BantuanActivity.java... 109 Modul Program 4.31 Source Code bantuan_layout.xml... 109 Modul Program 4.32 Lanjutan Source Code bantuan_layout.xml... 110 Modul Program 4.33 Lanjutan Source Code bantuan_layout.xml... 111 Modul Program 4.34 Source Code TtgAplikasiActivity.java... 112 Modul Program 4.35 Source Code tentang_layout.xml... 112 Modul Program 4.36 Lanjutan Source Code tentang_layout.xml... 113 Modul Program 4.37 Lanjutan Source Code tentang_layout.xml... 114 Modul Program 4.38 Potongan Source Code Keluar di MainActivity.java... 115 Modul Program 4.39 Source Code CHuffmanEncoder.java... 115 Modul Program 4.40 Lanjutan Source Code CHuffmanEncoder.java... 116 Modul Program 4.41 Lanjutan Source Code CHuffmanEncoder.java... 117 Modul Program 4.42 Lanjutan Source Code CHuffmanEncoder.java... 118 Modul Program 4.43 Source Code CHuffmanDecoder.java... 119 Modul Program 4.44 Lanjutan Source Code CHuffmanDecoder.java... 120 xiii

Modul Program 4.45 Source Code CPriorityQueue.java... 121 Modul Program 4.46 Source Code HuffmanNode.java... 122 Modul Program 4.47 Source Code huffmansignature.java... 122 Modul Program 4.48 Source Code CFileBitReader.java... 122 Modul Program 4.49 Lanjutan Source Code CFileBitReader.java... 123 Modul Program 4.50 Lanjutan Source Code CFileBitReader.java... 124 Modul Program 4.51 Source Code CFileBitWriter.java... 124 Modul Program 4.52 Lanjutan Source Code CFileBitWriter.java... 125 Modul Program 4.53 Lanjutan Source Code CFileBitWriter.java... 126 xiv