ANALISIS KINERJA ALGORITMA GOLDBACH CODES DENGAN ALGORITMA VARIABLE LENGTH BINARY ENCODING (VLBE) DALAM KOMPRESI FILE TEKS SKRIPSI

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

BAB 2 TINJAUAN PUSTAKA

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

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

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

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

BAB 2 TINJAUAN PUSTAKA

PERBANDINGAN ALGORITMA EVEN-RODEH CODE DAN ALGORITMA VARIABLE LENGTH BINARY ENCODING (VLBE) PADA KOMPRESI FILE TEKS SKRIPSI

BAB III PERANCANGAN SISTEM

BAB 2 TINJAUAN PUSTAKA

IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DAN KOMPRESI DATA MENGGUNAKAN ALGORITMA LEVENSTEIN DALAM PENGAMANAN FILE TEKS SKRIPSI

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

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

IMPLEMENTASI STEGANOGRAFI HOPPING SPREAD SPECTRUM KE DALAM FILE VIDEO SKRIPSI

IMPLEMENTASI ALGORITMA HUFFMAN CODING DAN METODE LEAST SIGNIFICANT BIT(LSB) UNTUK PENYEMBUNYIAN CITRA BMP KE CITRA BMP JOHAN SURYA

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

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

SKRIPSI SURI SYAHFITRI

IMPLEMENTASI ALGORITMA KNUTH-MORRIS-PRATH STRING MATCHING UNTUK MENCARI KATA ATAU ISTILAH PADA KAMUS KOMPUTER BERBASIS ANDROID.

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI DAN ANALISIS ALGORITMA KOMPRESI TERNARY COMMA CODE DALAM KOMPRESI FILE TEXT PADA PLATFORM ANDROID SKRIPSI SITI SOENDARI UTAMI

UNIVERSITAS BINA NUSANTARA

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

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

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

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

IMPLEMENTASI ALGORITMA BRUTE FORCE DAN ALGRITMA KNUTH-MORRIS-PRATT (KMP) DALAM PENCARIAN WORD SUGGESTION SKRIPSI ADLI ABDILLAH NABABAN

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

ANALISIS PERBANDINGAN KOMPRESI CITRA MENGUNAKAN ALGORITMA TRANSFORMASI WALSH-HADAMARD DENGAN RUN LENGTH ENCODING(RLE) DRAFT SKRIPSI

BAB 2 TINJAUAN PUSTAKA

ANALISIS DAN IMPLEMENTASI ALGORITMA KRIPTOGRAFI PLAYFAIR CIPHER DAN ALGORITMA KOMPRESI RUN LENGTH ENCODING DALAM PENGAMANAN DAN KOMPRESI DATA TEKS

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

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

PENYANDIAN DATA TEKS DENGAN ALGORITMA ELGAMAL DAN ALGORITMA KOMPRESI DATA DENGAN ALGORITMA ELIAS GAMMA CODE SKRIPSI WIWIN AGUSTINI LUBIS

PERBANDINGAN KUALITAS CITRA HASIL KOMPRESI METODE RUN LENGTH ENCODING DENGAN TRANSFORMASI WAVELET DAUBECHIES PADA CITRA DIGITAL SKRIPSI

BAB 2 LANDASAN TEORI

ANALISIS PERBANDINGAN ALGORITMA QUICKSORT, 3 WAY QUICKSORT, DAN RADIXSORT SKRIPSI PLOREN PERONICA PASARIBU

ANALISIS PERBANDINGAN KOMPRESI CITRA MENGGUNAKAN METODE JOINT PHOTOGRAPHIC EXPERTS GROUP (JPEG) DAN BURROWS-WHEELER TRANSFORM (BWT) SKRIPSI

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

Universitas Sumatera Utara

BAB 2 LANDASAN TEORI

IMPLEMENTASI STEGANOGRAPHY NATURE OF WHITESPACE (SNOW) BERBASIS WEB MENGGUNAKAN METODE WHITESPACE SKRIPSI POPPY TANIA

ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY

BAB 1 PENDAHULUAN Latar Belakang

SISTEM PENDUKUNG KEPUTUSAN PENENTUAN KELAYAKAN CALON ASISTEN LABORATORIUM BERBASIS ANDROID MENGGUNAKAN ALGORITMA ITERATIVE DICHOTOMISER 3 (ID3)

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

PERBANDINGAN ALGORITMA KNUTH MORRIS PRATT DAN BOYER MOORE PADA APLIKASI KAMUS BAHASA INDONESIA-KOREA BERBASIS ANDROID SKRIPSI

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

IMPLEMENTASI METODE GENERATE AND TEST DALAM PENYELESAIAN PUZZLE 2048 BERBASIS MOBILE SKRIPSI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang

BAB 2 TINJAUAN PUSTAKA

PERBANDINGAN ALGORITMA STRING MATCHING NOT SO NAIVE DAN SKIP SEARCH PADA PLATFORM ANDROID SKRIPSI RICKY WIJAYA

ANALISIS ASIMTOTIK DAN REAL TIME MENGGUNAKAN ALGORITMA L-DEQUE DALAM MENENTUKAN JARAK TERPENDEK ANTAR KANTOR CABANG BANK MANDIRI DI KOTA MEDAN SKRIPSI

IMPLEMENTASI ALGORITMA KUNCI PUBLIK LUC DAN ALGORITMA KOMPRESI GOLDBACH CODES UNTUK PERANCANGAN APLIKASI PENGAMANAN DAN KOMPRESI FILE PDF SKRIPSI

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

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

PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013

IMPLEMENTASI KOMPRESI DATA TEXT MENGGUNAKAN HUFFMAN CODING

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

PERBANDINGAN STEGANOGRAFI DATA TEKS KE DALAM FILE AUDIO MENGGUNAKAN ALGORITMA LEAST SIGNIFICANT BIT (LSB) DAN MODIFIED LEAST SIGNIFICANT BIT (MLSB)

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014

PROGRAM STUDI S1 ILMU KOMPUTER

SKRIPSI AGUS PRABOWO PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016

IMPLEMENTASI ALGORITMA TRITHEMIUS DENGAN ALGORITMA RICE DALAM PENGAMANAN DAN KOMPRESI FILE TEKS SKRIPSI RAJA ARIF HIDAYAH HARAHAP

ANALISIS PERBANDINGAN HASIL ALGORITMA HOMOGENEITY DAN ALGORITMA PREWITT UNTUK DETEKSI TEPI PADA CITRA BMP SKRIPSI ZULFADHLI HARAHAP

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

STUDI KOMPARASI KINERJA ALGORITMA GOLDBACH G1 CODE DAN ALGORITMA UNARY CODES DALAM KOMPRESI TEKS SKRIPSI WINDA APRIANTI HARAHAP

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

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

PERBANDINGAN ALGORITMA APRIORI DAN ALGORITMA CT-Pro PADA KOMODITAS EKSPOR DAN IMPOR SKRIPSI ELISA SEMPA ARIHTA KABAN

IMPLEMENTASI METODE ARITHMETIC MEAN FILTER DAN KOMPRESI CITRA MENGGUNAKAN METODE RUN LENGTH ENCODING (RLE) SKRIPSI RETRI WITRA NASTITI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

BAB III ANALISIS DAN PERANCANGAN

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

ANALISIS DAYA SERAP CITRA PADA PESAN BERBAHASA INDONESIA MENGGUNAKAN PENCOCOKAN WARNA GABRIEL ARDI HUTAGALUNG

1. PENDAHULUAN 1.1. Latar Belakang Masalah

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

BAB 2 TINJAUAN PUSTAKA

ANALISIS DUPLICATE FILE FINDER MENGGUNAKAN METODE MD5 HASH SKRIPSI WAHYUNI FARAH JUWITA

IMPLEMENTASI RUBY GAME SCRIPTING SYSTEM PADA GAME LUDO SKRIPSI DICKO IFENTA

ANALISIS KOMPRESI CITRA DIGITAL DENGAN METODE FRAKTAL SKRIPSI DEVI TRIANA

SKRIPSI RAHMAN KURNANDA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

PENERAPAN ALGORITMA MONTE CARLO TREE SEARCH PADA PERMAINAN HALMA SKRIPSI VINCENTIUS

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

SKRIPSI BILQIS

IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) SKRIPSI ANDRUS

KOMPRESI TEKS MENGGUNAKAN ALGORITMA DAN POHON HUFFMAN. Nama : Irfan Hanif NIM :

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

IMPLEMENTASI METODE KUANTISASI PADA KOMPRESI DAN DEKOMPRESI CITRA BITMAP DAN JPEG SKRIPSI WINDA DIAN LUCA HSB

Transkripsi:

ANALISIS KINERJA ALGORITMA GOLDBACH CODES DENGAN ALGORITMA VARIABLE LENGTH BINARY ENCODING (VLBE) DALAM KOMPRESI FILE TEKS SKRIPSI MHD. CITRA ALI PASARIBU 121421002 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017

ANALISIS KINERJA ALGORITMA GOLDBACH CODES DENGAN ALGORITMA VARIABLE LENGTH BINARY ENCODING (VLBE) DALAM KOMPRESI FILE TEKS SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer MHD. CITRA ALI PASARIBU 121421002 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017

