Anda di halaman 1dari 5

KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)

Volume I, Nomor 1, Oktober 2017 ISSN 2597-4610 (media cetak)

PENERAPAN METODE DEFLATE DAN ALGORITMA GOLDBACH CODES


DALAM KOMPRESI FILE TEKS

Muhammad Rio Irliansyah1, Surya Darma Nasution2, Kurnia Ulfa2


1
Mahasiswa Program Studi Teknik Informatika STMIK Budi Darma, Medan, Indonesia
2
Dosen Tetap STMIK Budi Darma, Medan, Indonesia
1,2
Jl. Sisingamangaraja No. 338 Simpang Limun, Medan, Indonesia

Abstrak
Kompresi file teks dapat memadatkan ukuran dari suatu file teks agar lebih mudah dalam pengiriman data dan penyimpanan
file teks tersebut. Kompresi teks dilakukan dengan memampatkan isi dari data teks tersebut. Metode Deflate dan algoritma
Goldbach codes digunakan dalam proses kompresi, kedua metode di kombinasikan untuk menghasilkan data teks yang lebih
kecil ukurannya dari ukuran data sebelumnya.
Kata kunci: Kompresi, File teks, Metode Deflate, algoritma Goldbach codes.
Abstract
Text file compression can condense the size of a text file to make it easier to send data and retain the text file. Text compression
is done by compressing the contents of the text data. The Deflate method and the Goldbach codes algorithm are used in the
compression process, both methods are combined to produce text data that is smaller in size than the previ ous data size.
Keywords: Compression, Text File, Methods Deflate, Goldbach codes algorithm

1. PENDAHULUAN algoritma LZ77) yang dilakukan dari hasil


