Jurnal Ilmu Komputer. Teknologi Dan Informasi Vol 1. No. Juli 2023. Hal 34 - 42 ISSN: 2963-0169 (Online - Elektroni. https://journal. id/index. php/jurikti Implementasi Kombinasi Algoritma Tunstall Code Dan Boldi-Vigna Untuk Kompresi File Pdf Romi Adi Sandra Fakultas Ilmu Komputer Dan Teknologi Informasi. Prodi Studi Teknik Informatika. Universitas Budi Darma. Kota. Indonesia Jl. Sisingamangaraja No. Medan. Sumatera Utara. Indonesia Email: romiadisandra@gmail. Abstrak-Kebutuhan file pdf yang digunakan untuk keperluan pengiriman dengan size yang terlalu besar tentu sangat mempersulit pengiriman, hal ini dikarenakan banyak media pengiriman yang membatasi jumlah size pdf. Masalahnya adalah pada kapasitas penyimpanan yang disediakan, jika file pdf yang terlalu besar dapat mengakibatkan pemborosan ruang penyimpanan dan memperlambat transmisi data. Sehingga dibutuhkan teknik kompresi. Pada penelitian ini akan dilakukan proses kompresi file pdf dengan dua proses algoritma yaitu algoritma Tunstall Code dan algoritma Boldi-Vigna. Proses kompresi file pdf pertama dilakukan dengan algoritma Tunstall Code, kemudian dilanjutkan dengan kompresi kedua menggunakan algoritma Boldi-Vigna. Sedangkan untuk proses dekompresi dilakukan sebanyak dua kali yaitu dekompresi pertama menggunakan algoritma Boldi-Vigna dan dekompresi kedua menggunakan algoritma Tunstall Code. Berdasarkan hasil analisa dengan dua proses kompresi didapatkan space saving kompresi file pdf hingga mencapai 62,5% sedangkan rasio kompresi sebanyak 37,5% . Kata Kunci: kompresi, pdf. Tunstall Code. Boldi-Vigna Abstract-The need for a pdf file that is used for shipping purposes with a size that is too large is certainly very difficult to send, this is because many delivery media limit the number of pdf sizes. the problem is in the storage capacity provided, if the pdf file is too large it can result in wasting storage space and slow down data transmission. So a compression technique is needed. In this study, a pdf file compression process will be carried out with two algorithm processes, namely the Tunstall Code algorithm and the BoldiVigna algorithm. The first pdf file compression process is done with yahoo Tunstall Code, then followed by a second compression using yahoo Boldi-Vigna. Meanwhile, the decompression process was carried out twice, namely the first decompression using the Boldi-Vigna algorithm and the second decompression using the Tunstall Code algorithm. Based on the results of the analysis with two compression processes, the storage space for the pdf file compression reaches 62. 5% while the compression ratio is 37. Keywords: compression, pdf. Tunstall Code. Boldi-Vigna PENDAHULUAN Bagi masyarakat umum keberadaan file dengan ekstensi PDF mungkin tidaklah asing, bahkan banyak yang mengetahui aplikasi yang dapat membaca file PDF Adobe Reader. Namun, tidak sedikit masyarakat yang mengerti tujuan dari file PDF, mengingat untuk pengolahan data sudah ada Microsoft Office. Penggunaan file PDF biasanya identik dalam dunia kerja yang mengarah pada pengolah data. Data yang sudah dibuat dalam Microsoft Office seperti word, excel dan lainnya biasa di simpan dalam ekstensi aslinya atau dalam ekstensi lain, salah satunya adalah ekstensi PDF. Banyaknya orang yang memilih menggunakan format PDF dikarenakan sangat praktis dan tidak memakan waktu lama untuk membukanya. File PDF juga sering digunakan untuk keperluan pengiriman via email atau media pengiriminan lainya. Banyak perusahaan atau universitas yang meminta untuk mengirimkan suatu file, dirubah terlebih dahulu kedalam bentuk PDF sebelum dikirimkan. Kebutuhan file PDF yang digunakan untuk keperluan pengiriman dengan size yang terlalu besar tentu sangat mempersulit pengiriman, hal ini dikarenakan banyak media pengiriman yang membatasi jumlah size PDF . Masalah yang terjadi adalah ukuran data file PDF yang besar mengakibatkan pemborosan memori penyimpanan dan memperlambat proses transmisi data. Sehingga dibutuhkan teknik pengecilan data atau biasa disebut dengan teknik Kompresi bertujuan untuk mengurangi redudansi data menjadi sekecil mungkin. Kompresi data adalah sebuah cara untuk memadatkan data sehingga hanya memerlukan ruangan penyimpanan lebih kecil sehingga lebih efisien dalam menyimpannya atau mempersingkat waktu pertukaran data tersebut. Kompresi data dapat dibagi menjadi dua, lossless compression dan lossy compression . Lossless compression berarti data yang telah dikompres mampu dikembalikan menjadi data aslinya. Dalam lossy compression, data yang telah dikompresi tidak dapat dikembalikan menjadi data asli karena hilangnya informasi pada saat proses kompresi. Teknik kompresi menggunakan algoritma dalam melakukan lagkah-langkah perhitungan kompresi . Ada berbagai macam algoritma kompresi data salah satunya adalah algoritma Tunstall Code dan Algoritma Boldi-Vigna. Algoritma Tunstall Code adalah salah satu metode kompresi yang memetakan simbol sumber ke sejumlah bit serta menyortirnya berdasarkan panjang dari variabel data, sehingga dapat ditunjukkan bahwa dalam sebuah kamus yang cukup besar, jumlah bit per huruf dari sumber tidak terbatas . Sedangkkan algoritma Boldi-Vigna diperkenalkan oleh Paolo Boldi dan Sebastiano Vigna sebagai keluarga Variable-Length. Kedua algoritma tersebut adalah jenis lossless dimana algoritma dapat dikombinasikan untuk memperkecil ukuran PDF . Pada penelitian ini, kompresi file PDF dilakukan dengan 2 algoritma. Proses kompresi file PDF pertama dilakukan dengan algoritma Tunstall Code kemudian dilanjutkan dengan kompresi kedua menggunakan algoritma Boldi-Vigna. Kombinasi ini bertujuan untuk mendapatkan hasil space saving dan rasio kompresi yang lebih optimal dari teknik satu kali kompresi. Romi Adi Sandra. JurIKTI | Page 34 Jurnal Ilmu Komputer. Teknologi Dan Informasi Vol 1. No. Juli 2023. Hal 34 - 42 ISSN: 2963-0169 (Online - Elektroni. https://journal. id/index. php/jurikti METODOLOGI PENELITIAN 1 Tahapan Penelitian Adapun tahapan penelitian yang di laksanakan adalah seperti gambar 1 di bawah ini: Mulai Studi Literatur Analisa Dan Perancangan Sistem Implementasi Sistem Pengujian Sistem Dokumentasi Selesai Gambar 1. Tahapan Penelitian Berdasarkan Gambar 1 di atas. Metode pengumpulan data yang digunakan dalam pembahasan penelitian ini adalah sebagai berikut: Studi Literatur Merupakan tahap pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper, dan buku-buku yang berkaitan dengan judul penelitian, serta mencari informasi dari berbagai sumber di internet untuk mengetahui perkembangan terbaru dari data yang diambil sebagai bahan dalam pembuatan tugas akhir. Analisa dan perancangan sistem Tahap ini akan dilaksanakan analisa data, kebutuhan sistem yang digambarkan dalam flowchart, dan perancangan Implementasi sistem Implementasi dilaksanakan berdasarkan hasil analisa dan perancangan yang telah dilakukan sebelumnya. Dalam tahap ini dilakukan pengkodean . dalam menggunakan bahasa pemograman Microsoft Visual Studio Net Pengujian sistem Pengujian ini dilakukan pengujian terhadap proses kompresi pada sistem yang telah di bangun. Meliputi input file pdf, proses kompresi, proses dekompresi dan juga mencakup apakah implementasi sistem sudah sesuai dengan teori serta perancangan yang sudah dilakukan sebelumnya. Dokumentasi Membuat dokumentasi sistem dari tahap awal sampai pengujian sistem, kemudian untuk disusun dalam format 2 Kompresi Kompresi data adalah ilmu atau seni yang merepresentasikan informasi dalam bentuk yang lebih compact . Istilah kompresi tersebut diterjemahkan dari kata bahasa Inggris AucompressionAy yang berarti pemampatan . Dalam bidang teknik, kompresi berarti proses memampatkan sesuatu yang berukuran besar sehingga menjadi kecil. Dengan demikian, kompresi data berarti teknik untuk mengurangi ukuran data agar penyimpanannya jauh lebih padat dan juga untuk mengurangi waktu pengiriman data tersebut. Kompresi data bertujuan untuk mengurangi jumlah bit yang digunakan untuk menyimpan atau mengirimkan informasi. Tujuan daripada kompresi data tidak lain adalah untuk mengurangi data yang berlebihan (Redundancy Dat. sehingga ukuran data menjadi lebih kecil dan lebih ringan sehingga mengurangi biaya untuk penyimpanan . Romi Adi Sandra. JurIKTI | Page 35 Jurnal Ilmu Komputer. Teknologi Dan Informasi Vol 1. No. Juli 2023. Hal 34 - 42 ISSN: 2963-0169 (Online - Elektroni. https://journal. id/index. php/jurikti 3 Konsep Kompresi Proses kompresi sendiri didasarkan pada bahwa isi file akan dibaca secara per byte . sehingga menghasilkan nilai pembacaan antara 0 hingga 255. Suatu metode pada kompresi data akan menghasilkan bit-bit . atuan terkecil pembentuk dat. data baru yang lebih pendek dibandingkan oleh bit-bit data sebelum dikompresi. Bitbit data yang lebih pendek tersebut biasanya tidak akan bisa dibaca oleh komputer sebelum dilakukan proses encoding. Didalam komputer satu karakter direpresentasikan oleh bilangan ASCII (American Standard Code For Information Interchang. sebanyak delapan bit dalam bilangan biner. Jika ternyata jumlah bit-bit data tersebut bukan merupakan kelipatan delapan. Maka dibentuk variabel baru sebagai penambahan ke bit-bit data itu agar bit-bit data tersebut habis dibagi delapan. Variabel ini adalah padding dan flag bits . Flag Bits Flag bits adalah penambahan bilangan biner sepanjang delapan bit setelah padding dimana flag bits ini adalah sejumlah bilangan yang memberikan sebuah tanda bahwa terdapat n buah padding di dalam bit-bit data hasil dari Penambahan flag bits ini dimaksudkan untuk mempermudah dalam membaca bit-bit data hasil kompresi pada saat proses dekompresi. Contoh misalkan bit-bit data yang telah diberikan padding adalah 10010110. Karena terdapat 1 bit penambahan padding maka flag bitsnya adalah bilangan biner dari 1 dengan panjang 8 bit yaitu Sehingga bit-bit datanya menjadi 1001011000000001 setelah diberikan flag bits . Padding Padding adalah penambahan bit 0 sebanyak kekurangan jumlah bit-bit data pada hasil proses kompresi sehingga jumlah keseluruhan bit-bit data tersebut merupakan kelipatan delapan . abis dibagi delapa. Contoh misalkan dihasilkan bit-bit data hasil kompresi yaitu 1001011. Terdapat 7 bit data dalam bilangan biner. Maka dilakukan penambahan bit 0 sebanyak 1 kali agar jumlah bit-bit data tersebut habis dibagi delapan. Sehingga bit bit data itu menjadi 10010110 setelah diberikan padding. 4 Ukuran Kinerja Kompresi Ketika mengukur performa dari suatu algoritma kompresi, biasanya akan fokus pada efisiensi dari ruang penyimpanan dan efisiensi waktu termasuk dalam faktor lainnya. Performa suatu algoritma kompresi juga bergantung pada tipe dan struktur dari sumber masukan, yang mana juga akan tergantung pada apakah termasuk dalam kategori kompresi lossless atau lossy. Untuk menilai dan mengetahui keefektifan suatu algoritma kompresi ataupun untuk mengetahui perbandingan file sebelum dan setlah di kompresi, maka diperlukan beberapa parameter kinerja kompresi yang harus diperhatikan sebagai berikut. Ada beberapa faktor pembanding yang digunakan dalam penelitian ini, yaitu Ratio of Compression (RC). Compression Ratio (CR). Redundancy (R. Ratio of Compression (R. Ratio of Compression (R. adalah perbandingan antara ukuran data sebelum dikompresi dengan ukuran data setelah . Compression Ratio (C. Compression Ratio (C. adalah persentasi besar data yang telah dikompresi yang didapat dari hasil perbandingan antara ukuran data setelah dikompresi dengan ukuran data sebelum dikompresi . Saving Percentages / Space Saving (SS) Saving Percentages menghitung persentasi penyusutan dari data sebelum dilakukan kompresi . 5 Algoritma Tunstall Code Algoritma Tunstall Code adalah algoritma kompresi data yang dikemukakan oleh Brian Parker Tunstall sebagai subjek thesis PhD sewaktu Georgia Institute of Technology pada tahun 1967 dimana dalam algoritma ini tahapan awal yang dilakukan yaitu membangun sebuah tabel yang memuat simbol, frekuensi, dan kolom probabilitas . Setelah itu sortir simbol sesuai dengan probabilitas terbesar. Kemudian lakukan literasi, untuk mengetahui berapa literasi yang harus dilakukan yaitu dengan memasukkan ke dalam rumus ycA . cA Oe . O 2ycu. Kemudian lakukan literasi sesuai dengan hasil k yang diperoleh. Untuk melakukan peliterasian, pertama-tama pilah simbol sesuai dengan probabilitas terbesar, kemudian hapus simbol dengan probabilitas tertinggi. Misalkan kita ingin membuat N-bit Tunstall codewords, jumlah codewords adalah 2N. Codewords merupakan representasi bit tiap simbol. Adapun langkah-langkah algoritma ini, adalah: Buat sebuah pohon dengan simpul akar yang memiliki probabilitas 1. Hubungkan 0 dan 1 ke root, dua node daun yang dihasilkan masing-masing memiliki probabilitas terjadinya 1 dan 0, yang masing-masing adalah Prob . dan Romi Adi Sandra. JurIKTI | Page 36 Jurnal Ilmu Komputer. Teknologi Dan Informasi Vol 1. No. Juli 2023. Hal 34 - 42 ISSN: 2963-0169 (Online - Elektroni. https://journal. id/index. php/jurikti Prob . Node daun dengan probabilitas tertinggi dibagi menjadi dua cabang dengan 0 dan 1 sebagai label. Setelah membelah, jumlah simpul daun meningkat 1. Langkah 2 diulangi hingga jumlah total node daun sama dengan 2N. Tetapkan codeword dengan panjang yang sama . anjang = N) ke node leaf. 6 Algoritma Boldi-Vigna Zeta () kode juga dikenal sebagai Boldi-Vigna code, diperkenalkan oleh Paolo Boldi dan Sebastiano Vigna sebagai keluarga Variable-Length Code yang merupakan pilihan terbaik untuk kompresi. Dimulai dengan hukum Zipf, seorang kuasa hukum empiris [Zipf . diperkenalkan oleh Linguis George K. Zipf. Menyatakan bahwa frekuensi setiap kata dalam bahasa alami kira-kira berbanding terbalik dengan posisinya dalam tabel frekuensi . Boldi-Vigna kode zeta dimulai dengan bilangan bulat k positif yang menjadi menyusut oleh Faktor kode. Himpunan semua bilangan bulat positif dibagi menjadi . 0, 2k - . , . k, 22k - . , . k, 23k - . , dan secara umum . hk, 2 . k - . Panjang setiap interval adalah 2 . k - 2hk . Diberikan interval . , z-. dan sebuah integer x di interval ini, pertama kita hitung s =[ log2 . Jika x <2 - z, dikodekan sebagai unsur xth elemen pada interval ini, pada s - 1 bit. Jika tidak, maka dikodekan sebagai . - z - 2. th elemen pada interval di s bit. Dengan latar belakang ini, di sini dibahas bagaimana kode zeta dibangun. Mengingat bilangan bulat n akan dikodekan, kami mempekerjakan k untuk menentukan interval di mana n berada. Salah satu yang diketahui, nilai-nilai h dan k yang digunakan dengan cara yang sederhana untuk membangun kode zeta n dalam dua bagian, nilai h 1 di unary . ebagai nol h diikuti dengan . , diikuti oleh minimal kode biner dari n - 2hk dalam interval . , 2 . k - 2hk - . HASIL DAN PEMBAHASAN Pada saat ini banyak orang-orang yang menggunakan file pdf untuk saling bertukar informasi. Contohnya dalam mengirim berkas-berkas yang berhubungan dengan file seperti word teks yang selalu dirubah kedalam file pdf. Banyak perusahaan atau universitas meminta terhadap pengirim file untuk merubah data file kedalam bentuk pdf terlebih dahulu sebelum dikirim. Kebutuhan file pdf yang digunakan untuk keperluan pengiriman dengan size yang terlalu besar tentu sangat mempersulit pengiriman, hal ini dikarenakan banyak media pengiriman yang membatasi jumlah size pdf. Masalahnya adalah pada kapasitas penyimpanan yang disediakan, jika file pdf yang terlalu besar dapat mengakibatkan pemborosan ruang penyimpanan dan memperlambat transmisi data. Berdasarkan pada masalah di atas dan pada masalah bab sebelumnya, makan dibutuhkan sebuah teknik pengecilan ukuran file pdf. Teknik tersebut adalah kompresi data. Kompresi data ini akan mengecilkan ukuran file pdf dari ukuran File pdf yang sudah dikecilkan ukuranya, dapat dikembalikan semula dengan teknik dekompresi. Pada penelitian ini akan dilakukan proses kompresi file pdf dengan dua proses algoritma yaitu algoritma Tunstall Code dan algoritma Boldi-Vigna. Proses kompresi file pdf pertama dilakukan dengan algoritma Tunstall Code, kemudian dilanjutkan dengan kompresi kedua menggunakan algoritma Boldi-Vigna. Sedangkan untuk proses dekompresi dilakukan sebanyak dua kali yaitu dekompresi pertama menggunakan algoritma Boldi-Vigna dan dekompresi kedua menggunakan algoritma Tunstall Code, sehingga didapatkan ukuran file pdf awal sebelum terkompresi. Tujuan dari melakukan dua kali kompresi pada file pdf ini adalah untuk mendapatkan hasil berupa parameter kompresi yang lebih maksimal dan optimal seperti space saving dan rasio kompresi. 1 Penerapan Algoritma Dalam melakukan kompresi file pdf, sebelumnya dilakukan analisa file pdf tersebut. Berdasarkan pada batasan masalah, file pdf yang dikompresi berupa file yang berisi karakter string . , selain itu tidak bisa. Sebelum melakukan kompresi file pdf, terlebih dahulu menentukan file yang akan dikompresi. Pada contoh kasus ini file pdf yang akan dikompresi diberi nama Sampel. pdf seperti pada gambar di bawah ini: Gambar 2. File PDF Sampel Berdasarkan pada gambar 1 di atas, file pdf memiliki ukuran 143 KB. Untuk mendapatkan nilai string dari file PDF untuk keperluan hitungan manual maka dibutuhkan aplikasi bantuan. Adapun hasil dari string file pdf berupa Sampel. pdf dapat dilihat pada gambar di bawah ini: Romi Adi Sandra. JurIKTI | Page 37 Jurnal Ilmu Komputer. Teknologi Dan Informasi Vol 1. No. Juli 2023. Hal 34 - 42 ISSN: 2963-0169 (Online - Elektroni. https://journal. id/index. php/jurikti Gambar 2. Nilai File PDF Sampel Berdasarkan pada gambar di atas, untuk memudahkan hitungan manual, maka penulis hanya mengambil contoh string file pdf sampel pada baris ke-5 saja yaitu nilai hexadesimal file pdf seperti dibawah ini: String : 65, 6E, 67, 74, 68, 31, 20, 33, 33, 36, 33, 37, 32, 0A, 3E, 3E Berdasarkan pada string yang akan dijadikan sampel dan contoh kasus pada penelitian ini akan dikompresi menggunakan algoritma Tunstall Code terlebih dahulu, kemudian dilanjutkan menggunakan algoritma Boldi-Vigna. 1 Kompresi Berdasarkan Algoritma Tunstall Code Untuk memulai proses kompresi, terlebih dahulu setiap string sampel file pdf dirubah kedalam bentuk hexa dan binner kemudian diurutkan dengen memulai dari frekuensi terbesar . anyaknya huruf yang sam. ke yang terkecil. Adapun urutan nilai file pdf sampel yang sudah disusun dapat dilihat pada tabel di bawah ini : Tabel 1. Urutan Karakter Hexa Total Binner Bit Frekuensi Bit * Frek 128 Bit Berdasarkan pada tabel 1 di atas, satu nilai hexa/karakter memiliki nilai delapan bit, dan nilai biner didapat dari melihat tabel ASCII. Adapun jumlah nilai hexa file pdf sebanyak 16 nilai dengan total ukuran 128 bit. Setelah nilai bit didapatkan dari semua nilai, selanjutnya adalah melakukan kompresi pertama menggunakan algoritma Tunstall Code. Penkompresian dilakukan dengan mengalikan nilai frekuensi dari nilai hexa file pdf yang muncul dengan nilai frekuensi bit dari algoritma Tunstall Code. Adapun untuk mendapat nilai bit algoritma Tunstall Code adalah sebagai berikut: Buat sebuah pohon dengan simpul akar yang memiliki probabilitas 1. Hubungkan 0 dan 1 ke root, dua node daun yang dihasilkan masing-masing memiliki probabilitas terjadinya 1 dan 0. Node daun dengan probabilitas tertinggi dibagi menjadi dua cabang dengan 0 dan 1 sebagai label. Setelah membelah, jumlah simpul daun meningkat 1. Langkah 2 diulangi hingga jumlah total node daun sama dengan 2N. Tetapkan codeword dengan panjang yang sama . anjang = N) ke node leaf. Adapun tabel nilai Tunstall Code yang didapatkan dari sejumlah banyaknya string file pdf yang akan dikompresi adalah sebagai berikut: Romi Adi Sandra. JurIKTI | Page 38 Jurnal Ilmu Komputer. Teknologi Dan Informasi Vol 1. No. Juli 2023. Hal 34 - 42 ISSN: 2963-0169 (Online - Elektroni. https://journal. id/index. php/jurikti Tabel 2. Kode Nilai Tunstall Codeword Tunstall Selanjutnya dilakukan kompresi string sampel file pdf menggunakan algoritma Tunstall Code dengan mengalikan banyaknya frekuensi nilai hexa yang muncul dengan banyaknya bit nilai Tunstall. Adapun proses kompresi tersebut dapat dilihat pada tabel di bawah ini: Tabel 3. Kompresi Pertama Dengan Nilai Tunstall N Hexa Total Codeword Tunstall Code Jumlah Bit Tunstall Frekuensi Karakter Bit * Frek 46 bit Berdasarkan pada tabel 3 di atas dapat dibentuk nilai bit baru hasil kompresi dari susunan nilai hexa file pdf sebelum kompresi yaitu "65, 6E, 67, 74, 68, 31, 20, 33, 33, 36, 33, 37, 32, 0A, 3E, 3E" menjadi nilai bit biner : Nilai hexa pertama "65" pada tabel 3 kode Tunstallnya adalah 10 Sehingga untuk hasil seterusnya dapat dilihat pada tabel di bawah ini: Tabel 4. Susunan Bit Baru Kompresi Pertama No Hexa Total Kode Tunstall 46 bit Romi Adi Sandra. JurIKTI | Page 39 Jurnal Ilmu Komputer. Teknologi Dan Informasi Vol 1. No. Juli 2023. Hal 34 - 42 ISSN: 2963-0169 (Online - Elektroni. https://journal. id/index. php/jurikti Sehingga jika digabung menghasilkan nilai bit baru yaitu: "1011101100110111100000001001001010101111000101" Proses selanjutnya adalah melakukan penambahan atau padding dan flag bits. Padding dilakukan jika jumlat bit hasil kompresi tidak habis dibagi 8 atau memiliki sisa. Sedangkan Flag bits adalah nilai angka padding yang dijadikan Karena jumlah bit hasil kompresi Tunstall 46 jika dibagi 8 maka memiliki sisa 6 maka ditambahkan padding sebanyak kurangnya sisa yaitu 2 bit nilai binner "00". Dengan demikian, flags bitnya adalah nilai binner dari angka 2 . yaitu "00000010". Sehingga string bit yang terbentuk keseluruhanya adalah: "10111011001101111000000010010010101011110001010000000010" Adapun total keseluruhan bit adalah 46 2 . = 56 bit. 2 Kompresi Berdasarkan Algoritma Boldi-Vigna Sebelum melakukan kompresi kedua menggunakan algoritma Boldi-Vigna, terelebih dahulu hasil kompresi pertama dipisah menjadi 8 bit dan disusun dari frekuensi terbesar hingga terkecil. Tabel 5. Nilai Hexa dan Binner Hasil Kompresi Pertama Binner Hexa Adapun bit hasil kompresi pertama yang telah disusun dapat dilihat pada tabel di bawah ini: Tabel 6. Urutan Nilai Hasil Kompresi Pertama Binner Total Nilai Hexa Bit Frekuensi Bit * Frek 56 Bit Berdasarkan pada tabel 6 di atas, adapun jumlah nilai hexa . sebanyak 7 nilai dengan total ukuran 56 bit. Setelah nilai bit didapatkan dari semua nilai, selanjutnya adalah melakukan kompresi kedua menggunakan algoritma Boldi-Vigna. Penkompresian dilakukan dengan mengalikan nilai frekuensi dari setiap nilai hexa yang muncul dengan nilai frekuensi bit dari algoritma Boldi-Vigna. Adapun nilai dari Boldi-Vigna yang didapat sesuai dengan jumlah nilai hexa yang dikompresi dapat dilihat pada tabel berikut: Tabel 7. Kode Boldi-Vigna Kode Boldi-Vigna Selanjutnya dilakukan kompresi kedua menggunakan algoritma Boldi-Vigna dengan mengalikan banyaknya frekuensi nilai hexa yang muncul dengan banyaknya bit nilai Boldi-Vigna. Adapun proses kompresi tersebut dapat dilihat pada tabel di bawah ini: Romi Adi Sandra. JurIKTI | Page 40 Jurnal Ilmu Komputer. Teknologi Dan Informasi Vol 1. No. Juli 2023. Hal 34 - 42 ISSN: 2963-0169 (Online - Elektroni. https://journal. id/index. php/jurikti Tabel 8. Kompresi Kedua Dengan Nilai Boldi-Vigna Hasil Kompresi Pertama Binner Hexa Total Boldi-Vigna Jumlah Bit Boldi-Vigna Frekuensi Binner Bit * Frek 34 bit Berdasarkan pada tabel 8 di atas dapat dibentuk nilai bit baru hasil kompresi dari susunan nilai hexa kompresi pertama yaitu "BB, 37, 80, 92. AF, 14, 2" . anpa tanda kom. menjadi nilai bit biner baru: Misal nilai hexa pertama "BB" pada tabel 8 kode Boldi-Vignaya adalah "1000" Sehingga untuk hasil seterusnya dapat dilihat pada tabel di bawah ini : Tabel 9. Susunan Bit Baru Kompresi Kedua Hexa Total Kode Boldi-Vigna 34 bit Sehingga jika digabung menghasilkan nilai bit baru yaitu: "1000100101001110100101011011010111". Proses selanjutnya adalah melakukan penambahan atau padding dan flag bits. Padding dilakukan jika jumlat bit hasil kompresi tidak habis dibagi 8 atau memiliki sisa. Sedangkan Flag bits adalah nilai angka padding yang dijadikan Karena jumlah bit hasil kompresi kedua Boldi-Vigna 34 tidak habis dibagi 8 dan memiliki sisa 2 maka ditambahkan padding sebanyak kurangnya sisa yaitu 6 bit nilai binner "000000". Dengan demikian, flags bitnya adalah nilai binner dari angka 6 . yaitu "00000110". Sehingga string bit yang terbentuk keseluruhanya adalah: "100010010100111010010101101101011100000000000110" Adapun total keseluruhan bit adalah 48 bit. Berdasarkan hasil kedua kompresi maka, didapatkan hasil kompresi akhir berupa pengecilan ukuran string sampel file pdf dari 128 bit menjadi 48 bit. Adapun hasil akhirnya setiap bit dipecah menjadi 8 bit dapat dilihat pada tabel di bawah ini: Tabel 10. Hasil Akhir Kompresi No Binner Total Nilai Hexa Bit Frekuensi Bit * Frek 40 Bit Kemudian hasil kompresi nilai desimal dirubah kedalam bentuk karakter dengan melihat tabel ASCII. Adapun nilai karakter yang dihasilkan dari proses kedua kompresi: Tabel 11. Karakter Hasil Kompresi Binner Nilai Hexa Karakter A A Romi Adi Sandra. JurIKTI | Page 41 Jurnal Ilmu Komputer. Teknologi Dan Informasi Vol 1. No. Juli 2023. Hal 34 - 42 ISSN: 2963-0169 (Online - Elektroni. https://journal. id/index. php/jurikti Binner Nilai Hexa Karakter ACK 3 Menghitung Parameter Hasil Kompresi Berdasarkan hasil kompresi dengan Tunstall Code dan Boldi-Vigna pada proses sebelumnya, adapun dapat dihitung proses kinerja kompresinya berupa parameter yaitu: Ratio of Compression (RC) Rc = Rc = Rc = 2,7 Compression Ratio (CR) Cr = Cr = x100 Cr = 37,5 % Space Saving (S. Ss = Ss = Ss = 62,5 % KESIMPULAN Berdasarkan pengujian yang telah dilakukan sebelumnya, dapat disimpulkan bahwa Kompresi dan dekompresi menggunakan algoritma Tunstall Codes dan Boldi-Vigna berhasil dilakukan terhadap file PDF dengan membaca setiap string file PDF. Proses implementasi kompresi mendapatkan hasil berupa parameter Compression Ratio,Ratio of Compression dan Space Saving dengan menghitung setiap nilai pengurangan ukuran file sesuai rumus parameter yang sudah ditetapkan pada aplikasi. Dan Penerapan algoritma Tunstall Codes dan Boldi-Vigna pada aplikasi kompresi file PDF, mendapatkan hasil ukuran kompresi file PDF dengan rata-rata < 50 % . REFERENSI