PERSETUJUAN Judul Kategori Nama Nomor Induk Mahasiswa : 121421002 Program Studi : ANALISIS KINERJA ALGORITMA GOLDBACH CODES DENGAN VARIABLE LENGTH BINARY ENCODING (VLBE) DALAM KOMPRESI FILE TEKS : SKRIPSI : MHD. CITRA ALI PASARIBU : EKSTENSI S1 ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI Komisi Pembimbing : INFORMASI UNIVERSITAS SUMATERA UTARA Pembimbing 2 Pembimbing 1 Dian Rachmawati, S.Si, M.Kom. Dr. Syahril Efendi, S.Si, M.IT NIP. 19830723 200912 2 002 NIP. 196711s10 199602 1 001 Diketahui/disetujui oleh Program Studi Ekstensi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 19620217 199103 1 001

PERNYATAAN ANALISIS PERBANDINGAN KINERJA ALGORITMA GOLDBACH CODES DENGAN VARIABLE LENGTH BINARY ENCODING (VLBE) DALAM KOMPRESI FILE TEKS SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, 24 Februari 2017 Mhd. Citra Ali Pasaribu NIM. 121421002

PENGHARGAAN Puji Syukur Penulis ucapkan ke hadirat Tuhan Yang Maha Esa, yang masih memberikan kesempatan dan kesehatan kepada Penulis sehingga Skripsi ini dapat diselesaikan dalam waktu yang telah ditetapkan. Dalam proses penulisan Proposal Tugas Akhir ini, Penulis banyak mengalami kesulitan dan hambatan, namun berkat bantuan dan bimbingan dari berbagai pihak yang diberikan kepada Penulis, akhirnya Penulis dapat menyelesaikan Skripsi ini. Pada kesempatan ini Penulis ingin mengucapkan banyak terima kasih yang sebesarsebesarnya kepada: 1. Bapak Prof. Dr. Runtung, SH, 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 Ketua Program Studi S1 Ilmu Komputer. 4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer. 5. Bapak Dr. Syahril Efendi, S.Si, M.IT selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran dan masukan kepada Penulis dalam pengerjaan skripsi ini. 6. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini.

7. Bapak Prof. Dr. Muhammad Zarlis, M.Sc selaku Dosen Pembanding I yang telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini. 8. Bapak Herriyance, S.T, M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini. 9. Semua dosen dan semua pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 10. Terkhusus Penulis ucapkan terima kasih yang sebesar-besarnya kepada kedua Orang Tua Penulis, J. A. Pasaribu (Ayahanda) dan Rubinab (Ibunda) yang dengan keikhlasan dan ketulusan hatinya membesarkan, mendidik, memberikan doa restu, cinta kasih, pengorbanan, dan dukungan, baik dukungan moril maupun materil yang diberikan kepada Penulis. 11. Teman-teman mahasiswa Ekstensi S1-Ilmu Komputer stambuk 2012 yang telah memberikan semangat dan menjadi teman diskusi penulis dalam menyelesaikan skripsi ini. 12. 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 masih terdapat kekurangan pada Skripsi ini. 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, Februari 2017 Penulis, ( Mhd. Citra Ali Pasaribu )

ABSTRAK Kompresi merupakan sebuah teknik yang dilakukan untuk mengurangi ukuran data sehingga mempercepat proses pemindahan data dan mengurangi kapasitas memori yang dibutuhkan. Dalam penelitian ini teknik kompresi dilakukan menggunakan algoritma Goldbach G0 Code dan algoritma Variable Length Binary Encode (VLBE) untuk mengetahui algoritma mana yang lebih baik untuk melakukan kompresi file teks. Pada proses pengujian kompresi dilakukan 3 (tiga) tes terhadap masing-masing algoritma yaitu, file teks disisipkan string dengan jumlah karakter yang berbeda dan setiap karakter hanya memiliki frekuensi satu kali, file teks disisipkan string dengan jumlah karakter sama dan frekuensi berbeda, dan file teks disisipkan string kalimat. Dari ketiga tes disimpulkan bahwa ketika jumlah karakter < 6 algoritma VLBE lebih baik untuk melakukan kompresi file teks, namun ketika jumlah karakter 6 algoritma Goldbach G0 Code yang lebih baik. Kata Kunci :Kompresi File Teks, Variable Length Binary Encoding, Goldbach Codes, G0 Code.

ANALYSIS OF PERFORMANCE GOLDBACH CODES ALGORITHM AND VARIABLE LENGTH BINARY ENCODING (VLBE) ALGORITHM IN FILE TEXT COMPRESSION ABSTRACT Compression is a technique performed to reduce the size of data so that the process of data transmission can be accelerate and to reduces the memory capacity needed. The purpose of this study was to compare the performance between Goldbach G0 Code algorithm and Variable Length Binary Encoding (VLBE) algorithm in compressing a text file. In the testing process, the compression tested with 3(three) kind of test on each algorithms. First, the text file will be inserted string with different number of characters and each character of string only has one frequency. Second, the text file will be inserted string with the same number of characters and each string has different frequency and third, the text file will be inserted a sentence kind of string. Of the three tests concluded that when the number of characters is less than 6, VLBE algorithm is better than Goldbach G0 Code algorithm to perform text compression. However, when the number of characters is greater equal to 6, Goldbach G0 Code algorithm is better than VLBE algorithm. Keywords: Text Compression, Variable Length Binary Encoding, Goldbach Codes, G0 Code.

DAFTAR ISI Halaman Persetujuan... ii Pernyataan... iii Penghargaan... iv Abstrak... vi Abstract... vii Daftar Isi... viii Daftar Tabel... x Daftar Gambar... xi Daftar Lampiran... xiii BAB 1 PENDAHULUAN 1.1. Latar Belakang... 1 1.2. Rumusan Masalah... 1 1.3. Batasan Masalah... 2 1.4. Tujuan Penelitian... 2 1.5. Manfaat Penelitian... 2 1.6. Metodologi Penelitian... 3 1.7. Sistematika Penulisan... 3 BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data... 5 2.2. Goldbach Codes... 6 2.3. Variable Length Binary Encoding (VLBE)... 7 2.4. Parameter Analisis Kompresi... 9 2.5. File Text... 10 BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1. Analisis Sistem... 12 3.1.1. Identifikasi Masalah... 12 3.1.2. Analisis Kebutuhan Sistem... 13

3.1.3. Analisis Proses... 14 3.2. Pemodelan Sistem... 25 3.2.1. Use-Case Diagram... 25 3.2.2. Activity Diagram... 26 3.2.3. Sequence Diagram... 33 3.3. Perancangan Sistem... 35 3.3.1. Bagan Alir Sistem (Flowchart)... 35 3.3.2. Antarmuka Sistem (Interface)... 40 BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1. Implementasi Sistem... 43 4.1.1. Form Menu Utama... 43 4.1.2. Form Menu Kompresi dengan Algoritma Goldbach G0 Code. 44 4.1.3. Form Menu Kompresi dengan Algoritma VLBE... 45 4.1.4. Form Menu Dekompresi... 46 4.2. Pengujian Sistem... 47 4.2.1. Pengujian Proses Kompresi... 47 4.2.2. Pengujian Proses Dekompresi... 50 4.3. Hasil Pengujian... 53 4.3.1. Pengujian I... 53 4.3.2. Pengujian II... 54 4.3.3. Pengujian III... 58 4.4. Kompleksitas Algoritma... 56 4.4.1. Kompleksitas algoritma Goldbach G0 Code... 60 4.4.2. Kompleksitas algoritma VLBE... 62 BAB 5 KESIMPULAN DAN SARAN 5.1. Kesimpulan... 63 5.2. Saran... 64

DAFTAR TABEL Halaman Tabel 2.1. Algoritma Goldbach G0 Code... 6 Tabel 2.2. Data Sebelum Dikompresi... 8 Tabel 2.3. Data Setelah Dikompresi... 8 Tabel 3.1. Data Sebelum Dikompresi... 15 Tabel 3.2. Total Bit Setelah Dikompresi Algoritma Goldbach G0 Code... 17 Tabel 3.3. Total Bit Setelah Dikompresi Algoritma VLBE... 21 Tabel 4.1. Hasil Pengujian I terhadap Algoritma Goldbach G0 Code... 53 Tabel 4.2. Hasil Pengujian I terhadap Algoritma VLBE... 53 Tabel 4.3. Hasil Pengujian II terhadap Algoritma Goldbach G0 Code... 54 Tabel 4.4. Hasil Pengujian II terhadap Algoritma VLBE... 54 Tabel 4.5. Data Sebelum Dikompresi... 58 Tabel 4.6. Hasil Pengujian III terhadap Algoritma Goldbach G0 Code dan VLBE 59 Tabel 4.7. Kompleksitas Algoritma Goldbach G0 Code... 60 Tabel 4.8. Kompleksitas Algoritma VLBE... 62

