Perancangan Aplikasi Kompresi File PDF Dengan Menerapkan Algoritma Golomb
Yeni Anggraini
Fakultas Ilmu Komputer dan Teknologi Informasi, Prodi Teknik Informatika, Universitas Budi Darma, Medan, Indonesia Email: yenianggraini632@gmail.com
Abstrak-Saat ini banyak kalangan dari perusahaan maupun universitas menggunakan jenis format file PDF untuk memberikan segala informasi yang ada dikarenakan dinilai lebih rapi dan saat akan dikirim tidak akan merubah formatnya saat akan dibuka pada perangkat yang lain. Namun terkadang saat akan menyimpan file PDF yang terlalu banyak akan mempengaruhi kinerja dari komputer.
Dengan adanya permasalahan tersebut maka dibutuhkan suatu teknik kompresi data untuk mengurangi ukuran dari file PDF yang ada, agar lebih menghemat ruang penyimpanan. Kompresi merupakan suatu proses pengurangan atau penyusutan suatu ukuran data menjadi lebih kecil dari yang aslinya. Pengkompresian data sangat membantu dimana terdapat suatu data yang berukuran besar dan di dalamnya banyak mengandung berbagai karakter. Pengkompresian terhadap file PDF dapat membantu dalam pengelolaan yang lebih baik, dan sangat membantu dalam proses transfer file secara cepat. Dalam melakukan perancangan aplikasi kompresi ini digunakan algoritma Golomb untuk melakukan proses kompresi dan dekompresi. Adapun hasil akhir dari proses kompresi menggunakan algoritma Golomb yang dilakukan penulis didapatkan hasil kinerja parameter Ratio of Compression sebesar 2,27, Compression Rate sebesar 44,14%, Redudancy sebesar 55,86% dan Space Saving sebesar 55,86%. Artinya ukuran awal file PDF yang dilakukan proses kompresi dengan menerapkan algoritma Golomb berkurang mencapai 44,14% dari ukuran file PDF yang aslinya.
Kata Kunci: File, PDF, Kompresi, Algoritma Golomb
Abstract-Currently, many people from companies and universities use the PDF file format to provide all available information because it is considered faster and when it is sent it will not change the format when it is opened on another device. However, sometimes it will save a PDF file that affects the computer's performance too much. With these problems, a data compression technique is needed to reduce the size of the existing PDF files, in order to save more storage space. Compression is a process of reducing or differentiating a data size to be smaller than the sleeping one. Data compression is very helpful where there is a large amount of data and it contains many characters. Compressing PDF files can help in better management, and is very helpful in fast file transfers. In designing this compression application, the Golomb algorithm is used to perform the compression and decompression processes. As for the final result of the compression process using algorithm Golomb by the author, the results of the performance parameters are Ratio of Compression of 2.27, Compression Rate of 44.14%, Redundancy of 55.86% and Space Saving of 55.86%.
The initial size of the PDF file which is compressed by applying the Golomb algorithm is reduced to 44.14% of the PDF file size, which means it supports.
Keywords: File, PDF, Compression, Algorithm Golomb
1. PENDAHULUAN
Kebutuhan terhadap sebuah informasi tidak bisa dipisahkan pada kehidupan sehari – hari masyarakat. Informasi yang diperoleh bisa berupa file teks, file audio, maupun file gambar yang didapat secara digital. Jenis file yang saat ini sangat sering digunakan untuk mengirim data maupun informasi yaitu file yang berekstensi PDF. Banyak kalangan dari perusahaan maupun universitas menggunakan file ini karena dinilai lebih rapi dan file yang telah diubah kedalam bentuk PDF tidak akan mengubah formatnya saat akan dikirim maupun dibuka pada perangkat yang lain.
PDF (Portal Document Format) merupakan format yang dibuat oleh Adobe System pada tahun 1993 untuk pertukaran dokumen yang bersifat digital. Format file PDF sangat banyak diminati karena tidak hanya bergantung pada satu software saja. PDF digunakan untuk mempresentasikan dokumen dalam dua dimensi yang mencakup teks, huruf, citra dan juga grafik[1], [2].
Namun terkadang kita menyimpan terlalu banyak file PDF pada komputer, sehingga mengakibatkan kinerja komputer melambat dan tidak optimal. Dengan adanya permasalahan tersebut maka dilakukan suatu teknik pengkompresian data agar dapat mengoptimalkan ruang penyimpanan dan kinerja komputer. Pengkompresian terhadap file PDF dapat membantu dalam pengelolaan yang lebih baik, dan sangat membantu dalam proses transfer file secara cepat. Dengan begitu maka solusi yang penulis tawarkan untuk proses pengkompresian file PDF dengan menggunakan algoritma Golomb[3].
Algoritma Golomb merupakan salah satu jenis algoritma yang berjenis lossless. Golomb merupakan suatu metode pengkompresian yang memiliki sebuah Codeword atau Codebook untuk suatu pengkodean yang ditentukan oleh nilai parameter m, adapun m merupakan simbol dari variabel. Hasil dari proses pengkompresiannya dapat dikembalikan ke ukuran data aslinya tanda adanya perubahan, sehingga rasio kompresinya tidak terlalu besar[4], [5].
Berdasarkan penelitian yang dilakukan oleh Mawar pada tahun 2020 tentang merancang aplikasi kompresi file PDF dengan menerapkan algoritma Punctured Elias Code mendapatkan kesimpulan bahwa penerapan dengan metode Punctured Elias Code dilakukan dengan mencari nilai biner untuk mendapatkan nilai frekuensinya dan melakukan proses kompresi, setelah itu dilanjutkan dengan membaca nilai biner. Selanjutnya nilai biner diganti dengan kode dari Punctured Elias Code (P1) untuk proses dekompresi. Dengan begitu hasil kompresi akan lebih menghemat waktu dan ruang penyimpanan[6].
Berdasarkan penelitian yang dilakukan oleh Eka Kristian Gulo pada tahun 2017 tentang merancang aplikasi kompresi file audio yang menerapkan algoritma Golomb didapatkan kesimpulan bahwa algoritma Golomb dapat dijadikan alternatif untuk pemapatan file audio. Pengkompresian file audio yang dirancang untuk mengurangi bandwitch transmisi digital audio stream dan ukuran penyimpanan file audio[7].
Berdasarkan penelitian yang dilakukan oleh Linni Hairani Butar Butar pada tahun 2021 didapatkan kesimpulan bahwa proses pengkompresian pada aplikasi kompresi SMS (Short Message Service) dengan menerapkan algoritma Golomb Coding dilakukan dengan cara mengganti setiap bit dan memperkecil setiap karakter. Hal tersebut dilakukan agar pesan yang dikirim tidak banyak menggunakan karakter sehingga dapat menghemat biaya dan mempercepat proses pengkompresian[7].
Penelitian yang dilakukan oleh Binaria Tarigan Pada tahun 2020 tentang aplikasi kompresi file dengan menerapkan algoritma VLBE didapatkan kesimpulan bahwa aplikasi yang dirancang melakukan proses kompresi pada file, sehingga file yang awalnya memiliki ukuran yang sangat besar dapat dikompresi menjadi ukuran yang lebih kecil dengan menggunakan algoritma VLBE[8].
Mengetahui kinerja perancangan aplikasi kompresi terhadap file PDF dari penelitian terdahulu mampu mengurangi ruang penyimpanan dan pengoptimalan terhadap kinerja komputer, sehingga dapat sangat membantu dalam mempelajari proses perancangan aplikasi kompresi file. Berdasarkan dari setiap kesimpulan pada penelitian terdahulu maka pada penelitian ini akan dilakukan perancangan aplikasi kompresi file PDF dengan menerapkan algoritma Golomb, yang diharapkan agar dapat lebih menghemat ruang penyimpanan dan pengoptimalan terhadap kinerja komputer.
2. METODOLOGI PENELITIAN
2.1 Tahapan Penelitian
Berikut ini merupakan gambar tahapan penelitian, dapat dilihat pada gambar 1 dibawah ini:
Gambar 1. Tahapan Penelitian Tahap 5
Perancangan Sistem
Tahap 6 Pengujian
Tahap 7 Dokumentasi Tahap 1 Identifikasi Masalah
Tahap 2 Studi Pustaka
Tahap 3
Analisa Proses Kompresi Menerapkan Algoritma Golomb
Tahap 4
Analisa Proses Dekompresi Menerapkan Algoritma Golomb
Berdasarkan kerangka tahapan penelitian diatas, maka dapat penulis uraikan pembahasan dari setiap tahapan yang ada sebagai berikut:
1. Tahap Identifikasi Masalah
Tahap ini menguraikan sumber masalah pada kapasitas penyimpanan yang membuat ruang penyimpanan sangat penuh dan kinerja komputer tidak optimal.
2. Tahap Studi Pustaka
Tahap ini melakukan pemahaman terhadap objek yang akan diteliti oleh peneliti dengan membaca dari berbagai sumber referensi seperti jurnal, buku maupun sumber lainnya.
3. Tahap Analisa Proses Kompresi Menerapkan Algoritma Golomb
Tahap ini dilakukan agar mengetahui proses pengkompresian file PDF dengan menggunakan algoritma Golomb yang bertujuan untuk memperkecil ukuran data.
4. Tahap Analisa Proses Dekompresi Menerapkan Algoritma Golomb
Tahap ini untuk proses pengembalian ukuran file yang sudah dikompresi dengan algoritma Golomb.
5. Tahap Perancangan Sistem
Tahap ini penulis memberi sebuah gambaran mengenai perancangan aplikasi dengan bentuk yang sederhana agar mudah dipahami oleh user.
6. Tahap Pengujian
Tahap ini dilakukan untuk menguji hasil kompresi file PDF yang memiliki tujuan untuk mengetahui hasil akhir dari penelitian yang telah dilakukan.
7. Tahap Dokumentasi
Pada tahap ini akan dibuat kedalam bentuk laporan. Tahap ini menjelaskan aplikasi yang telah dirancang agar lebih memudahkan pembaca yang ingin mengembangkan aplikasi tersebut.
2.2 Kompresi
Kompresi merupakan proses pengurangan suatu ukuran data menjadi lebih kecil dari data aslinya. Pengkompresian data sangat amat membantu dimana terdapat suatu data yang berukuran besar dan didalamnya banyak terdapat suatu karakter.
Teknik pengkompresian ini mengganti suatu karakter dengan pola sehingga data tersebut mampu meminimalisasikan ukurannya[9], [10]. Proses kompresi data pada suatu algoritma memiliki beberapa parameter yang digunakan untuk mengukur frekuensi tersebut, yaitu:
1. Compression Ratio (Cr)
Compression Ratio (Cr) merupakan perbandingan antara data yang sudah dikompresi dengan data yang belum dikompresi.
𝐶𝑟 = 𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑆𝑒𝑡𝑒𝑙𝑎ℎ 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑥 100% (1)
2. Ratio of Compression (Rc)
Ratio of Compression (Rc) merupakan nilai dari perbandingan antara ukuran bit sebelum dikompresi dengan ukuran bit setelah dikompresi.
𝑅𝑐 = 𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑆𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑡𝑒𝑙𝑎ℎ 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 (2)
3. Space Saving (Ss)
Space Saving (Ss) merupakan selisih antara data yang belum dikompresi dengan besar data sesudah dikompresi.
𝑆𝑠 = 100 % − 𝐶𝑟 (3)
4. Redudancy (Rd)
Redudancy (Rd) merupakan hasil dari penilaian rasio kompresi.
𝑅𝑑 = 𝐹𝑖𝑙𝑒 𝑆𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖−𝐹𝑖𝑙𝑒 𝑆𝑒𝑠𝑢𝑑𝑎ℎ 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝐹𝑖𝑙𝑒 𝑆𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑥 100% (4)
Kompresi data digolongkan menjadi 2 jenis, yaitu: Lossless, merupakan jenis kompresi yang dimana hasil data yang telah dikompresi sama dengan data yang aslinya. Lossy, merupakan dimana jenis kompresi dari hasil data yang telah terkompresi tidak secara utuh sama dengan data yang aslinya.
2.3 File PDF
PDF (Portal Document Format) dibuat oleh Adobe System tahun 1993. PDF digunakan untuk keperluan pertukaran dokumen digital yang mempresentasikan dokumen kedalam bentuk dua dimensi yang berupa teks, huruf, citra maupun grafik. Dukungan format ini mencakup hampir segala platform komputer dan pada perangkat genggam[3]. File yang berekstensi PDF sangat banyak memiliki kelebihan dalam format siap cetak dan format jenis ini sangat mirip dengan buku aslinya. File PDF juga memiliki fitur pencarian daftar isi, dan dapat memuat gambar[8], [11].
2.4 Algoritma Golomb
Golomb merupakan teknik kompresi data yang berjenis lossless yang dikenalkan oleh Solomon W. Pada tahun 1960 Rice Coding juga disebut sebagai Golomb – Rice – Coding yang ditemukan oleh Robert F. Rice. Pengkodean algoritma ini menggunakan parameter m untuk membagi nilai masukan menjadi dua bagian yaitu q hasil pembagian m dan r itu sisanya[6][12]. Langkah – langkah dalam proses kompresi dengan algoritma Golomb: Golomb Code dari nilai integer positif n adalah gabungan dari representasi bit codeword q dan r, dimana:
Nilai q, yaitu 𝑞 = 𝑛
𝑚 (5)
Nilai r, yaitu 𝑟 = 𝑛 − 𝑞𝑚 (6)
1. q bernilai 1, 2, … dan dinyatakan dalam unary code.
2. r bernilai 0, 1, 2, …, m – 1
3. Nilai parameter m > 0 ditentukan di awal.
4. Jika m adalah kelipatan pangkat 2. Panjang bit codeword r yaitu, bit codeword r = representasi biner dari nilai r.
5. Jika m bukan kelipatan pangkat 2. Codeword r ditentukan oleh batasan representasi s, dengan perhitungan 𝑠 = 2 log2𝑚 − 𝑚 .
Jika nilai r < s, maka: Panjang bit codeword r, yaitu log2𝑚 𝑏𝑖𝑡𝑠.
Codeword r = representasi biner dari nilai r.
Jika r >= s, maka: Panjang bit codeword r, yaitu log2𝑚 𝑏𝑖𝑡𝑠.
Codeword r = representasi biner dari 𝑟 + 2 log2𝑚 − 𝑚 𝑎𝑡𝑎𝑢 𝑟 + 𝑠.
3. HASIL DAN PEMBAHASAN
3.1 Analisa Masalah
Analisa masalah dilakukan untuk mengamati permasalahan yang akan diselesaikan oleh penulis, sehingga menemukan hasil keluaran berupa perancangan aplikasi atau program berbasis desktop. Pada penelitian ini, akan dilakukan proses pengkompresian pada file PDF yang dimana terlebih dahulu akan mencari nilai hexadecimal dari file PDF dengan bantuan software binary viewer. Setelah nilai hexadecimal didapatkan langkah selanjutnya dengan menyusun nilai hexadecimal berdasarkan nilai frekuensi terbesar hingga terkecil, lalu dilanjutkan dengan proses kompresi berikutnya.
Proses berikutnya dilanjutkan dengan mencari nilai codeword dari algortima Golomb. Setelah mendapatkan codeword maka selanjutnya melakukan proses perhitungan kompresi terhadap nilai hexadecimal dengan codeword dari algoritma Golomb. Untuk mengetahui hasil dari kinerja pada proses pengkompresian, maka perlu dilakukan pengukuran parameter dengan menghitung proses Ratio of Compression, Compression Ratio, Redudancy dan Space Saving.
Langkah terakhir melakukan proses dekompresi pada file PDF agar hasil dari proses pengkompresian yang dilakukan sebelumnya dapat kembali seperti semula.
Dalam proses pengkompresian file PDF dengan menerapkan algoritma Golomb diperlukan sebuah program aplikasi berbasis desktop agar mempermudah serta mempercepat user dalam melakukan proses kompresi. Program aplikasi yang dirancang dengan menggunakan bantuan dari software Microsoft Visual Studio 2010, rancangan dari program tersebut akan di desain sebaik mungkin agar menarik dan mudah dipahami oleh banyak orang nantinya.
3.1.1 Penerapan Algoritma Golomb
Berikut merupakan contoh sampel file PDF yang akan dilakukan proses pengkompresian dengan menerapkan algoritma Golomb.
Gambar 2. Sampel File PDF
Selanjutnya dengan sampel diatas, akan mencari nilai hexadecimal dari sampel tersebut dengan menggunakan bantuan dari software binary viewer. Berikut nilai hexadecimal dari sampel file PDF.
Gambar 3. Sampel Nilai Hexadecimal 3.1.2 Proses Kompresi Algoritma Golomb
Langkah awal dalam proses pengkompresian dengan algoritma Golomb dengan mengurutkan nilai hexadecimal mulai dari frekuensi terbesar hingga terkecil.
Tabel 1. Nilai Hexadecimal Sebelum Dikompresi
No Hexadesimal Biner Bit Frekuensi Bit x Frekuensi
1 30 01110000 8 30 240
2 36 00110110 8 8 64
3 33 00110011 8 4 32
4 46 01000110 8 1 8
5 37 00110111 8 5 40
6 34 00110100 8 1 8
7 32 00110010 8 3 24
8 35 00110101 8 2 16
9 0A 00001010 8 1 8
10 2F 00101111 8 1 8
11 54 01010100 8 1 8
12 69 01101001 8 1 8
13 74 01110100 8 1 8
14 6C 01101100 8 1 8
15 65 01100101 8 1 8
16 20 00100000 8 1 8
17 31 00110001 8 2 16
TOTAL 64 512
Langkah selanjutnya menghitung dengan menggunakan codeword unary dan binary dengan menggunakan nilai m = 5. Adapun cara mencari nilai codeword dari algoritma Golomb adalah sebagai berikut:
Diketahui n = 3, m = 5 (parameter awal m > 0) Nilai 𝑞 = 𝑛
𝑚= 3
5= 0
Nilai 𝑟 = 𝑛 − 𝑞 ∗ 𝑚 = 3 − 0 ∗ 5 = 3 Diperoleh q = 0 dan r = 3
m = 5, bukan kelipatan pangkat. Maka:
s = 2log𝑚− 𝑚 = 2log25 − 5 = 23− 5 = 3
Dikarenakan r >= s maka panjang dari bit codeword r yaitu log2 𝑚 𝑏𝑖𝑡𝑠.
Codeword r = representasi biner dari r + s = 3 + 3 = 6, maka nilai biner dari 6 adalah 110.
Maka codeword dari n = 3 merupakan gabungan dari representasi bit codeword q dan r yaitu 0|110.
Berikut tabel dari codeword setelah dilakukan perhitungan berdasarkan unary (q) dan binary (r).
Tabel 2. Codeword Algoritma Golomb m = 5 n q r Unary (q) Binary (r) Codeword
0 0 0 0 00 000
1 0 1 0 01 001
2 0 2 0 10 010
n q r Unary (q) Binary (r) Codeword
3 0 3 0 110 0110
4 0 4 0 111 0111
5 1 0 10 00 1000
6 1 1 10 01 1001
7 1 2 10 10 1010
8 1 3 10 110 10110
9 1 4 10 111 10111
10 2 0 110 00 11000
11 2 1 110 01 11001
12 2 2 110 10 11010
13 2 3 110 110 110110
14 2 4 110 111 110111
15 3 0 1110 00 111000
16 3 1 1110 01 111001
17 3 2 1110 10 111010
18 3 3 1110 110 1110110
Kemudian melakukan perhitungan dengan menggunakan codeword. Berdasarkan perhitungan yang telah dilakukan, maka mendapatkan hasil seperti berikut ini:
Tabel 3. Hasil Kompresi Dengan Codeword
n Hexadesimal Frekuensi Codeword Bit Bit x frekuensi
0 30 30 000 3 90
1 36 8 001 3 24
2 37 5 010 3 15
3 33 4 0110 4 16
4 32 3 0111 4 12
5 35 2 1000 4 8
6 31 2 1001 4 8
7 46 1 1010 4 4
8 34 1 10110 5 5
9 0A 1 10111 5 5
10 2F 1 11000 5 5
11 54 1 11001 5 5
12 69 1 11010 5 5
13 74 1 110110 6 6
14 6C 1 110111 6 6
15 65 1 111000 6 6
16 20 1 111001 6 6
TOTAL 64 - - 226
Setelah semua nilai hexadecimal telah disimpan kedalam Golomb code, maka selanjutnya gabungkan semua codeword tersebut menjadi string bit. String bit yang dihasilkan dari codeword sebelumnya adalah sebagai berikut.“000 001 0110 000 000 001 1010 000 000 010 000 000 000 001 10110 000 000 010 000 000 000 010 0111 000 000 010 1000 000 000 001 0110 000 10111 11000 11001 11010 110110 110111 111000 111001 0110 000 000 001 1001 000 000 001 0110 000 000 001 1001 000 000 001 1000 000 000 010 0111 000 000 0111”. Total keseluruhan bit ada 226 bit.
Dikarenakan 226 tidak habis dibagi 8 maka selanjutnya akan dilakukan proses padding dan flagging.
Tabel 4. Padding dan Flagging
Padding Flagging
226 𝑚𝑜𝑑 8 = 2
(sisa bagi dinyatakan sebagai n) n = 2
Rumus : 7 − 𝑛 + "1"
7 − 2 + 1 = 000001
Rumus : 9 − 𝑛 9 − 2 = 7 = 00000111
Total bit setelah ditambahkan padding dan flagging adalah 240 bit. Selanjutnya string bit yang telah ditambahkan padding dan flagging akan dibagi menjadi per 8 bit, lalu ubah menjadi karakter. “00000101 10000000 00110100 00000010 00000000 00011011 00000000 10000000 00001001 11000000 01010000 00000001 01100001 01111100 01100111 01011011 01101111 11000111 00101100 00000001 10010000 00001011 00000000 01100100 00000011 00000000 00100111 00000001 11000001 00000111”
Ubah menjadi karakter:
00000101 = 5 01011011 = 91 = ‘
10000000 = 128 01101111 = 111
00110100 = 52 = R 11000111 = 199
00000010 = 2 00101100 = 44 = D
00000000 = 0 00000001 = 1
00011011 = 27 = ' 10010000 = 144
00000000 = 0 00001011 = 11
10000000 = 128 00000000 = 0
00001001 = 9 01100100 = 100
11000000 = 192 00000011 = 3
01010000 = 80 = € 00000000 = 0
00000001 = 1 00100111 = 39 = 9
01100001 = 97 = — 00000001 = 1
01111100 = 124 11000001 = 193
01100111 = 103 00000111 = 7
Setelah proses kompresi telah selesai dilakukan, maka selanjutnya melakukan perhitungan terhadap kualitas dari proses kompresi tersebut.
1. Ratio of Compression (RC)
RC = Ukuran data sebelum dikompresi Ukuran data setelah dikompresi RC = 512
226= 2,27 2. Compression Ratio (CR)
CR = Ukuran data setelah dikompresi
Ukuran data sebelum dikompresi x 100%
CR = 226
512 x 100%
CR = 44,14%
3. Redudancy (Rd)
Rd = File sebelum dikompresi − File setelah dikompresi
Ukuran file sebelum dikompresi x 100%
Rd = 512 − 226
512 x 100%
Rd = 55,86%
4. Space Saving (Ss) Ss = 100% − CR Ss = 100% − 44,14%
Ss = 55,86%
3.1.3 Proses Dekompresi Algoritma Golomb
Pada tahap proses dekompresi, ubah kembali karakter hasil kompresi sebelumnya kedalam nilai biner masing–masing.
Hasil perubahan karakter:
5 = 00000101 ‘ = 91 = 01011011
128 = 10000000 111 = 01101111
R = 25 = 00110100 199 = 11000111
2 = 00000010 D = 4 = 00101100
0 = 00000000 1= 00000001
' = 27 = 00011011 144 = 10010000 = 144
0 = 00000000 11 = 00001011
128 = 10000000 0 = 00000000
9 = 00001001 100 = 01100100
192 = 11000000 3 = 00000011
80 = € = 01010000 0 = 00000000
1= 00000001 9 = 39 = 00100111
97 = — = 01100001 1= 00000001
124 = 01111100 193 = 11000001
103 = 01100111 7 = 00000111
Setelah itu, bentuk kembali string bit dari biner setiap karakter hasil pengkompresian. Lalu dilanjutkan dengan melakukan proses menghilangkan padding dan flagging dengan cara membaca 8 bit terakhir lalu merubahnya kedalam bentuk decimal, dan dinyatakan sebagai n. Setelah itu gunakan rumus 7+n untuk menghilangkan padding dan flagging.
“00000101 10000000 00110100 00000010 00000000 00011011 00000000 10000000 00001001 11000000 01010000 00000001 01100001 01111100 01100111 01011011 01101111 11000111 00101100 00000001 10010000 00001011 00000000 01100100 00000011 00000000 00100111 00000001 11000001 00000111”
8 bit terakhir = 00000111 = 7 = n 7 + n = 7 + 7 = 14
Maka hilangkan sebanyak 14 string bit terakhir dari string bit, sehingga menjadi:
“0000010110000000001101000000001000000000000110110000000010000000000010011100000001010000000000 0101100001011111000110011101011011011011111100011100101100000000011001000000001011000000000110 01000000001100000000001001110000000111”
Setelah proses dekompresi telah selesai, maka didapatkan hasil dekompresi seperti semula saat sebelum proses kompresi.
Tabel 5. Hasil Dekompresi 30 36 33 30 30 36 46 30 30 37 30 30 30 36 34 30 30 37 30 30 30 37 32 30 30 37 35 30 30 36 33 30 0A 2F 54 69 74 6C 65 20 33 30 30 36 31 30 30 36 33 30 30 36 31 30 30 36 35 30 30 37 32 30 30 32
3.2 Implementasi
Berikut merupakan tampilan hasil program dari kompresi file PDF dengan menerapkan algoritma Golomb.
1. Tampilan Awal Program
Gambar 4. Tampilan Form Awal 2. Tampilan Button Browse sebelum file diinput
Gambar 5. Tampilan Browse Sebelum Input File 3. Tampilan setelah input file
Gambar 6. Tampilan Setelah Input File 4. Tampilan Output setelah proses kompresi
Gambar 7. Tampilan Output Setelah Kompresi
Adapun hasil dari pengkompresian file PDF dari sistem yang telah dibangun dapat dilihat pada tabel dibawah ini:
Tabel 6. Hasil Pengujian Sistem
4. KESIMPULAN
Berdasarkan dari hasil penelitian yang telah penulis lakukan, maka dapat di tarik kesimpulan bahwa pengkompresian file PDF dengan mengubah menjadi nilai hexadecimal dengan software binary viewer untuk melakukan proses kompresi dengan menerapkan algoritma Golomb, setelah itu susun nilai tersebut mulai dari frekuensi terbesar hingga terkecil, setelah menyusun nilai tersebut langkah selanjutnya melakukan proses pengkompresian dengan codeword dari algoritma Golomb. Proses pengkompresian dengan menerapkan algoritma Golomb mendapatkan hasil terhadap kualitas proses kompresi tersebut adalah Ratio of Compression sebesar 2,27%, Compression of Ratio sebesar 44,14%, dan Space Saving sebesar 55,86%. Perancangan aplikasi kompresi file PDF dengan menggunakan software Microsoft Visual Studio
No Nama File Ukuran File Ukuran Setelah Dikompresi
Kinerja Proses Kompresi
RC CR SS
1 UAS PC.pdf 3,683 KB 1625,68 2,27 44,14% 55,86%
2 Tugas Kelompok.pdf 1,778 KB 708,53 2,01 39,85% 60,15%
3 Artikel 1.pdf 927 KB 400,00 1,63 43,15% 56,85%
4 Kwitansi&KRS.pdf 453 KB 108,176 1,15 23,88% 76,12%
5 KWN pert 6.pdf 1.083 KB 487,35 2,32 45% 55%
2010, yang dimana form awal interface-nya terdiri dari input file yang akan dikompresi lalu akan menjadi file output setelah dikompresi.
REFERENCES
[1] R. A. Sumarni and N. Dwitiyanti, “Pengembangan E-Modul Kalfis Matlab Gerak Vertikal Menggunakan Flip Pdf Corporate Edition,” in Semnas Ristek (Seminar Nasional Riset dan Inovasi Teknologi), 2022, vol. 6, no. 1.
[2] G. I. Taopan, M. Boru, and A. Fanggidae, “Pengamanan Portable Document Format (PDF) Menggunakan Algoritma Kriptografi Kurva Eliptik,” J-ICON J. Komput. dan Inform., vol. 10, no. 1, pp. 47–54, 2022.
[3] M. Mawar, “Perancangan Aplikasi Kompresi File Pdf Dengan Menerapkan Algoritma Punctured Elias Codes,” Inf. dan Teknol. Ilm., vol. 7, no. 3, pp. 217–223, 2020.
[4] P. Lestari and S. D. Nasution, “Perancangan Aplikasi Kompresi File Gambar Menggunakan Algoritma Elias Omega Code,”
J. Inf. Syst. Res., vol. 3, no. 4, pp. 358–366, 2022.
[5] W. P. Mahardika, A. Saputra, H. F. W. Halawa, M. Kaja, M. Ndruru, and S. Aripin, “Perancangan Website Blog Anime Dengan Menerapkan Algoritma Rice Codes Untuk Mengkompresi File Gambar,” in Prosiding Seminar Nasional Teknik Elektro, Sistem Informasi, dan Teknik Informatika (SNESTIK), 2022, vol. 1, no. 1, pp. 381–386.
[6] E. K. Gulo, “Perancangan Aplikasi Kompresi Audio dengan Menerapkan Algoritma Golomb,” Pelita Inform. Budi Darma, vol. 16, pp. 436–439, 2017.
[7] M. Sitorus, “Penerapan Algoritma Golomb Pada Aplikasi Kompresi Short Message Service (SMS),” J. Comput. Syst.
Informatics …, vol. 1, no. 4, pp. 159–165, 2020.
[8] B. Tarigan, “Bulletin of Information Technology (BIT) Penerapan Algoritma VLBE Pada Aplikasi Kompresi File,” Bull.
Inf. Technol., vol. 1, no. 2, pp. 75–82, 2020.
[9] F. E. Naibaho, “Implementasi Algoritma J-Bit Encoding Pada Kompresi File PDF,” J. Sist. Komput. dan Inform., vol. 1, no.
3, p. 265, 2020, doi: 10.30865/json.v1i3.2153.
[10] F. D. Yonathan, H. Nasution, and H. Priyanto, “Aplikasi Pengaman Dokumen Digital Menggunakan Algoritma Kriptografi Hybrid Dan Algoritma Kompresi Huffman,” JEPIN (Jurnal Edukasi dan Penelit. Inform., vol. 7, no. 2, pp. 181–195, 2021.
[11] B. Ramadhana, “Implementasi Kombinasi Algoritma Fibonacci Codes Dan Levenstein Codes Untuk Kompresi File Pdf,”
vol. 8, no. 2, pp. 67–71, 2021.
[12] U. S. Utara, “Kompresi File Citra Berbasis Android Fakultas Ilmu Komputer Dan Teknologi Informasi,” 2017.