MEDAN
2016
PADA FILE .DOC
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
Oleh : DESY H HUSNI
141421106
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN
PERSETUJUAN
Judul : IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI PUNCTURED ELIAS CODES DAN TERNARY COMMA CODE PADA FILE .DOC
Kategori : SKRIPSI
Nama : DESY H HUSNI
Nomor Induk Mahasiswa : 141421106
Program Studi : EKSTENSI S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Juni 2016 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
M. Andri Budiman, S.T., M.Comp.Sc., M.E.M Dr. Syahril Efendi, S.Si, M.IT NIP. 197510082008011011 NIP. 196711101996021001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
PERNYATAAN
IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI PUNCTURED ELIAS CODES DAN TERNARY COMMA CODE
PADA FILE .DOC
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Juni 2016
Desy H Husni 1414121106
PENGHARGAAN
Alhamdulillah segala puji dan syukur atas nikmat yang luas kepada Allah Yang Maha Esa dan Maha Kuasa sehingga 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 Universitas Sumatera Utara. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Bapak Prof. DR. Runtung Sitepu, SH, MHum selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
5. Ibu Dian Rachmawati, S.Si, M.Kom selaku Koordinator Ekstensi Ilmu Komputer Universitas Sumatera Utara.
6. Bapak Dr. Syahril Efendi, S.Si., M.IT selaku Dosen Pembimbing I yang telah memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam pengerjaan skripsi ini.
7. M. Andri Budiman, S.T., M.Comp.Sc., M.E.M selaku Dosen Pembimbing II yang telah memberikan arahan, waktu, tenaga, pikiran, kritik dan saran serta motivasi kepada penulis dalam pengerjaan skripsi ini.
8. Bapak Drs. Agus Salim Harahap, M.Si selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan laporan skripsi serta mendukung penuh dalam penyusunan skiripsi
9. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
10. Seluruh dosen dan pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
11. Teristimewa kedua orang tua penulis yang tercinta, ibunda Safliati, SST, M.Kes dan ayahanda Husni, SE yang tidak henti-hentinya memberikan doa, motivasi, serta masukan yang menjadikan semangat untuk penulis.
12. Abang, Kakak dan adik-adik tersayang Iswandi, SH, MH, Nurul Hikmah, AmdKeb, Octa Sya Husni dan Al Faredz Husni yang selalu mendoakan serta memberikan semangat kepada penulis dalam menyelesaikan skripsi ini.
13. Teman–teman mahasiswa S1 Ekstensi Ilmu Komputer stambuk 2014 yang selalu memberi dukungan.
14. Sahabat seperjuangan saya, Dea Yulianda Pratiwi, Ogiana, Nadra Katika Lingga, Yulni Witriza yang selalu memberikan semangat untuk cepat lulus dan menjadi teman diskusi dalam penyelesaian skripsi ini.
15. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, kepada pembaca agar kiranya memberikan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini, sehingga dapat bermanfaat bagi kita semuanya.
Medan, Juni 2016
ABSTRAK
Kompresi data adalah proses yang mengkonversi sebuah masukan berupa aliran data (data asli) menjadi suatu aliran data lain (data yang sudah dikompresi) yang memiliki ukuran lebih kecil. Punctured Elias Codes dan Ternary Comma Code adalah jenis kompresi lossless yang digunakan dalam penelitian ini. Parameter yang digunakan untuk mengukur kinerja metode ini yaitu Ratio of Compression (RC), Compression Ratio (CR), Space Savings (SS) dan Time Process (jumlah waktu yang dibutuhkan selama proses kompresi dan dekompresi berlangsung). Kompresi file dilakukan dengan membaca string pada file dan mengkodekannya menggunakan kode Punctured Elias Codes dan Ternary Comma Code. File hasil kompresi akan berekstensi *.pec dan *.tcc yang berisi string bit hasil kompresi yang selanjutnya akan bisa didekompresi. Output dari dekompresi akan berekstensi *.doc sesuai file aslinya sebelum dikompresi. Sampel pengujian yang digunakan adalah string bit yang terdiri dari satu jenis karakter (Homogen) dan string bit yang terdiri dari beberapa jenis karakter (Heterogen) yang tersimpan dalam file yang berekstensi *.doc. Pada sampel pengujian string homogen, dilihat dari perhitungan RC, CR dan SS algoritma Punctured Elias Codes dan Ternary Comma Code hampir sama baiknya, namun waktu kompresi dan dekompresi yang dihasilkan algoritma Ternary Comma Code lebih besar dibandingkan dengan algoritma Punctured Elias Codes. Pada sampel pengujian string heterogen, dilihat dari perhitungan RC, CR, SS, waktu kompresi dan dekompresi yang dihasilkan algoritma Punctured Elias Codes dan Ternary Comma Code hampir sama baiknya.
Kata Kunci : Kompresi, Kompresi File, Algoritma Punctured Elias Codes dan Ternary Comma Code.
IMPLEMENTATION AND ANALYSIS OF COMPRESSION ALGORITHMS PUNCTURED ELIAS CODES AND TERNARY COMMA CODE
IN .DOC FILE
ABSTRACT
Data compression is the process that converts an input of the flow of a data stream (original data) into a flow of other data (data was compressed) which has the smaller size. Punctured Elias Codes and Ternary Comma Code is the kind of compress used in this research while the paramater use to measure the process of Ratio of Compression (RC), Compression Ratio (CR), Space Savings (SS), Time Process (amount of time used during the compress process). In addition, compress for file is with reading or analizing the string of the file and the code is used code Punctured Elias Codes and Ternary Comma Code. The result of compress file will extension *.pec and *.tcc bit string that contains the results of compression that would be decompression. The output of the corresponding *.doc with extension will decompress the original file before it is compressed. The sample of the research used is string bit which are divided into one type of character (Homogen) and others are several types of characters (Heterogen) that is saved into an file with extension *.doc. on the sample testing of homogeny string, as seen from the calculation of RC, CR and SS Punctured Elias Codes and Ternary Comma Code algorithms almost as good, but compression time and decompression time generated Ternary Comma Code greater than Punctured Elias Codes. On the sample testing of heterogen string, seen from the calculation of RC, CR, SS, compression time and decompression time produced Punctured Elias Codes and Ternary Comma Code algorithms almost as good.
Keywords : Compression, Compression File, Punctured Elias Codes and Ternary Comma Code Algorithms.
DAFTAR ISI Halaman Persetujuan ii Pernyataaan iii Penghargaan iv Abstrak vi Abstract vii
Daftar Isi viii
Daftar Tabel x Daftar Gambar xi BAB 1 PENDAHULUAN 1 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 6
2.1 Kompresi 6
2.2.1 Teknik Kompresi Data 7
2.2.2 Parameter Analisis Kinerja Algoritma Kompresi 9
2.3 Dekompresi 10
2.4 Algoritma Punctured Elias Codes 11
2.5 Algoritma Ternary Comma Code 12
2.6 File Teks 13
2.7 Bahasa Pemrograman C# 14
2.8 UML (Unifed Modelling Language) 16
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 20
3.1 Analisis Sistem 20
3.1.1 Analisis Masalah 20
3.1.2 Analisis Kebutuhan 22
3.1.3 Analisis Proses 23
3.1.3.1 Analisis Proses Kompresi Pada Algoritma Punctured Elias Codes
3.1.2.2 Analisis Proses Kompresi Pada Algoritma
Ternary Comma Code 26
3.1.3.3 Analisis Proses Dekompresi Pada Algoritma
Punctured Elias Codes dan Ternary Comma Code 29
3.2 Pemodelan Sistem 31
3.2.1 Use Case Diagram 31
3.2.2 Activity Diagram 33
3.2.3 Sequence Diagram 35
3.2.4 Class Diagram 35
3.3 Perancangan Sistem 38
3.3.1 Perancangan Alur Proses Sistem Secara Umum 38 3.3.2 Perancangan Alur Proses Kompresi Dan Dekompresi 41 3.3.2.1 Perancangan Alur Proses Kompresi 41 3.3.2.2 Perancangan Alur Proses Dekompresi Algoritma Punctured Elias Codes dan Ternary Comma Code 44 3.3.2.3 Perancangan Sistem Antarmuka 45
BAB 4 Implementasi dan Pengujian Sistem 53
4.1 Implementasi Sistem 53
4.1.1 Form Home 53
4.1.2 Form Compression 54
4.1.3 Form Decompression 55
4.1.4 Form About Application 56
4.1.5 Form Profile 57
4.2 Pengujian Sistem 58
4.2.1 Pengujian Proses Kompresi 58
4.2.2 Pengujian Proses Dekompresi 62
4.3 Hasil Pengujian 68
BAB 5 KESIMPULAN DAN SARAN 71
5.1 Kesimpulan 71
5.2 Saran 72
DAFTAR PUSTAKA LAMPIRAN
DAFTAR TABEL
Halaman
Tabel 2.1 Punctured Elias Codes 12
Tabel 2.2 Ternary Comma Code 13
Tabel 3.1 Sebab Dan Akibat 21
Tabel 3.2 Punctured Elias Codes 24
Tabel 3.3 String Yang Belum Dikompresi 24
Tabel 3.4 String Yang Telah Diurutkan Secara Descending Dan Table Sorted Dan Telah Dikompresi Dengan Kode Punctured (P1) 25
Tabel 3.5 Ternary Comma Code 26
Tabel 3.6 String Yang Belum Dikompresi 27
Tabel 3.7 String Yang Telah Diurutkan Secara Descending Dan Table Sorted Dan Telah Dikompresi Dengan Kode Ternary Comma
Code 28
Tabel 3.8 Tabel Hasil Bit String Setelah Dikompresi
Menggunakan Kode Punctured Elias Codes (P1) 30 Tabel 3.9 Dokumentasi Naratif Use Case Kompresi 32 Tabel 3.10 Dokumentasi Naratif Use Case Dekompresi 33 Tabel 4.1 Hasil Pengujian 1 String Homogen Dengan
Punctured Elias Codes 68
Tabel 4.2 Hasil Pengujian 2 String Homogen Dengan
Ternary Comma Code 68
Tabel 4.3 Hasil Pengujian 3 String Heterogen Dengan
Punctured Elias Codes 69
Tabel 4.4 Hasil Pengujian 4 String Heterogen Dengan
DAFTAR GAMBAR
Halaman
Gambar 2.1 Kompresi dan Rekontruksi 8
Gambar 2.2 Kompresi Lossless 9
Gambar 2.3 Kompresi Lossy 9
Gambar 2.4 Kompresi dan Dekompresi 11
Gambar 3.1 Diagram Ishikawa 22
Gambar 3.2 Daigram Use Case 31
Gambar 3.3 Diagram Activity 34
Gambar 3.4 Diagram Sequence Kompresi 35
Gambar 3.5 Diagram Sequence Dekompresi 35
Gambar 3.6 Diagram Class 38
Gambar 3.7 Flowchart Punctured Elias Codes Secara Umum Pada Sistem 39 Gambar 3.8 Flowchart Ternary Comma Code Secara Umum Pada Sistem 40 Gambar 3.9 Flowchart Proses Kompresi Dengan Algoritma
Punctured Elias Codes 42
Gambar 3.10 Flowchart Proses Kompresi Dengan Algoritma
Ternary Comma Code 43
Gambar 3.11 Flowchart Dekompresi Algoritma PEC dan TCC Secara
Universal 44
Gambar 3.12 Form Home 45
Gambar 3.13 Menu Item Compression, Decompression dan Exit 46 Gambar 3.14 Menu Item About Apliccation dan Profile 47
Gambar 3.15 Form Compression 48
Gambar 3.16 Form Decompression 49
Gambar 3.17 Form About Application 51
Gambar 3.18 Form Halaman Profile 52
Gambar 4.1 Gambar Form Home 54
Gambar 4.2 Gambar Form Compression 55
Gambar 4.3 Gambar Form Decompression 56
Gambar 4.4 Gambar Form About Application 57
Gambar 4.5 Gambar Form Profile 58
Gambar 4.6 Gambar Pemilihan Algoritma Kompresi 59
Gambar 4.7 Gambar Open File Dialog 60
Gambar 4.8 Gambar Save File Dialog 60
Gambar 4.9 Gambar Path Pada Masing-Masing Teks Box 61
Gambar 4.10 Gambar Hasil Proses Kompresi 62
Gambar 4.11 Gambar File Hasil Proses Kompresi (*.pec) 62 Gambar 4.12 Gambar Pemilihan Algoritma Dekompresi 63
Gambar 4.13 Gambar Open File Dialog 64
Gambar 4.14 Gambar Setelah File Berhasil Dipilih 64 Gambar 4.15 Gambar Ketikan atau Copy-Paste String Asli 65
Gambar 4.16 Gambar Save File Dialog 66 Gambar 4.17 Gambar Path Pada Masing-Masing Teks Box 66
Gambar 4.18 Gambar Hasil Proses Kompresi 67
Gambar 4.19 Gambar Ukuran File Asli Sebelum Dikompresi 67 Gambar 4.20 Gambar Ukuran File Asli Setelah Dikompresi 67 Gambar 4.21 Gambar Ukuran File Setelah Didekompresi 68 Gambar 4.22 Grafik Kedua Algoritma Menggunakan String Homogen
Dengan Ukuran File 30 kb 69 Gambar 4.14 Grafik Kedua Algoritma Menggunakan String Heterogen