DAFTAR GAMBAR Halaman Gambar 2.1. Compressor dan Decompressor... 5 Gambar 3.1. Diagram Ishikawa untuk Identifikasi Masalah... 12 Gambar 3.2. Use Case Diagram Sistem... 25 Gambar 3.3. Activity Diagram Choose Algorithm... 26 Gambar 3.4. Activity Diagram Open File Text... 27 Gambar 3.5. Activity Diagram Save File Compressed dan Save File Header... 27 Gambar 3.6. Activity Diagram Compress pada Algoritma Goldbach G0 Code... 28 Gambar 3.7. Activity Diagram Compress pada Algoritma VLBE... 29 Gambar 3.8. Activity Diagram Clear... 30 Gambar 3.9. Activity Diagram Choose Algorithm... 30 Gambar 3.10. Activity Diagram Open File Compressed... 31 Gambar 3.11. Activity Diagram Save File Text... 31 Gambar 3.12. Activity Diagram Decompress... 32 Gambar 3.13. Activity Diagram Clear... 33 Gambar 3.14. Sequence Diagram Kompresi Algoritma Goldbach G0 Code... 33 Gambar 3.15. Sequence Diagram Kompresi Algoritma VLBE... 34 Gambar 3.16. Sequence Diagram Dekompresi Algoritma Goldbach G0 Code... 34 Gambar 3.17. Sequence Diagram Dekompresi Algoritma VLBE... 35 Gambar 3.18. Flowchart Sistem Secara Umum... 36 Gambar 3.19. Flowchart Kompresi Goldbach G0 Code... 37 Gambar 3.20. Flowchart Kompresi VLBE... 38 Gambar 3.21. Flowchart Dekompresi Algoritma Goldbach G0 Code dan VLBE... 39 Gambar 3.22. Halaman Utama... 40 Gambar 3.23. Halaman Kompresi... 41 Gambar 3.24. Halaman Dekompresi... 42 Gambar 4.1. Tampilan Form Menu Utama... 44 Gambar 4.2. Tampilan Form Menu Goldbach G0 Code... 45 Gambar 4.3. Tampilan Form Menu VLBE... 46 Gambar 4.4. Tampilan Form Menu Dekompresi... 47

Gambar 4.5. Tampilan Kotak Dialog Input File... 48 Gambar 4.6. Tampilan Kotak Dialog Simpan File Kompresi... 48 Gambar 4.7. Tampilan Kotak Dialog Simpan File Header... 49 Gambar 4.8. Tampilan Hasil Kompresi... 50 Gambar 4.9. Tampilan Kotak Dialog Input File Terkompresi... 51 Gambar 4.10. Tampilan Kotak Dialog Input File Header... 51 Gambar 4.11. Tampilan Direktori Simpan File Terdekompresi... 52 Gambar 4.12. Tampilan Hasil Dekompresi... 52 Gambar 4.13. Grafik Perbandingan Ratio of Compression... 53 Gambar 4.14. Grafik Perbandingan Compression Ratio... 53 Gambar 4.15. Grafik Perbandingan Space Saving... 55 Gambar 4.16. Grafik Perbandingan Redudancy... 55 Gambar 4.17. Grafik Perbandingan Waktu Kompresi... 57 Gambar 4.18. Grafik Perbandingan Waktu Dekompresi... 57 Gambar 4.19. Grafik Parameter Perbandingan Kompresi... 58

DAFTAR LAMPIRAN Halaman A Listing Program A-1 B Daftar Riwayat Hidup B-1

BAB 1 PENDAHULUAN 1.1. Latar Belakang Transmisi data merupakan hal yang sudah tidak asing lagi di masyarakat, baik menggunakan media kabel maupun nirkabel. Dengan adanya internet, transmisi data yang tadinya hanya dapat dilakukan dalam jarak yang dekat sekarang dapat dilakukan dalam jarak yang sangat jauh. Namun dalam pengiriman file,semakin besar ukuran file yang akan dikirim maka semakin lama proses unggah yang dibutuhkan dan semakin lama pula file tersebut terkirim. Salah satu cara untuk mempercepat proses pengiriman file tersebut adalah memperkecil ukuran file dengan melakukan teknik kompresi. Dalam bidang ilmu komputer teknik kompresi ini digunakan terhadap data digital yang disebut juga kompresi data. Data dapat berupa karakter dalam file teks, waveforms gambar atau urutan angka yang dihasilkan oleh proses lainnya. Kompresi terhadap data dilakukan untuk mengurangi ukuran data sehingga mempercepat proses pemindahan data dan mengurangi kapasitas memori yang dibutuhkan (Khalid Sayood, 2005). Ada banyak algoritma yang dikembangkan untuk kompresi data, namun belum ada satupun algoritma yang baik untuk mengkompresi berbagai tipe file karena karakteristik atau struktur file yang berbeda-beda. Setiap algoritma memiliki cara dan hasil yang berbeda-beda pula (Cormen, 2009). Maka dari itu penulis mencoba untuk menganalisa dua algoritma pada skripsi yang berjudul ANALISIS KINERJA ALGORITMA GOLDBACH CODES DAN ALGORITMA VARIABLE FIXED LENGTH BINARY ENCODING PADA KOMPRESI FILE TEKS. 1.2. Rumusan Masalah Adapun rumusan masalah dalam penelitian ini adalah : 1. Mengecilkan ukuran file teks melalui proses kompresi.

2. Mengembalikan file teks ke ukuran semula melalui proses dekompresi. 3. Mengukur dan membandingkan kinerja algoritma Goldbach Codes dan algoritma Variable Length Binary Encoding (VLBE) dalam proses kompresi dan dekompresi file teks. 1.3. Batasan Masalah Agar tulisan ini tidak menyimpang dari ruang lingkup pembahasan diperlukan batasan masalah sebagai berikut: Batasan masalah yang akan dibahas adalah sebagai berikut: 1. Jenis data yang akan dikompresi adalah karakter ASCII dalam file teks yang memiliki ekstensi *.txt dan *.doc. 2. Algoritma Goldbach Codes yang dibahas adalah G0 Codes. 3. Tidak melakukan kompresi terhadap komponen lain seperti tabel atau gambar yang terdapat di dalam file teks maupun dokumen yang akan dikompresi. 4. Parameter yang digunakan dalam pengukuran kinerja algoritma ini adalah time (waktu kompresi dan waktu dekompresi) dan space (Ratio of Compression (R C ), Compression Ratio (C R ), Redudancy (Rd), dan Space Saving (SS)). 5. Menggunakan bahasa pemrograman Visual Basic. 1.4. Tujuan Penelitian Tujuan dari penelitian ini adalah: 1. Mengetahui algoritma mana yang lebih optimal dalam kompresi file teks. 2. Mengetahui kelebihan dan kekurangan dari algoritma Goldbach G0 Code dan algoritma Variable Length Binary Encoding dalam kompresi file teks. 1.5. Manfaat Penelitian Manfaat penelitian ini diharapkan dapat membantu masyarakat dalam kompresi dan dekompresi data dengan melihat hasil perbandingan algoritma Goldbach G0 Code dan algoritma Variable Length Binary Encoding serta dapat dijadikan sebagai referensi bagi penulis lain bila ingin melakukan penelitian terkait dengan kompresi data.

1.6. Metodologi Penelitian Tahapan yang dilakukan dalam penelitian ini adalah: 1. Studi Literatur Pada tahap studi literatur dilakukan pengumpulan buku, jurnal, e-book artikel, makalah, maupun situs internet yang membahas algoritma Goldbach Codes dan algoritma Variable Length Binary Encoding (VLBE) untuk dipelajari lebih lanjut. 2. Analisis dan Perancangan Sistem Pada tahap analisis dan perancangan sistem akan dilaksanakan perancangan flowchart, antar muka, UML dan perancangan sistem analisis perbandingan kompresi menggunakan algoritma Goldbach Codes dan algoritma Variable Length Binary Encoding (VLBE). 3. Implementasi Sistem Pada tahap implementasi sistem ini dilakukan implementasi terhadap hasil analisis dan perancangan dengan cara melakukan penulisan program. 4. Pengujian Sistem Dalam tahap pengujian sistem dilakukan pengujian terhadap sistem yang telah dibangun. 5. Dokumentasi Dalam tahap dokumentasi dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem dalam format penulisan penelitian. 1.7. Sistematika Penulisan Sistematika dalam penulisan skripsi ini disusun menjadi beberapa bab, diantaranya yaitu: BAB 1: PENDAHULUAN Bab ini berisi mengenai latar belakang masalah, rumusan masalah, batasan masalah, tujuan & manfaat dari penelitian, metode penelitian dan sistematika penulisan. BAB 2: LANDASAN TEORI Bab ini berisi mengenai teori-teori yang digunakan untuk mendukung penulisan penelitian, selain itu dalam bab 2 juga dijelaskan mengenai metode yang digunakan dalam penelitian.

BAB 3: BAB 4: BAB 5: ANALISIS DAN PERANCANGAN SISTEM Bab ini terdiri dari tahap analisis sistem dan desain/model perancangan dari program yang akan dibuat, dalam hal ini termasuk juga algoritma dari program tersebut. IMPLEMENTASI DAN PENGUJIAN SISTEM Bab ini berisi mengenai implementasi dan pengujian dari program yang sebelumnya telah dirancang dan dianalisis sistemnya. KESIMPULAN DAN SARAN Bab ini berisi kesimpulan dari hasil penelitian yang telah selesai dilakukan, juga saran atau rekomendasi guna penelitian lebih lanjut.

BAB 2 LANDASAN TEORI 2.1. Kompresi Data Kompresi data adalah proses mengubah sebuah aliran data input menjadi aliran data baru yang memiliki ukuran lebih kecil. Aliran yang dimaksud adalah berupa file ataupun buffer dalam memori. Kebutuhan terhadap kompresi data dipengaruhi oleh dua alasan, yaitu kecenderungan manusia untuk mengumpulkan data dan kebutuhan akan proses transfer data yang cepat. Karena itu metode-metode untuk mengkompresi data semakin berkembang. (Salomon, 2004) Permasalahan dalam kompresi data menyangkut menemukan sebuah algoritma yang efisien untuk menghilangkan redudansi dari tipe data tertentu (Pu, 2006). Terdapat banyak metode untuk kompresi data. Metode-metode tersebut lahir dari ide yang berbeda-beda, cocok untuk berbagai tipe data, dan menghasilkan output yang berbeda-beda. Namun, prinsip dasar yang menjadi dasar tiap metode adalah sama, yaitu mengkompresi data dengan menghilangkan redundancy dari data asli. (Salomon, 2004) Semua algoritma kompresi tidak akan bekerja kecuali dekompresi juga disertakan karena sudah menjadi sifat dari kompresi data. Ketika topik kompresi dibahas secara umum, kata kompresi sendiri dapat mewakili kedua bahasan kompresi dan dekompresi (Pu, 2006). Hubungan antara kompresi dan dekompresi dapat dilihat Pada gambar 2.1. input source file Compression algorithm output Compressed file input Compressed file Decompression algorithm output Decompressed file Gambar 2.1. Compressor dan Decompressor (Pu, 2006)

