IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI TERNARY COMMA CODE DALAM KOMPRESI FILE TEXT PADA PLATFORM ANDROID SKRIPSI SITI SOENDARI UTAMI 141421030 PROGRAM EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI TERNARY COMMA CODE DALAM KOMPRESI FILE TEXT PADA PLATFORM ANDROID SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer SITI SOENDARI UTAMI 141421030 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
PERSETUJUAN Judul : IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI TERNARY COMMA CODE DALAM KOMPRESI FILE TEXT PADA PLATFORM ANDROID Kategori : SKRIPSI Nama : SITI SOENDARI UTAMI Nomor Induk Mahasiswa: 141421030 Program Studi : EKSTENSI S1 ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Juli 2016 Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dian Rachmawati, S.Si, M.Kom Dr. Poltak Sihombing,M.Kom NIP. 198307232009122004 NIP. 196203171991031001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
PERNYATAAN IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI TERNARY COMMA CODE DALAM KOMPRESI FILE TEXT PADA PLATFORM ANDROID SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, Juli 2016 Siti Soendari Utami 141421030
PENGHARGAAN Alhamdulillah. Puji dan syukur atas kehadirat Allah SWT, yang dengan rahmat dan karunia-nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi. Pada pengerjaan skripsi dengan judul Implementasi Dan Analisis Algoritma Kompresi Ternary Comma Code Dalam Kompresi File Text Pada Platform Android, penulis menyadari bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan orang-orang terkasih yang memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan banyak terima kasih kepada : 1. Bapak Prof. Dr. Runtung Sitepu S.H, M.Hum selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi. 3. Bapak Dr. Poltak Sihombing, M.Kom selaku Dosen Pembimbing I dan Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi. 4. Ibu Dr. Maya Silvi Lydia B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 5. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembimbing II yang telah memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam pengerjaan skripsi ini. 6. Bapak Prof. Dr. Muhammad Zarlis, M.Sc selaku Dosen Pembanding I yang telah banyak memberikan arahan dan masukan yang sangat berharga kepada penulis. 7. Bapak Drs. Marihat Situmorang, M.Kom. selaku Dosen Pembanding II yang telah banyak memberikan arahan dan masukan yang sangat berharga kepada penulis.
8. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU, terkhusus kepada Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. atas masukan dan nasihatnya yang telah banyak membantu penulis dalam menyelesaikan tugas akhir ini. 9. Ayahanda Bambang Soedjono Kasby, Ibunda Endah Priyatni, SE, Ananda Ruri Erina Soeseny dan Muhammad Ikhsan, yang mana telah banyak memberikan kasih sayang, semangat, serta dorongan kepada penulis. 10. Sahabat-sahabat seperjuangan menggapai gelar sarjana, kepada Raja Arif Hidayah Harahap, Dwita Ananda Yulaz, Rahmayani Gultom, Zul Fikar Ali Ginting, Dan seluruh teman-teman kelas Kom C ekstensi 2014. Serta seluruh teman-teman ekstensi stambuk 2014. Kalian luar biasa!! 11. Terkhusus kepada abangda Fitra Meiraldy, SE. Terimakasih banyak atas bantuan dan motivasinya kepada penulis agar dapat segera menyelesaikan tugas akhir ini tepat waktu. 12. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis ucapkan satu demi satu yang telah membantu penyelesaian laporan ini. Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Medan, Juli 2016 Penulis, Siti Soendari Utami
ABSTRAK Saat ini pengiriman informasi secara real-time masih mengalami kendala, diantaranya adalah besarnya jumlah data yang harus dikirim melampaui kecepatan transmisi yang dimiliki oleh perangkat keras. Hal tersebut menjadi masalah, dimana jalur komunikasi di Indonesia, khususnya internet, masih berada di dalam kategori lambat dan sering bermasalah. Sehingga data yang berukuran kecil akan dipilih karena akan lebih cepat dikirim dan lebih hemat tempat. Dalam penelitian ini akan merancang sebuah aplikasi komputer berbasis Android yang dapat mengkompresi file text dan menganalisis kinerja algoritma. Agar memudahkan untuk mengirim file text lebih cepat dan hemat tempat. Kompresi file text dilakukan dengan mengkodekan teks menggunakan algoritma Ternary Comma Code, yang kemudian melakukan proses kompresi. Algoritma Ternary Comma Code, bilangan biner (basis 2) adalah didasarkan pada dua bit 0 dan 1. Demikian juga seperti bilangan ternary (basis 3) yang didasarkan pada tiga bilangan (trit) 0, 1 dan 2. Setiap trit dapat dituliskan dalam dua bit, tetapi dua bit dapat memiliki empat nilai. Sehingga, ini memungkinkan untuk bekerja dengan sistem bilangan ternary dimana masing-masing trit di wakili oleh dua bit dan dalam penjumlahan ketiga trit ada simbol ke empat yaitu comma (c). Ketika kita memasukkan (c), ini akan menjadi lebih mudah untuk membuat kode ternary comma untuk bilangan bulat. Hasil akhir dari kompresi adalah file berekstensi *.tcc yang dapat didekompresi. Keluaran dari dekompresi ini adalah sebuah file baru yang terdiri dari file header serta file body yang berisi kode-kode hasil pengkodean dan kompresi file text asli semula yang dapat disimpan dengan ekstensi file *.txt. Rasio pembanding yang digunakan adalah Ratio of Compression (R C ), Compression Ratio (C R ), Space Savings (SS), waktu proses kompresi dan dekompresi (ms). Kata Kunci : Kompresi, File Text, Algoritma Ternary Comma Code, Android.
IMPLEMENTATION AND ANALYSIS OF TERNARY COMMA CODE COMPRESSION ALGORITHM IN TEXT FILE ON ANDROID PLATFORM ABSTRACT Now sending information in real-time are still experiencing problems, including the large amount of data that must be sent beyond the speed of transmission which is owned by the hardware. It became a problem, which the communication lines in Indonesia, especially the Internet, is still in the category of slow and often problematic. So the data that is small will have because it will be quickly dispatched and more efficient place. In this research will be to design an Android-based computer application that can compress text files and analyzing the performance of the algorithm. To make it easier to send text files quicker and efficient place. Text file compression is done by using an algorithm to encode text Ternary Comma Code, which then performs the compression process. Ternary Comma Code algorithm, binary (base 2) numbers are based on the two bits 0 and 1. Similarly, ternary (base 3) numbers are based on the three digits (trits) 0, 1, and 2. Each trit can be encoded in two bits, but two bits can have four values. Thus, it makes sense to work with a ternary number system where each trit is represented by two bits and in addition to the three trits there is a fourth symbol, a comma (c). Once we include the (c), it becomes easy to construct the ternary comma code for the integers. The end result of the compression is a file extension *.tcc that can be decompressed. The output of this decompression is a new file that consists of a file header and body files that contain code encoding and compression results of the original text file that can be saved with the original file extension *.txt. Comparative ratios used are Ratio of Compression (RC), Compression Ratio (CR), Space Savings (SS), time compression and decompression process (ms). Keywords : Compression, File Text, Ternary Comma Code Algorithms, Android.
DAFTAR ISI Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Daftar Lampiran Halaman iii iv v vii viii ix xi xii xiv BAB 1 PENDAHULUAN 1.1. Latar Belakang 1 1.2. Rumusan Masalah 2 1.3. Batasan Masalah 2 1.4. Tujuan Penelitian 3 1.5. Manfaat Penelitian 3 1.6. Metodologi Penelitian 3 1.7. Sistematika Penulisan 4 BAB 2 TINJAUAN PUSTAKA 2.1 Kompresi Data 5 2.2 Jenis Kompresi Data 6 2.3 Teknik Kompresi 8 2.4 Parameter Analisis Kompresi 8 2.5 File Text 10 2.5.1 Format Teks 11 2.6 Algoritma Ternary Comma Code 12 2.7 Kompleksitas Algoritma 13 2.8 Platform Android 14 2.9 Penelitian Relevan 15
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem 16 3.1.1 Analisis Masalah 16 3.1.2 Analisis Kebutuhan Sistem 17 3.1.3 Analisis Proses 19 3.2 Pemodelan Sistem 24 3.2.1 Use Case Diagram 24 3.2.2 Activity Diagram 25 3.2.3 Sequence Diagram 27 3.3 Perancangan Sistem 29 3.3.1 Perancangan alur proses sistem kompresi, 29 dekompresi dan algoritma 3.3.2 Perancangan Alur Proses Untuk Membangkitkan 32 Kode Ternary Comma Code 3.3.3 Perancangan Antarmuka Sistem 32 BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Sistem 39 4.1.1 Tab Home 39 4.1.2 Tab Menu 40 4.1.3 Tab Compress 41 4.1.4 Tab Decompress 42 4.1.5 Tab Help 43 4.1.6 Tab About 46 4.2 Pengujian Sistem 47 4.2.1 Pengujian proses kompresi 47 4.2.2 Pengujian proses dekompresi 50 4.3 Hasil Pengujian 52 4.4 Hasil Perhitungan Kompleksitas Big Theta (ɵ) 60 BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan 61 5.2 Saran 61 Daftar Pustaka
DAFTAR TABEL Tabel 2.1 Algortima Ternary Comma Code dan Panjangnya 13 Tabel 3.1 Character Set 20 Tabel 3.2 String yang belum dikompresi dengan Ternary Comma Code 20 Tabel 3.3 String yang telah dikompresi dengan Ternary Comma Code 23 Tabel 4.1 Hasil Pengujian String Homogen & String Heterogen 53 menggunakan file txt dengan Ternary Comma Code Tabel 4.2 Perhitungan Big Theta (Ɵ) Ternary Comma Code 60
DAFTAR GAMBAR Gambar 3.1 Diagram Ishikawa Analisis Masalah 17 Gambar 3.2 Use Case Diagram Sistem 25 Gambar 3.3 Activity Diagram Proses Kompresi 26 Gambar 3.4 Activity Diagram Proses Dekompresi 27 Gambar 3.5 Sequence Diagram Proses Kompresi 28 Gambar 3.6 Sequence Diagram Proses Dekompresi 28 Gambar 3.7 Flowchart Diagram Proses Kompresi 30 Gambar 3.8 Flowchart Diagram Proses Dekompresi 30 Gambar 3.9 Flowchart Diagram Pembentukan Algoritma 31 Ternary Comma Code (TCC) Gambar 3.10 Form Home pada sistem 33 Gambar 3.11 Form Menu pada sistem 34 Gambar 3.12 Form Compress pada sistem 35 Gambar 3.13 Form Decompress pada sistem 36 Gambar 3.14 Form Help pada sistem 37 Gambar 3.15 Form About pada sistem 38 Gambar 4.1 Tab Home 40 Gambar 4.2 Tab Menu 41 Gambar 4.3 Tab Compress 42 Gambar 4.4 Tab Decompress 43 Gambar 4.5 Tab Help 44 Gambar 4.6 Tab Help Information Compression 45 Gambar 4.7 Tab Help Information Decompression 46 Gambar 4.8 Tab About 47 Gambar 4.9 Aplikasi Setelah File Input dan Output Ditentukan 48 Gambar 4.10 Informasi Hasil Kompresi 49 Gambar 4.11 File Ternary Comma Code Hasil Kompresi 50 Gambar 4.12 Aplikasi Setelah File Input dan Output Ditentukan 51 Gambar 4.13 Informasi Hasil Dekompresi 52
Gambar 4.14 Grafik Ratio Of Compression Terhadap String Homogen 54 Gambar 4.15 Grafik Compression Ratio Terhadap String Homogen 55 Gambar 4.16 Grafik Space Savings Terhadap String Homogen 55 Gambar 4.17 Grafik Waktu Kompresi Terhadap String Homogen 56 Gambar 4.18 Grafik Waktu dekompresi Terhadap String Homogen 56 Gambar 4.19 Grafik Ratio Of Compression Terhadap String Heterogen 57 Gambar 4.20 Grafik Compression Ratio Terhadap String Heterogen 58 Gambar 4.21 Grafik Space Savings Terhadap String Heterogen 58 Gambar 4.22 Grafik Waktu Kompresi Terhadap String Heterogen 59 Gambar 4.23 Grafik Waktu dekompresi Terhadap String Heterogen 59
DAFTAR LAMPIRAN A Listing Program A-1 B Curriculum Vitae B-1 Halaman