pembacaan tiap blok yang akan di proses. Lankah
Metode Deflate pada awalnya merupakan
berikutnya mengganti setiap data yang sering muncul
konsep kompresi yang dibuat dan di implementasikan
dengan simbol tertentu yang menghasilkan bit yang
oleh Philip Katz. Dimana salah satu implementasinya
lebih pendek. Dalam kompresi LZZ7 harus
telah di terapkan di dalam kompresi file ZIP. Pada
memperhatikan :
penelitian sebelumnya yang dilakukan oleh Savan
1. Character : elemen dasar pada input stream
Oswa, et all dalam jurnal Internasional “Journal of
2. Input stream : kumpulan karakter yang akan di
Enginering Research and General Science”. Metode
kompresi
Deflate merupakan variasi dari algoritma LZ77 dan
3. Look- ahead buffer : kumpulan karakter yang
algoritma Huffman yang bersifat losseles yang artinya
belum di kompresi setelah token
setelah dilakukan proses dekompresi tidak ada data
4. Search buffer : kumpulan karakter yang telah di
yang hilang dari file tersebut. Algoritma Goldbach kompresi sebelum token
Codes adalah algoritma yang di asumsikan 5. Token : merupakan output yang berisi dari ( offset,
menggunakan teori Goldbach Conjecture yaitu length, dan next simbol )
semua bilangan genap positif yang lebih besar dari 2 Hasil output dari LZ77 akan dijadikan output
merupakan hasil dari penjumlahan dua buah bilangan algoritma Huffman, hal yang harus di perhatikan
prima. Dalam penelitian sebelumnya yang dilakukan dalam algoritma Huffman :
oleh Surya Darma Nasution dalam jurnal “Infotek 1. Urutkan output-output dari algoritma LZ77
STIKOM“. Cara kerja algoritma Goldbach Codes berdasarkan frequensi kemunculan
dalam kompresi file teks yaitu dengan cara 2. Buat pohon biner dan gabungkan dua buah pohon
mengkodekan bilangan bulat positif n bilangan bulat biner yang mempunyai frequensi kemunculan dari
positif genap dengan 2(n + 3) dan kemudian urutan terkecil
menuliskan pasangan penjumlahan bilangan prima 3. Ulangi langkah nomor dua sampai tersisa satu
dalam keadaan terbalik. pohon biner
4. Beri label 1 untuk sisi sebelah kanan dan 0 untuk
2. TEORITIS sisi sebelah kiri
5. Telusuri pohon biner dari akar ke daun. Barisan
2.1 Metode Deflate
label-label dari sisi dari akar ke daun adalah kode
huffman
Metode Deflate pada awalnya merupakan
konsep kompresi yang di implementasikan oleh
2.2 Algoritma Goldbach Codes
Philip Kats. Metode Deflate merupakan kombinasi
dari algoritma LZ77 dan algoritma Huffman. Cara Algoritma goldbach codes adalah algoritma
kerja dari metode deflate adalah dengan melakukan yang di asumsikan menggunakan teori goldbach
eliminasi karakter string kembar (implementasi conjecture yaitu “setiap bilangan genap positif yang

186
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume I, Nomor 1, Oktober 2017 ISSN 2597-4610 (media cetak)

lebih besar dari 2 merupakan penjumlahan dari dua Tabel 1. Langkah – Langkah kompresi
bilangan prima. Cara kerja algoritma goldbach codes menggunakan algoritma Lz77
yaitu dengan menjumlahkan bilangan positif n Serch buffer Historry Buffer output

dengan mengubahnya menjadi bilangan bulat positif RIO_IRLIANSYA 0, 0, R


genap (2 n + 3) dan kemudian menuliskan pasangan H
penjumlahan bilangan prima dalam keadaan terbalik. R IO_IRLIANSYAH 0, 0, I
Untuk mengetahui bilangan prima mana yang dapat RI RIO O_IRLIANSYAH 0, 0, O
mewakili penjumlahan dua bilangan prima tersebut, RIO_ _IRLIANSYAH 0, 0, _
maka dibuat aturan sebagai berikut : RIO_IR IRLIANSYAH 2, 1, R
1. Bilangan prima dimulai dari angka 3,5,7 dan RIO_IRL LIANSYAH 0, 0, L
seterusnya RIO_IRLIA IANSYAH 3, 1, A
2. Cordword hanya memiliki dua angka “1” RIO_IRLIAN NSYAH 0, 0, N
3. Pencarian bilangan primayang mewakili RIO_IRLIAN SYAH 0, 0, S
penjumlahan berhenti pada angka “1” yang kedua S YAH 0, 0, Y
Contoh nya : RIO_IRLIAN
Mencari cordword dari bilangan genap = 20 AH 4, 1, H
SY
13 11 7 5 3 RIO_IRLIAN NULL
1 0 1 0 0 SYAH

Pembacaan dilakukan dari kanan ke kiri


3+5 =20 Salah 3.2 Penerapan Algoritma Huffman
3+7 =20 Salah
5+7 =20 salah Langkah selanjutnya menggambil output
3+11=20 salah algoritma LZ77 untuk di kompresi menggunakan
5+11=20 salah algoritma Huffman.
7+11=20 salah 1. Urutkan nilai nilai output pada algoritma LZ77
3+13=20 salah berdasarkan frekuensi kemunculan nya
5+13=20 salah 2. Buat pohon biner dan pasangkan dua buah pohon
7+13=20 salah biner yang mempunyai frequensi dari urutan
Maka akan menghasilkan pola cordword 00101 terkecil sampai terbentuk satu buah pohon biner
3. Beri label pada cabang pohon biner tersebut yaitu
3. ANALISA DAN PEMBAHASAN nilai 0 untuk sisi sebelah kiri dan 1 untuk sisi
sebelah kanan
3.1 Penerapan Algoritma LZ77
4. Telusuri pohon biner dari cabang paling atas
sampai ke akar untuk mendapatkan nilai nilai
Proses penerapan kompresi file teks yaitu
biner
dengan melakukan kompresi dengan metode Deflate
kemudian output dari metode deflate tersebut di
Tabel 2. Frequensi kemunculan karakter berdasarkan
kompresi lagi menggunakan algoritma goldbach output algoritma LZ77
codes. Adapun cara kompresi metode deflate adalah
Karakter Frekuensi
menggunakan algoritma LZ77 dan di lanjutkan
dengan algoritma Huffman. R 2
1. Character : elemen dasar pada input stream I 1
2. Input stream : kumpulan karakter yang akan di O 1
kompresi _ 1
3. Look- ahead buffer : kumpulan karakter yang
belum di kompresi setelah token L 1
4. Search buffer : kumpulan karakter yang telah di A 1
kompresi sebelum token N 1
5. Token : merupakan output yang berisi dari ( offset, S 1
length, dan next simbol ).
Y 1
Misalkan file teks yang akan di kompres adalah H 1
“MUHAMMAD_RIO_IRLIANSYAH = 23 Byte
dimana 1 karakter adalah 1 byte, dan 1 byte adalah 8
bit maka total ukuran file teks yang akan di kompres
= 184 bit.

Page | 187
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume I, Nomor 1, Oktober 2017 ISSN 2597-4610 (media cetak)

Tabel 4. Kumpulan karakter sebelum di kompres


dengan algoritma Goldbach Codes
char Freq Kode Bit jumlah Bi Bit X Freq
R 2 111 3 6
I 1 110 3 3
O 1 1011 3 3
_ 1 1010 3 3
L 1 1001 3 3
A 1 1000 3 3
N 1 011 3 3
S 1 010 3 3
Y 1 001 3 3
H 1 000 3 3
total 33 bit

Tabel 5. Kumpulan Karakter yang telah di kompres


dengan algoritma Goldbach Codes
Gambar 1. Pohon biner berdasarkan algoritma N char freq 2(n + 3) Bil Code Word Bit Bit X
huffman Prima Freq

1 R 2 8 3+5 11 2 2
Berdasarkan pohon biner yang digunakan dalam
kompresi algoritma Huffman maka menghasilkan 2 I 1 10 3+7 101 3 3
kode bit untuk setiap karakter yang telah di kompres.
3 O 1 12 5+7 011 3 3

R = 111 I = 110 O = 1011 4 _ 1 14 3+11 1001 4 4


_ = 1010 L = 1001 A = 1000
N = 011 S = 010 Y = 001 5 L 1 16 5+11 0101 4 4
H = 000 6 A 1 18 7+11 0011 4 4

Tabel 3. Hasil kompresi dan kode bit dari algoritma 7 N 1 20 7+13 00101 5 5
Huffman
8 S 1 22 5+17 010001 6 6
char Freq bit Ukuran
9 Y 1 24 11+13 00011 5 5
R 2 111 2 * 3 bit = 6 bit 10 H 1 26 7+19 001001 7 7
I 1 110 1 * 3 bit = 3 bit
O 1 1011 1 * 3 bit = 3 bit
Total 43 bit
_ 1 1010 1 * 3bit = 3 bit
L 1 1001 1 * 3 bit = 3 bit 4. KESIMPULAN
A 1 1000 1 * 3 bit = 3 bit
N 1 011 1 * 3 bit = 3 bit Kesimpulan yang dapat di ambil setelah
dilakukan kompresi terhadap file teks dengan
S 1 010 1 * 3 bit = 3 bit
Y 1 001 1 * 3 bit = 3 bit menerapkan metode deflate dan algoritma Goldbach
Codes adalah :
H 1 000 1 * 3 bit = 3 bit
1. Penerapan metode Deflate dan algoritma
total 33 bit
Goldbach codes dilakukan dengan cara
menkompresi tiap karakter yang terdapat pada file
3.3 Penerapan Algoritma Goldbach Codes teks berdasarkan cara kerja tiap algoritma.
2. Rasio yang dihasilakan dari penelitian ini
Konsep kerja algoritma Goldbach Codes yaitu berdasarkan proses kompresi file teks
dengan menghitung jumlah frequensi kemunculan menggunakan metode Deflate dan algoritma
tiap karakter dari yang terbesar sampai yang terkecil Goldbach codes menghasilakan file dengan ukuran
, dan dilanjutkan dengan mencari codeword dengan lebih kecil dari sebelum dilakukan proses
cara mengkodekan bilangan bulat positif n dengan kompresi
menghubahnya menjadi bilangan bulat positif genap
dengan rumus ( 2 n+3).

Page | 188
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume I, Nomor 1, Oktober 2017 ISSN 2597-4610 (media cetak)

REFERENSI
[1] Sofyan Maulana, S.Kom, 5 Proyek Populer SMS
Gateway, Jakarta : PT. Alex Media Komputindo.
2015.
[2] Introduction to Data Compression, Third Edition,
Morgan Kauffman, San Francisco, United States of
America, 2006, pp.1.
[3] Solomon, David., Data Compression, The Complete
Reference. 4th edition, Springer, Inc : United States
of America, 2004.
[4] Subangkit Ramadhan,” pembangunan aplikasi
kompresi data menggunakan algoritma lemple ziv
markov chain (lzma) dan algoritma lemple ziv storer
symanski (lzss) pada jaringan intranet”, Program
Studi Teknik Informatika Universitas Komputer
Indonesia, vol. V, pp. 61-70, 2016
[5] S. D. Nasution, G. L. Ginting, M. Syahrizal, and R.
Rahim, “Data Security Using Vigenere Cipher and
Goldbach Codes Algorithm,” Int. J. Eng. Res.
Technol., vol. 6, no. 1, pp. 360–363, 2017.
[6] S. D. Nasution and Mesran, “Goldbach Codes
Algorithm for Text Compression,” IJournals Int. J.
Softw. Hardw. Res. Eng., vol. 4, no. December, pp.
43–46, 2016.
[7] A. P. U. Siahaan, “IMPLEMENTASI TEKNIK
KOMPRESI TEKS HUFFMAN,” J. Inform., vol. 10,
no. 2, 2016.
[8] S. man and A. P. Utama Siahaan, “Huffman Text
Compression Technique,” Int. J. Comput. Sci. Eng.,
vol. 3, no. 8, pp. 103–108, 2016.

Page | 189
http://ejurnal.stmik-budidarma.ac.id/index.php/komik

Anda mungkin juga menyukai