Lossy dan Lossless Compression adalah pengelompokan metode kompresi berdasarkan keutuhan data. Lossy Compression menghilangkan beberapa data untuk memperoleh kompresi yang lebih baik, seperti Linear Predictive Coding, A-law Algorithm, Mu-Law Algorithm, Fractal Compression, dan lain-lain. Ketika proses dekompresi dilakukan, maka output yang dihasilkan tidak sama dengan data aslinya. Metode kompresi ini lebih efektif untuk mengkompresi data gambar, video, atau audio. Sedangkan Lossless Compression tidak menghilangkan data sama sekali, sehingga cocok untuk mengkompresi data berupa teks. Ada 2 poin yang harus di ingat mengenai data berupa teks : (1) Jika file teks mengandung source code dari program, banyak ruang kosong yang akan dihilangkan, karena ruang kosong tersebut diabaikan oleh compiler. (2) Ketika output dari sebuah word processor disimpan ke dalam file teks, file tersebut mungkin mengandung informasi tentang font berbeda yang di gunakan didalam teks. Informasi seperti itu akan diabaikan karena hanya teks saja yang harus diselamatkan. Yang termasuk Lossless Compression adalah Burrows- Wheeler, DEFLATE, LZW, FLBE, VLBE, Huffman, PPM, Shanon-Fano, Goldbach Codes,dan lain-lain. (Salomon, 2004) 2.2. Goldbach Codes Algoritma Goldbach Codes adalah algoritma yang diasumsikan menggunakan teori Goldbach Conjecture yaitu Semua bilangan genap positif yang lebih besar dari 2 merupakan penjumlahan dari dua bilangan prima. (Salomon, 2007) Goldbach Codes memiliki tiga kode, Goldbach Codes yang pertama dinamakan G0. G0 mengkodekan bilangan bulat positif n dengan mengubahnya menjadi bilangan bulat positif genap dengan 2(n+3) dan kemudian menuliskan pasangan penjumlahan bilangan prima. (Salomon, 2007) ini. Untuk mengetahui lebih jelas G0 code, dapat dilihat pada Tabel 2.1 dibawah Tabel 2.1. Algoritma Goldbach G0 Code (Solomon, 2007) N 2(n+3) Primes Codeword 1 8 3+5 11 2 10 3+7 101 3 12 5+7 011 4 14 3+11 1001

5 16 5+11 0101 6 18 7+11 0011 7 20 7+13 00101 8 22 5+17 010001 9 24 11+13 00011 10 26 7+19 0010001 11 28 11+17 000101 12 30 13+17 000011 13 32 13+19 0000101 14 34 11+23 00010001 Goldbach Codes kedua dinamakan G1. Prinsip G1 adalah menentukan dua bilangan prima P i dan P j (dimana i j) yang jumlah nya menghasilkan bilangan bulat n, dan mengkodekan pasangan (i,j-i+1) dengan gamma codes. Sedangkan G2 atau Goldbach Codes yang ketiga adalah perluasan dari G1 Code dengan kasus seperti berikut : 1. Bilangan bulat 1 dan 2 dikodekan menjadi 110 dan 111 (selain bilangan bulat 1 dan 2 tidak ada lagi yang pengkodeannya dimulai dengan 11 ). 2. Bilangan bulat genap dikodekan seperti pada G1 Code, namun dengan sedikit perbedaan. Jika ditentukan n = P i + P j, maka akan dikodekan pasangannya (i +1,j i + 1) menggantikan (i,j i + 1). Sehingga, jika i = 1, maka akan dikodekan menjadi 010, gamma code dari 2. Ini menjanjikan bahwa bilangan bulat genap dari G2 Code tidak akan dimulai dari 1 dan akan selalu memiliki bentuk 0...:0. 3. Jika n adalah bilangan prima P i, maka akan dikodekan sebagai gamma code dari (i + 1) di ikuti oleh 1 tunggal untuk menghasilkan 0 :1. 4. Jika n adalah bilangan ganjil tapi bukan bilangan prima, maka G2 Code dimulai dari 1 tunggal di ikuti dengan G2 code dari angka genap n-1. Menghasilkan gamma code memiliki bentuk 1:0 :0. Pada penelitian ini, penulis memilih menggunakan G0 Code disebabkan oleh : 1. Mudah untuk dibangun berdasarkan tabel bilangan prima. 2. Mudah untuk di decode. 3. Sama panjangnya seperti Fibonacci Codes atau Standard Binary Representation dari bilangan bulat. (Salomon, 2007)

2.3. Variable Length Binary Encoding (VLBE) Algoritma Variable Length Binary Encoding (VLBE) dalam teori pengkodean adalah kode yang memetakan simbol sumber untuk sejumlah variabel bit. Kode variabel panjang dapat memungkinkan sumber yang akan dikompresi dengan nol kesalahan (kompresi data lossless) dan masih dapat dibaca kembali oleh simbol-simbol. (Salomon, 2007) Algoritma VLBE adalah algoritma kompresi data yang mengkodekan tiap karakter dengan mengurutkan karakter berdasarkan frekuensi dan disortir secara stabil sehingga membentuk beberapa rangkaian bit (Salomon, 2010). Kemudian mengkodekan karakter tersebut dalam bentuk binary berdasarkan urutannya. Misalkan terdapat sebuah string DORORO NO DOROROMPA. Maka data sebelum dikompresi dapat dilihat pada tabel 2.2 dibawah ini. Tabel 2.2. Data Sebelum Dikompresi Karakter Frekuensi ASCII Desimal ASCII Binary bit Frek x bit D 2 68 01000100 8 16 O 7 79 01001111 8 56 R 4 82 0101010 8 32 Sp 2 32 00100000 8 16 N 1 78 01001110 8 8 M 1 77 01001101 8 8 P 1 80 01010000 8 8 A 1 65 01000001 8 8 Total bit 152 bit Pada algoritma VLBE, karakter terlebih dahulu di urutkan berdasarkan frekuensi yang disusun dari yang paling besar ke yang paling kecil, kemudian kode VLBE dapat ditentukan. Untuk mengetahui data setelah dikompresi dapat dilihat pada tabel 2.3 dibawah ini. Tabel 2.3. Data Setelah Dikompresi Karakter Frekuensi VLBE Code Bit Frek x bit O 7 0 1 7 R 4 10 2 8 D 2 110 3 6 Sp 2 1110 4 8 N 1 11110 5 5

M 1 111110 6 6 P 1 1111110 7 7 A 1 1111111 7 7 Total bit 54 bit Pada tabel 2.2 dapat dilihat data sebelum dikompresi memiliki total bit sebesar 152 bit. Kemudian setelah dikompresi seperti terlihat pada tabel 2.3, data memiliki total bit sebesar 54 bit. 2.4. Parameter Analisis Kompresi Pada suatu teknik yang digunakan dalam proses kompresi data terdapat beberapa faktor atau variabel yang biasa digunakan untuk menganalisa kualitas dari suatu teknik kompresi data tersebut, yaitu : 1. Ratio of Compression (RC) Ratio of Compression (RC) adalah nilai perbandingan antara ukuran bit data sebelum dikompresi dengan ukuran bit data yang telah dikompresi. Secara matematis dapat dituliskan sebagai berikut: RC 2. Compression Ratio (CR) Compression Ratio (CR) adalah persentase perbandingan antara data yang sudah dikompresi dengan data yang belum dikompresi. Secara matematis dapat dituliskan sebagai berikut: CR 3. Space Savings (SS) Space Savings (SS) adalah persentase selisih antara data yang belum dikompresi dengan besar data yang dikompresi. SS 4. Redudancy (Rd) Redundancy (Rd) adalah kelebihan yang terdapat di dalam data sebelum dikompresi. Jadi setelah data dikompresi dapat dihitung Redundancy data yaitu persentasi dari hasil selisih antara ukuran data sebelum dikompresi dengan data setelah dikompresi (Salomon, 2007). Rd

5. Waktu kompresi dan dekompresi Waktu kompresi dan dekompresi adalah waktu yang dibutuhkan untuk melakukan proses kompresi dan dekompresi. Semakin kecil waktu yang diperoleh maka semakin efisien metode yang digunakan dalam proses kompresi dan dekompresi itu. Pada penelitian ini waktu dihitung dalam satuan millisecond (ms). Semakin besar nilai Ratio of Compression, Redudancy, dan Space Saving maka semakin baik hasil kompresinya. Sebaliknya semakin kecil nilai Compression Ratio maka semakin baik hasil kompresinya. 2.5 File Text Teks adalah kumpulan dari karakter karakter atau string yang menjadi satu kesatuan. Teks yang memuat banyak karakter didalamnya selalu menimbulkan masalah pada media penyimpanan dan kecepatan waktu pada saat transmisi data. File teks merupakan file yang berisi informasi-informasi dalam bentuk teks. Data yang berasal dari dokumen pengolah kata, angka yang digunakan dalam perhitungan, nama dan alamat dalam basis data merupakan contoh masukan data teks yang terdiri dari karakter, angka dan tanda baca. (Pramilo, 2008) Format file teks yang akan digunakan dalam penelitian ini adalah format data teks (*.txt) dan format data dokumen (*.doc). 1. Format data teks Format data teks merupakan format teks yang digunakan untuk menyimpan huruf, angka, karakter, kontrol (tabulasi, pindah baris, dan sebagainya) atau simbol-simbol lain yang biasa digunakan dalam tulisan seperti titik, koma, tanda petik, dan sebagainya. Satu huruf, angka, karakter, kontrol atau simbol pada arsip teks memakan tempat satu byte. Berbeda dengan jenis teks terformat yang satu huruf saja dapat memakan tempat beberapa byte untuk menyimpan format dari huruf tersebut seperti font, ukuran, tebal atau tidak dan sebagainya. Kelebihan dari format data teks ini adalah ukuran datanya yang kecil karena tiadanya fitur untuk memformat tampilan teks. Saat ini perangkat lunak yang paling banyak digunakan untuk memanipulasi format data ini adalah Notepad. (Pramilo, 2008)

2. Format data dokumen Doc merupakan ekstensi arsip dokumen perangkat lunak Microsoft Word yang paling banyak digunakan dalam penulisan laporan, makalah dan sebagainya. Doc merupakan jenis teks terformat yang tidak hanya dapat mengatur tampilan teks seperti styles (font, ukuran huruf dan sebagainya), namun juga dapat menyisipkan gambar. Kekurangan format teks dokumen ini terletak pada ukuran datanya yang besar. (Pramilo, 2008)

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1. Analisis Sistem Analisis sistem merupakan proses mengidentifikasi dan mendefinisikan masalah pada sebuah sistem untuk mengetahui kebutuhan apa saja yang diperlukan sistem untuk berjalan sesuai dengan tujuannya. Dalam menganalisis sistem terdapat beberapa langkah yang harus dilakukan sebagai berikut: 3.1.1. Identifikasi Masalah Tahap identifikasi masalah dilakukan untuk mengetahui apa yang menjadi alasan dibangunnya suatu sistem sehingga sistem tersebut dapat berjalan sesuai dengan tujuannya. Dalam penelitian ini yang akan dibahas adalah bagaimana perbandingan algoritma Goldbach G0 Code dan algoritma VLBE dalam mengkompresi file teks dengan menggunakan analisis kompresi. File teks yang akan digunakan dalam penelitian ini adalah file *.txt dan file *.doc. Identifikasi masalah pada sistem yang dirancang dapat digambarkan dalam Diagram Ishikawa seperti pada Gambar 3.1. Material Metode File *.txt dan *.doc yang memiliki redudancy Ada banyak metode untuk melakukan kompresi Tidak ada software yang cocok untuk kompresi file teks Ukuran File Teks besar dan memperlambat proses transmisi data Kebutuhan untuk melakukan transmisi data yang cepat Machine People Gambar 3.1. Diagram Ishikawa untuk identifikasi masalah

45 Pada gambar 3.1 dapat dilihat bahwa identifikasi masalah pada penelitian ini adalah sebagai berikut: 1. People Kebutuhan manusia untuk melakukan transmisi data secara cepat. 2. Metode Menurut Cormen (2009), ada banyak metode atau algoritma yang dikembangkan untuk mengkompresi data, namun belum ada satupun algoritma yang baik untuk mengkompresi berbagai tipe file. 3. Material File teks adalah file yang paling sering dikirim untuk keperluan yang penting. 4. Machine Banyak software yang digunakan untuk kompresi file teks, namun belum ada satupun yang optimal dalam melakukan kompresi file teks. 3.1.2. Analisis Kebutuhan Sistem Setelah masalah diperoleh melalui tahap identifikasi masalah, maka perlu dilakukan analisis kebutuhan sistem untuk memahami apa saja yang diperlukan untuk membangun sistem tersebut. Pada tahap ini terdapat kebutuhan sistem terdiri dari 2 jenis kebutuhan yaitukebutuhan fungsional dan kebutuhan non-fungsional. 1. Kebutuhan fungsional Kebutuhan fungsional adalah kebutuhan yang berisi proses-proses apa saja yang akan terdapat dalam sistem. Adapun kebutuhan fungsional tersebut adalah a. Sistem dapat membaca string yang berada dalam file teks. b. Sistem dapat mengkompresi data file teks (*.txt dan *.doc) dengan algoritma Goldbach G0 Code. c. Sistem dapat mengkompresi data file teks (*.txt dan *.doc) dengan algoritma VLBE. d. Sistem dapat mendekompresi data terhadap hasil kompresi dengan algoritma Goldbach G0 Code. e. Sistem dapat mendekompresi data terhadap hasil kompresi dengan algoritma VLBE.

46 2. Kebutuhan non-fungsional Kebutuhan non-fungsional merupakan kebutuhan yang harus dimiliki suatu system yang menggambarkan karakteristik dan batasan kemampuan suatu system yang akan menjadi dasar penentuan apakah daya guna suatu system sudah baik atau belum. Beberapa kebutuhan non fungsional yang dimaksud adalah: a. Performa Sistem harus mampu melaksanakan setiap tugas secara utuh dalam selang waktu yang tidak terlalu lama sesuai dengan ukuran data Input yang diberikan. b. Informasi Sistem harus mampu menyediakan informasi tentang data-data yang akan digunakan pada system. c. Ekonomi Sistem harus dapat bekerja dengan baik tanpa harus mengeluarkan biaya tambahan dalam penggunaan perangkat keras maupun perangkat lunak. d. Kontrol Sistem yang telah dibangun harus tetap dikontrol setelah selesai dirancang agar fungsi dan kinerja system tetap terjaga dan dapat memberikan hasil yang sesuai dengan keinginan pengguna. e. Efisiensi Sistem harus dirancang sesederhana mungkin agar memudahkan pengguna dalam menggunakan atau menjalankan aplikasi tersebut. f. Pelayanan Sistem yang telah dirancang dapat dikembangkan ke tingkat yang lebih kompleks lagi bagi pihak-pihak yang ingin mengembangkan system tersebut. 3.1.3. Analisis Proses Terdapat 2 proses utama dalam penelitian ini, yaitu proses kompresi dan proses dekompresi. Kedua proses tersebut dilakukan dengan menggunakan algoritma Goldbach G0 Code dan algoritma VLBE. Pada proses kompresi, sistem pertama-tama akan membaca string yang terdapat pada file teks dan kemudian melaksanakan proses

47 dari masing-masing algoritma. Misalkan ada file teks berisi string Kuku Kaki Kakakku Terjepit Pintu. Untuk mengetahui ukuran string tersebut, dapat dilihat pada Tabel 3.1. Tabel 3.1. Data Sebelum Dikompresi Character Frequency ASCII Decimal ASCII Binary Bit Bit x Frequency K 3 75 01001011 8 24 u 4 117 01110101 8 32 k 5 107 01101011 8 40 Sp 4 32 00100000 8 32 a 3 97 01100001 8 24 i 3 105 01101001 8 24 T 1 84 01010100 8 8 e 2 101 01100101 8 16 r 1 114 01110010 8 8 j 1 106 01101010 8 8 p 1 112 01110000 8 8 t 2 116 01110100 8 16 P 1 80 01010000 8 8 n 1 110 01101110 8 8 Jumlah Bit x Frequency 256 bit 1. Proses Kompresi Setelah file teks berhasil dibaca menjadi string, maka tahap selanjutnya adalah proses kompresi menggunakan algoritma VLBE dan algoritma Goldbach G0 Code. a. Proses algoritma Goldbach G0 Code Pada algoritma Goldbach G0 Code, urutan kemunculan karakter pada tabel 3.1 akan dituliskan pada nilai n yang berarti n = 1 adalah karakter pertama muncul. Kemudian nilai n akan dijadikan bilangan genap dengan persamaan 2*(n+3),

48 setelah bilangan genap didapatkan maka kemudian baru dicari pasangan bilangan prima yang jika dijumlahkan akan menghasilkan bilangan genap tersebut. Untuk mengetahui bilangan prima mana yang dapat mewakili penjumlahan dua bilangan prima tersebut, maka dibuat aturan sebagai berikut : 1. Bilangan prima dimulai dari angka 3, 5, 7 dan seterusnya hingga bilangan prima tidak lebih besar dari nilai 2*(n+3). Contoh : n = 7 2*(n+3) = 20 Bilangan prima yang lebih kecil dari nilai 2*(n+3), yaitu; Bil Prima 19 17 13 11 7 5 3 Codeword 2. Codeword hanya memiliki dua 1 yaitu pada bilangan prima yang mewakili penjumlahan tersebut, selain itu bernilai 0. Untuk mendapatkan pasangan penjumlahan bilangan prima, dilakukan pembacaan dari kanan ke kiri daftar bilangan prima diatas, sebagai berikut : 3+5=20 Salah 3+7=20 Salah 5+7=20 Salah 3+11=20 Salah 5+11=20 Salah 7+11=20 Salah 3+13=20 Salah 5+13=20 Salah 7+13=20 Benar 3. Pencarian bilangan prima yang mewakili penjumlahan berhenti pada 1 yang kedua dan bilangan prima yang lebih besar dari bilangan prima yang di dapat tidak dituliskan.

49 Bil Prima 13 11 7 5 3 Codeword 1 0 1 0 0 4. Codeword yang didapat kemudian akan dibalikkan, sehingga codeword yang didapat adalah sebagai berikut, Codeword 0 0 1 0 1 Untuk melihat lebih jelas hasil dari algoritma Goldbach G0 Code, dapat dilihat pada tabel 3.2 berikut. Tabel 3.2. Total Bit Setelah Dikompresi Algoritma Goldbach G0 Code Bit x Character Frequency N Bilangan 2*(n+3) Codeword Bit Prima Frequency k 5 1 8 3+5 11 2 10 u 4 2 10 3+7 101 3 12 Sp 4 3 12 5+7 011 3 12 K 3 4 14 3+11 1001 4 12 a 3 5 16 5+11 0101 4 12 i 3 6 18 7+11 0011 4 12 e 2 7 20 7+13 00101 5 10 t 2 8 22 5+17 010001 6 12 T 1 9 24 11+13 00011 5 5 r 1 10 26 7+19 0010001 7 7 j 1 11 28 11+17 000101 6 6 p 1 12 30 13+17 000011 6 6 P 1 13 32 13+19 0000101 7 7 n 1 14 34 11+23 00010001 8 8 Jumlah Bit x Frequency 131 bit Setelah codeword yang mewakili setiap karakter didapatkan maka proses selanjutnya adalah menyusun kembali kode-kode yang telah dibuat dalam tabel sesuai dengan posisi karakter pada string. String yang telah dibaca adalah Kuku Kaki Kakakku Terjepit Pintu. Semua karakter akan disimpan kedalam sebuah

50 file yang mana file tersebut akan membantu proses dekompresi, pada penelitian ini disebut file header. K u k u Sp K a k i Sp 1001 101 11 101 011 1001 0101 11 0011 011 K a k a k k u Sp T e 1001 0101 11 0101 11 11 101 011 00011 00101 r j e p i t Sp P i 0010001 000101 00101 000011 0011 010001 011 0000101 0011 n t u 00010001 010001 101 sehingga diperoleh String Bit sebagai berikut: 10011011110101110010101110011011100101011101011111101011000110010 10010001000101001010000110011010001011000010100110001000101000110 1 Sebelum hasil kompresi dituliskan ke dalam file, terlebih dahulu dilakukan penambahan bit-bit padding dan flagging. Penambahan bit-bit padding dan flagging dilakukan dengan mengacu pada sisa jumlah bit dibagi 8. Sehingga dapat dihitung sebagai berikut, jumlah bit mod 8 = sisa...(1) sisa + padding = 8...(2) padding = 8 sisa...(3) flagging adalah biner 8 bit dengan nilai sama dengan nilai padding Dengan perhitungan tersebut, maka diperoleh 131 mod 8 akan menghasilkan sisa bagi sebanyak 3 dan padding yang dihasilkan adalah 5. Maka dapat dituliskan bit paddingnya 00000 ke dalam String Bit. 10011011110101110010101110011011100101011101011111101011000110010 10010001000101001010000110011010001011000010100110001000101000110 100000

51 Dengan nilai padding adalah 5, maka diperoleh flagging 00000101. Maka diperoleh String Bit baru sebagai berikut. 1001101111010111001010111a001101110010101110101111110101100011001 01001000100010100101000011001101000101100001010011000100010100011 010000000000101 Sehingga total bit yang diperoleh adalah 144 bit. Dari hasil kompresi tersebut dapat diukur kinerja algoritma Goldbach G0 Code dengan parameter sebagai berikut: a. Ratio of Compression (RC) Rc = = 1,78 b. Compression Ratio (CR) Cr = x 100% = 56,25% c. Redudancy (Rd) Rd = 100% - 56,25% = 43,75% d. Space Saving (SS) SS = 1 0,56 = 0,44 b. Proses algoritma VLBE Pada algoritma VLBE, codeword yang dihasilkan mengikuti aturan sebagai berikut : 1. Frekuensi kemunculan karakter di urutkan dari yang terbesar sampai yang terkecil. Character Frequency Character Frequency K 3 k 5 U 4 u 4 K 5 Sp 4 Sp 4 Menjadi K 3 A 3 a 3

52 i 3 i 3 T 1 e 2 e 2 t 2 r 1 T 1 j 1 r 1 p 1 j 1 t 2 p 1 P 1 P 1 n 1 n 1 2. Kemudian dicari codeword menggunakan cara akar pohon seperti berikut : 0 root 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Dari akar pohon diatas, codeword yang mewakili setiap karakter adalah sebagai berikut :

53 k codeword nya adalah 0 u codeword nya adalah 10 Sp codeword nya adalah 110 K codeword nya adalah 1110 a codeword nya adalah 11110 i codeword nya adalah 111110 e codeword nya adalah 1111110 t codeword nya adalah 11111110 T codeword nya adalah 111111110 r codeword nya adalah 1111111110 j codeword nya adalah 11111111110 p codeword nya adalah 111111111110 P codeword nya adalah 1111111111110 n codeword nya adalah 1111111111111 Sehingga hasilnya dapat dilihat pada Tabel 3.3 dibawah ini. Tabel 3.3. Data setelah dikompresi dengan algoritma VLBE. Character Frequency Codeword Bit Bit x Freq K 5 0 1 5 U 4 10 2 8 Sp 4 110 3 12 K 3 1110 4 12 A 3 11110 5 15 I 3 111110 6 18 E 2 1111110 7 14 T 2 11111110 8 16 T 1 111111110 9 9 R 1 1111111110 10 10

54 j 1 11111111110 11 11 p 1 111111111110 12 12 P 1 1111111111110 13 13 n 1 1111111111111 13 13 Total Bit x Freq 168 bit Setelah codeword yang mewakili setiap karakter didapatkan maka proses selanjutnya adalah menyusun kembali kode-kode yang telah dibuat dalam tabel sesuai dengan posisi karakter pada string. String yang telah dibaca adalah Kuku Kaki Kakakku Terjepit Pintu, K u k u Sp K a k i Sp K a k 1110 10 0 10 110 1110 11110 0 111110 110 1110 11110 0 a k k u Sp T e r j 11110 0 0 10 110 111111110 1111110 1111111110 11111111110 e p i t Sp P i 1111110 111111111110 111110 11111110 110 111111111110 111110 n t u 1111111111111 11111110 10 sehingga diperoleh String Bit sebagai berikut: 11101001011011101111001111101101110111100111100010110111111110111 11101111111110111111111101111110111111111110111110111111101101111 1111111011111011111111111111111111010 Jumlah bit hasil kompresi adalah 168 di mana jika bilangan tersebut dibagi 8, maka akan menghasilkan sisa bagi sebanyak 0. Maka diperoleh padding 00000000. 11101001011011101111001111101101110111100111100010110111111110111 11101111111110111111111101111110111111111110111110111111101101111 111111101111101111111111111111111101000000000

55 Dengan penambahan padding sebanyak 8 bit, maka diperoleh flagging 00001000. Maka diperoleh String Bit baru sebagai berikut. 11101001011011101111001111101101110111100111100010110111111110111 11101111111110111111111101111110111111111110111110111111101101111 11111110111110111111111111111111110100000000000001000 Sehingga total bit yang diperoleh adalah 184 bit. Dari hasil kompresi tersebut dapat diukur kinerja algoritma VLBE dengan parameter sebagai berikut: e. Ratio of Compression (RC) Rc = = 1,34 f. Compression Ratio (CR) Cr = x 100% = 71,88% g. Redudancy (Rd) Rd = 100% - 71,88% = 28,12% h. Space Saving (SS) SS = 1 0,72 = 0,28 2. Proses Dekompresi Setelah file dikompresi, maka akan terbentuk sebuah file baru yang nantinya akan digunakan untuk melakukan proses dekompresi. a. Proses dekompresi dengan algoritma Goldbach G0 Code Proses dekompresi dilakukan dengan terlebih dahulu menentukan panjang String Bit yang harus dibaca dengan menghitung padding dan flagging. Pada tabel 3.2 String Bit yang dihasilkan adalah 10011011110101110010101110011011100101011101011111101011000110010 10010001000101001010000110011010001011000010100110001000101000110 10000000000101

56 Flagging pada String Bit tersebut adalah 00000101 (8 bit terakhir pada String Bit) yang bila dikonfersi ke dalam decimal akan bernilai 5, sehingga padding 00000. Sehingga panjang String Bit yang harus dibaca adalah panjang String Bit (144 bit) terkompresi dikurang total jumlah panjang padding dan flagging (5+8). Maka diperoleh nilai panjang String Bit yang harus dibaca adalah 131 bit. Proses dekompresi dilakukan dengan melakukan pembacaan String Bit pada compressed file terhadap file header. Pembacaan dilakukan dari indeks terkecil sampai indeks terakhir dengan terus menambahkan nilai pada indeks sebelumnya yang tidak terdapat dalam Tabel 3.2. Indeks ke 0 adalah 1, tidak terdapat di dalam tabel, ditambah indeks ke 1 adalah 10, tidak terdapat di dalam tabel, ditambah indeks ke 2 menjadi 100, tidak terdapat di dalam tabel, ditambah indeks ke 3 menjadi 1001, pada tabel mewakili karakter K, maka K dituliskan ke dalam file. Setelah karakter dituliskan kedalam file indeks sebelumnya akan dihapus, begitu seterusnya sehingga String hasil dekompresi menjadi Kuku Kaki Kakakku Terjepit Pintu. b. Proses dekompresi dengan algoritma VLBE Proses dekompresi pada algoritma VLBE memiliki aturan yang sama dengan algoritma Goldbach G0 Code. Setelah penambahan Padding dan Flagging, panjang string bit pada Tabel 3.3 adalah 11101001011011101111001111101101110111100111100010110111111110111 11101111111110111111111101111110111111111110111110111111101101111 11111110111110111111111111111111110100000000000001000 Flagging pada string bit tersebut adalah 00001000 jika diubah menjadi desimal akan bernilai 8, sehingga padding nya adalah 0000000. Sehingga panjang string bit yang harus dibaca adalah panjang string bit (184 bit) dikurang total jumlah panjang padding dan flagging (8+8). Maka diperoleh nilai panjang String Bit yang harus dibaca adalah 168 bit. Pembacaan String Bit dilakukan dari indeks terkecil sampai indeks terakhir dengan terus menambahkan nilai pada indeks sebelumnya yang tidak terdapat dalam Tabel 3.3. Indeks ke 0 adalah 1, tidak terdapat di dalam tabel, ditambah indeks ke 1 menjadi 11, tidak terdapat didalam tabel, ditambah dengan indeks ke 2 menjadi 111, tidak terdapat didalam tabel,

57 ditambah dengan indeks ke 3 menjadi 1110, pada tabel codeword 1110 mewakili karakter K, maka K dituliskan ke dalam file, begitu seterusnya sehingga String hasil dekompresi menjadi Kuku Kaki Kakakku Terjepit Pintu. 3.2. Pemodelan Sistem Pembuatan model sistem merupakan langkah awal yang penting dalam membangun sistem. Memodelkan suatu sistem berarti membentuk atau menggambarkan sebuah model berdasarkan kebutuhan suatu sistem yang akan dibangun. Dalam tahap pemodelan ini digunakan UML diagram (Use-Case Diagram, Activity Diagram, Sequence Diagram dan Class Diagram) yang akan menggambarkan sistem secara spesifik. 3.2.1. Use-Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Berikut use case diagram sistem yang akan dibangun. System Gambar 3.2. Use Case Diagram Sistem

58 Use Case Diagram pada gambar 3.2 memperlihatkan bahwa User dapat melakukan proses kompresi dan dekompresi. Pada proses kompresi, User memilih algoritma yang mana yang akan digunakan untuk proses kompresi. User kemudian memilih file yang akan dikompresi dengan menelusuri file *.txt atau *.doc lalu menentukan direktori penyimpanan file hasil kompresi dan file header dengan save file. Hasil file yang terkompresi akan tampil dan User dapat membersihkan informasi tersebut. Pada proses dekompresi, User memilih algoritma yang mana yang akan digunakan untuk proses dekompresi. User kemudian membuka file yang telah dikompresi lalu menentukan direktori penyimpanan file hasil kompresi dan file header dengan save file. User kemudian melakukan eksekusi dengan menekan tombol dekompresi. 3.2.2. Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Berikut ini adalah activity diagram pada sistem yang akan dibangun. 1. Activity diagram pada proses kompresi Pada proses kompresi aktivitas-aktivitas yang berlangsung dapat digambarkan sebagai berikut. a. Activity Diagram Choose Algorithm Activity diagram choose algorithm menunjukkan bagaimana user memilih akan melakukan proses kompresi menggunakan algoritma Goldbach G0 Code atau algoritma VLBE. Proses tersebut digambarkan pada gambar 3.3. User System Choose Algorithms Menampilkan Form pilihan Gambar 3.3. Activity Diagram Choose Algorithm

59 b. Activity Diagram Open File Text Setelah memilih algoritma, user selanjutnya membuka file yang ingin dikompresi menggunakan algoritma tersebut dengan format *.txt atau *.doc. Gambar 3.4. Activity Diagram Open File Text c. Activity diagram Save File Compressed dan Save File Header Dalam proses Save File Compressed, user memilih direktori tempat penyimpanan file hasil kompresi. User System Save File Compressed/Header Menampilkan Dialog untuk memilih direktori penyimpanan Pilih direktori Simpan direktori Gambar 3.5. Activity Diagram SaveFileCompressed

60 d. Activity diagram Compress bila algoritma yang dipilih Goldbach G0 Code Activity diagram ini menggambarkan bagaimana sistem melakukan proses kompresi menggunakan algoritma Goldbach G0 Code. Dalam proses ini sistem akan menghasilkan keluaran berupa file header (*.gbh) dan file Goldbach G0 Code (*.gbc). Kode yang diperoleh melalui proses algoritma Goldbach G0 Code ditulis ke dalam file header (*.gbh) yang akan digunakan saat proses dekompresi, sementara teks hasil kompresi ditulis ke dalam file Goldbach G0 Code (*.gbc). User System Kompresi Menghitung, menguraikan, dan mengurutkan karakter berdasarkan posisi karakter pada string Membangkitkan G0 Code berdasarkan pasangan jumlah bilangan prima Melakukan proses kompresi Menghitung RC, CR, Redudancy, dan Space saving Menulis karakter dan kode ke file header (*.gbh) Menulis hasil kompresi ke file (*.gbc) Menampilkan pesan proses kompresi berhasil Gambar 3.6. Activity Diagram Compress pada algoritma Goldbach G0 Code

61 e. Activity diagram Compress bila algoritma yang dipilih VLBE Activity diagram ini menggambarkan bagaimana sistem melakukan proses kompresi menggunakan algoritma VLBE. Dalam proses ini sistem akan menghasilkan keluaran berupa file header (*.vh)danfile VLBE(*.vlbe). Dalam file header (*.vh) ditulis rule yang akan digunakan saat proses dekompresi, sementara teks hasil kompresi ditulis ke dalam file VLBE (*.vlbe). User System Kompresi Menghitung, menguraikan, dan mengurutkan karakter secara descending order berdasarkan frekuensi karakter pada string Membangkitkan kode vlbe berdasarkan Diagram Root Tree Melakukan proses kompresi Menghitung RC, CR, Redudancy, dan Space saving Menulis karakter dan kode ke file header (*.vh) Menulis hasil kompresi ke file (*.vlbe) Menampilkan pesan proses kompresi berhasil Gambar 3.7. Activity Diagram Compress pada algoritma VLBE

62 f. Activity Diagram Clear Proses ini digunakan untuk membersihkan hasil proses yang telah dijalankan. User System Gambar 3.8. Activity Diagram Clear 2. Activity diagram pada proses dekompresi Pada proses dekompresi aktivitas-aktivitas yang berlangsung dapat digambarkan sebagai berikut. a. Activity Diagram Choose Algorithm User System Pilih Algoritma Menampilkan Form algoritma yang dipilih Gambar 3.9. Activity Diagram Choose Algorithm

63 b. Activity Diagram Open File Compressed User System Gambar 3.10. Activity Diagram Open File Compressed c. Activity Diagram Save File Text User System Gambar 3.11. Activity Diagram Save File Text

64 d. Activity Diagram Decompress Activity diagram ini menggambarkan bagaimana sistem melakukan proses dekompresi. User System Gambar 3.12. Activity Diagram Decompress

65 e. Activity Diagram Clear Gambar 3.13. Activity Diagram Clear 3.2.3. Sequence Diagram Sequence diagram menggambarkan interaksi antarobjek di dalam dan di sekitar sistem berupa pesanyang digambarkan terhadap waktu. Berikut ini adalah sequence diagram pada sistem yang akan dibangun. 1. Sequence diagram pada proses kompresi Pada proses kompresi sequence diagram dapat digambarkan sebagai berikut. a. Sequence Diagram Kompresi pada Algoritma Goldbach G0 Code. Gambar 3.14. Sequence Diagram Kompresi Algoritma Goldbach G0 Code

66 b. Sequence Diagram Kompresi pada Algoritma VLBE Gambar 3.15. Sequence Diagram Kompresi AlgoritmaVLBE 2. Sequence diagram pada proses dekompresi Pada proses kompresi sequence diagram dapat digambarkan sebagai berikut. a. Sequence Diagram Dekompresi pada Algoritma Goldbach G0 Code Gambar 3.16. Sequence Diagram Dekompresi Algoritma Goldbach G0 Code

67 b. Sequence Diagram Dekompresi pada Algoritma VLBE Gambar 3.17. Sequence Diagram Dekompresi Algoritma VLBE 3.3. Perancangan Sistem Tahap perancangan sistem merupakan tahap di mana sistem akan dirancang atau didesain sesuai dengan hasil analisis sistem. Dalam perancangan sistem terdapat dua bagian yaitu bagian perancangan bagan alir sistem dan perancangan antarmuka sistem. 3.3.1. Bagan Alir Sistem (Flowchart) Flowchart digunakan untuk menggambarkan urutan proses secara mendetail dan hubungan antarproses. Berikut adalah flowchart dari sistem yang akan dirancang.

68 1. Flowchart sistem secara Umum T T T Y Y Y Gambar 3.18. Flowchart Sistem Secara Umum

69 2. Flowchart kompresi algoritma Goldbach G0 Code Flowchart kompresi ini menunjukkan bagaimana proses kompresi algoritma Goldbach G0 Code pada sistem berjalan. Flowchart dapat dilihat pada gambar 3.19. Gambar 3.19. Flowchart Kompresi Algoritma Goldbach G0 Code

70 3. Flowchart Kompresi algoritma VLBE Flowchart kompresi ini menunjukkan bagaimana proses kompresi algoritma VLBE pada sistem berjalan. Flowchart dapat dilihat pada gambar 3.20. Gambar 3.20. Flowchart Kompresi Algoritma VLBE

71 4. Flowchart dekompresi algoritma Goldbach G0 Code dan VLBE Flowchart dekompresi ini menunjukkan bagaimana proses dekompresi algoritma Goldbach G0 Code dan VLBE pada sistem berjalan. Flowchart dapat dilihat pada gambar 3.21. Mulai Input compressed file (*.gbc/*.vlbe) dan header file (*.gbh/*.vh) Baca bit string dari file (*.gbc/*.vlbe) dan simpan ke variabel teks Baca code dan character dari file (*.gbh/*.vh) dan simpan ke variabel code dan character mengubah bit string menjadi string berdasarkan character dan code Output file *.txt dan *.doc Selesai Gambar 3.21.Flowchart Dekompresi Algoritma VLBE

72 3.3.2. Antarmuka Sistem (Interface) Antarmuka sistem menggambarkan bagaimana perangkat lunak, sistem, dan user berinteraksi. Pada sistem ini terdapat 3 form, di antaranya form halaman utama, form kompresi dengan algoritma Goldbach G0 Code, form kompresi dengan algoritma VLBE, form dekompresi dengan algoritma Goldbach G0 Code, dan form dekompresi dengan algoritma VLBE. 1. Form halaman utama Pada form halaman utama terdapat dua menu (kompresi dan dekompresi), dan dua submenu pada kedua menu (Goldbach G0 Code dan VLBE). 1 2 3 7 4 5 6 Gambar 3.22. Halaman Utama Keterangan: 1. Merupakan Judul program. 2. Merupakan tombol dropdown Menu Kompresi. 3. Merupakan tombol dropdown Menu Dekompresi. 4. Merupakan SubMenu dari Menu Kompresi. 5. Merupakan SubMenu dari Menu Dekompresi.

73 6. Merupakan background dari halaman utama. 7. Merupakan tombol exit untuk keluar dari program. 2. Form Kompresi (Goldbach G0 Code dan VLBE) Pada form kompresi adalah form yang digunakan untuk melakukan proses kompresi. Tampilan halaman kompresi dapat dilihat pada gambar 3.23. 1 6 2 3 4 5 Gambar 3.23. Halaman Kompresi Keterangan: 1. Judul kompresi dengan algoritma (Goldbach G0 Code atau VLBE). 2. Merupakan frame yang berisi beberapa pilihan yang harus di isi untuk melakukan kompresi yaitu; input teks (*.txt/*.doc), browse direktori penyimpanan file hasil kompresi dan header file, tombol eksekusi kompresi dan tombol clear untuk membersihkan semua text field dan listview. 3. Merupakan textfield untuk menampilkan hasil parameter kompresi. 4. Merupakan listview yang menampilkan tabel data sebelum dikompresi. 5. Merupakan listview yang menampilkan tabel data setelah dikompresi. 6. Merupakan tombol exit dari menu kompresi yang dipilih.

74 3. Form Dekompresi Pada form dekompresi adalah form yang digunakan untuk melakukan proses dekompresi. Tampilan halaman dekompresi dapat dilihat pada gambar 3.24. 1 2 3 Gambar 3.24. Halaman Dekompresi Keterangan: 1. Merupakan judul dekompresi dengan algoritma (Goldbach G0 Code atau VLBE). 2. Merupakan frame yang berisikan beberapa pilihan yang harus di isi untuk melakukan proses dekompresi, yaitu : input file yang telah dikompresi, browse direktori penyimpanan file yang telah di dekompresi dan header file, tombol eksekusi dekompresi, dan tombol clear untuk menghapus semua text field. 3. Merupakan text field yang menampilkan waktu yang dibutuhkan untuk proses dekompresi dalam satuan millisecond (ms).

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1. Implementasi Sistem Implementasi sistem merupakan tahap dimana sistem akan dibangun sesuai dengan hasil analisis dan perancangan sistem pada bab 3. Dalam penelitian ini, Penulis menggunakan bahasa pemrograman Visual Basic.NET versi 1.7 menggunakan software Visual Studio 2013. Terdapat lima form pada sistem ini, yakni form menu utama, 2 form kompresi, dan 2 form dekompresi. Di mana form menu utama merupakan tampilan awal program, 2 form kompresi dan 2 form dekompresi merupakan form untuk melakukan proses kompresi atau dekompresi yang masing-masing form adalah untuk algoritma Goldbach G0 Code dan VLBE. 4.1.1. Form Menu Utama Form menu utama adalah form yang pertama kali muncul pada saat aplikasi dijalankan. Form ini memiliki menu bar yang terdiri dari dua menu dropdown yaitu menu Kompresi, dan menu Dekompresi. Masing-masing menu memiliki sub menu yang sama yaitu menu pilihan algoritma Goldbach G0 Code atau algoritma. Juga terdapat tombol exit serta image yang berperan sebagai background sistem. Tampilan Form menu utama dapat dilihat pada gambar 4.1.

44 Gambar 4.1. Tampilan Form Menu Utama 4.1.2. Form Menu Kompresi dengan Algoritma Goldbach G0 Code Pada form menu dropdown kompresi terdapat pilihan submenu untuk memilih algoritma yang ingin digunakan untuk melakukan proses kompresi. Pada form kompresi dengan pilihan algoritma Goldbach G0 Code terdapat 2 frame dan 2 listview. Frame pertama terdapat proses tahapan yang dibutuhkan untuk melakukan kompresi dan frame kedua merupakan parameter hasil kompresi. Sedangkan listview pertama digunakan untuk menampilkan tabel data sebelum dikompresi dan listview kedua untuk menampilkan data setelah dikompresi. Tampilan form Menu Kompresi Goldbach G0 Code dapat dilihat pada Gambar 4.2.

45 Gambar 4.2. Tampilan Form Menu Goldbach G0 Codes 4.1.3. Form Menu Kompresi dengan Algoritma VLBE Pilihan kedua pada menu dropdown Kompresi adalah pilihan dengan menggunakan algoritma VLBE. Tampilan form Menu Kompresi dengan algoritma VLBE dapat dilihat pada Gambar 4.3.

46 Gambar 4.3. Tampilan Form Menu VLBE 4.1.4. Form Menu Dekompresi Pada form menu dropdown dekompresi juga terdapat submenu yang sama dengan menu dropdown kompresi. Tampilan form Menu dekompresi Goldbach G0 Codes dan VLBE dapat dilihat pada Gambar 4.4.

47 Gambar 4.4. Tampilan Form Menu Dekompresi 4.2. Pengujian Sistem Pada tahap ini, sistem akan diuji untuk mengidentifikasi apakah sudah sesuai dengan rancangan pada tahap analisis dan perancangan sistem. Pengujian ini dilakukan pada file *.txt dan *.doc. Pengujian ini dibagi menjadi dua, yaitu pengujian proses kompresi dan pengujian proses dekompresi. 4.2.1. Pengujian Proses Kompresi Pengujian ini dimulai dengan memilih algoritma yang digunakan pada menu dropdown Kompresi pada halaman utama aplikasi. Setelah halaman kompresi untuk algoritma yang dipilih terbuka, kemudian dilakukan langkah-langkah berikut : 1. Telusuri file yang memiliki ekstensi *.txt atau *.doc pada direktori komputer dengan menekan tombol browse disamping text field dengan label File Input.

48 Gambar 4.5. Tampilan kotak dialog input file. 2. Tentukan nama hasil kompresi dan lokasi file yang akan disimpan pada direktori komputer dengan menekan tombol browse disamping text field dengan label Save To. Gambar 4.6. Tampilan kotak dialog simpan file kompresi.

49 3. Tentukan nama header file dan lokasi file yang akan disimpan pada direktori komputer dengan menekan tombol browse disamping text field dengan label header. Gambar 4.7. Tampilan kotak dialog simpan header file. 4. Tahapan berikutnya adalah melakukan kompresi dengan menekan tombol Compress. Hasil kompresi akan terlihat pada frame berlabel Parameter Analisis Kompresi, Data Sebelum dikompresi dan Data Setelah dikompresi. Perhatikan gambar 4.8.

50 Gambar 4.8: Tampilan Hasil Kompresi Output file pada proses kompresi ini menghasilkan dua file yaitu, file header (*.gbh dan *.vh) dan file hasil kompresi (*.gbc atau *.vlbe). File header merupakan tempat di mana karakter dari algoritma Goldbach G0 Code atau VLBE disimpan, dan file hasil kompresi merupakan file dari string hasil kompresi. Meskipun terdapat dua file pada proses kompresi, yang digunakan untuk menghitung parameter kompresi hanya file hasil kompresi (*.gbc atau *.vlbe). 4.2.2. Pengujian Proses Dekompresi Proses dekompresi dimulai dengan memilih menu pilihan algoritma pada menu dropdown Dekompresi yang terdapat pada menu bar halaman utama. Setelah form halaman dekompresi algoritma terpilih aktif, maka dilakukan langkah-langkah berikut: 1. Telusuri file yang akan di dekompresi pada direktori komputer dengan menekan tombol browse pada text field berlabel File Input. Perhatikan gambar 4.9.

51 Gambar 4.9. Tampilan Kotak dialog input file terkompresi 2. Telusuri file header dari file yang akan di dekompresi pada direktori komputer dengan menekan tombol browse pada text field berlabel File Input. Perhatikan gambar 4.10. Gambar 4.10. Tampilan kotak dialog input header 3. Tentukan nama, ekstensi, dan direktori penyimpanan file yang akan di dekompresi dengan menekan tombol browse pada text field yang berlabel save to. Perhatikan gambar 4.11.

52 Gambar 4.11. Tampilan kotak dialog simpan file terdekompresi 4. Menekan tombol Decompress untuk melakukan proses dekompresi. Perhatikan gambar 4.12. Gambar 4.12. Tampilan Hasil Dekompresi