• Tidak ada hasil yang ditemukan

Analisa Perbandingan Algoritma Elias Gamma Code Dan Algoritma Goldbach Code Pada Kompresi File Dokumen

N/A
N/A
Protected

Academic year: 2023

Membagikan "Analisa Perbandingan Algoritma Elias Gamma Code Dan Algoritma Goldbach Code Pada Kompresi File Dokumen"

Copied!
12
0
0

Teks penuh

(1)

Analisa Perbandingan Algoritma Elias Gamma Code Dan Algoritma Goldbach Code Pada Kompresi File Dokumen

Ari Pradana

Fakultas Ilmu Komputer Dan Teknologi Informasi, Program Studi Teknik Informatika, Universitas Budi Darma, Medan, Indonesia Email: masspradana@gmail.com

Abstrak−Dimasa Covid-19 sekarang ini khususnya diseluruh sekolah dan universitas menerapkan sistem belajar daring yang membuat banyaknya data yang dibutuhkan, salah satu jenis data tersebut dikemas dalam suatu file dokumen yang berekstensikan RTF untuk mengirim sebuah informasi dikarenakan jenis file ini terbilang cukup merinci dan leluasa dalam proses pengeditannya.

Namun terkadang file RTF memiliki ukuran kapasitas data yang besar, sehingga memerlukan waktu yang lama pada proses pengiriman data dan mengakibatkan pemborosan ruang penyimpanan. Maka dari itu, dibutuhkan suatu teknik pengkompresian data agar ukuran data tersebut menjadi lebih kecil dan tidak banyak menghabiskan ruang penyimpanan. Proses pengkompresian dapat dilakukan dengan banyak algoritma yang ada, pada penelitian ini akan dilakukan proses kompresi dengan algoritma Elias Gamma Code dan algoritma Goldbach Code. Yang mana hasil dari algoritma Elias Gamma Code mendapatkan hasil kompresi sebesar 42,5%

sedangkan algoritma Goldbach Code mendapatkan hasil kompresi sebesar 47,5%. Dari kedua algoritma tersebut terdapat banyak kekurangan dan kelebihan dari masing-masing algoritma, sehingga akan dilakukan proses perbandingan dari kedua algoritma tersebut dengan menentukan beberapa parameter, yaitu Ratio of Compression (RC), Compression Ratio (CR), Redudancy (RD), dan Space Saving (SS). Dari hasil perbandingan yang didapat algoritma Goldbach Code menjadi algoritma yang paling efektif untuk mengkompresi file dokumen dengan nilai 7,355.

Kata Kunci: Algoritma; EGC; GC; Kompresi; File; Dokumen; Rtf

Abstract−In the current Covid-19 era, especially all schools and universities, implementing an online learning system that makes a lot of data needed, one type of data is packaged in a document file with the RTF extension to send information because this file type is quite detailed and flexible in the process. the editing. But sometimes the RTF file has a large data capacity size, so it takes a long time in the data transmission process and results in wasting storage space. Therefore, a data compression technique is needed so that the data size becomes smaller and does not consume a lot of storage space. The compression process can be done with many existing algorithms, in this study the compression process will be carried out with the Elias Gamma Code algorithm and the Goldbach Code algorithm. Which results from the Elias Gamma Code algorithm getting a compression result of 42.5% while the Goldbach Code algorithm gets a compression result of 47.5%. Of the two algorithms there are many advantages and disadvantages of each algorithm, so a comparison process will be carried out between the two algorithms by determining several parameters, namely Ratio of Compression (RC), Compression Ratio (CR), Redundancy (RD), and Space. Savings (SS). From the comparison results, the Goldbach Code algorithm becomes the most effective algorithm for compressing document files with a value of 7,355.

Keywords: Algorithm; EGC; GC; Compression; File; Document; Rtf

1. PENDAHULUAN

Kompresi data bukanlah hal yang baru lagi dalam dunia komputer sekarang ini. Kompresi merupakan proses meminimalkan ukuran kapasitas suatu data dan menurunkan kualitas dari data tersebut yang bertujuan untuk mendapatkan ukuran data yang diinginkan tanpa harus kehilangan keaslian data yang di kompres. Pada saat pengarsipan file yang berukuran besar dapat dikompresi ke ukuran file yang lebih kecil dengan cara mengurangi redudansi data yang ada pada suatu file [1][2]. Dimasa Covid-19 sekarang ini khususnya diseluruh sekolah dan universitas menerapkan sistem belajar daring yang membuat banyaknya data yang dibutuhkan, salah satu jenis data tersebut dikemas dalam suatu file dokumen yang membuat proses transfer data menjadi lebih lama dan membuat ruang penyimpanan menjadi boros. Pada kompresi file dokumen yang sangat dipengaruhi oleh banyaknya karakter didalam file tersebut yang membuat ukurannya semakin membesar dan kemudian akan disimpan pada ruang penyimpanan, terutama file dokumen yang berekstensikan Rich Text Format (rtf).

File Rich Text Format atau biasa disebut sebagai file rtf merupakan salah satu format file dokumen yang diciptakkan oleh raksasa teknologi asal Amerika yaitu Microsoft berdasarkan kemampuan dari Documen Content Architecture (DCA) yang dirancang khusus oleh IBM untuk jaringan sistem arsitektur (SNA). File dokumen berformatkan rtf ini mampu mengirim teks terformat dalam sebuah dokumen yang berbasis WYSIWYG (What You See Is What You Get) antara aplikasi satu dan yang lainnya, baik pada platform yang sama ataupun lintas platform yang berbeda. Sekarang ini format file rtf memang jarang sekali digunakan karena ukuannya yang terbilang lebih besar dibandingkan format file lainnya. Meski begitu, file rtf memiliki keunggulan tersendiri, seperti lebih aman terhadap serangan virus dan dapat dibuka di platform penulisan manapun [3][4].

Terdapat banyak sekali algoritma pada kompresi yang dapat diterapkan pada saat ingin mengkompres suatu data.

Disini penulis akan membandingkan kinerja dari algoritma Elias Gamma Code dan algoritma Goldbach Code.

Algoritma Elias Gamma Code yang merupakan algoritma ciptaan Peter Elias adalah salah satu algoritma kompresi yang dapat mengkodekan bilangan bulat positif. Algoritma ini bersifat lossless yang dimana menggunakan teknik pengurangan kapasitas sebuah file tanpa harus mempengaruhi file aslinya yang kemudian hasil kompresi tersebut dapat didekompresi atau dikembalikan ke bentuk file awal secara utuh [5]. Sedangkan algoritma Goldbach Code merupakan

(2)

salah satu algoritma yang memperhitungkan penggunaan teori dugaan Goldbach yang dimana semua bilangan positif genap yang lebih dari angka 2 adalah jumlah dari dua bilangan prima [6].

Pada penelitian ditahun 2019 yang dilakukan oleh Dian Pratiwi dkk telah mampu mengonpresi file teks menghasilkan ratio of compression sebesar 1,66 bit untuk algoritma Fixed Length Binary Encoding, sedangkan algoritma Elias Gamma Code sebesar 1,62 bit. Untuk rata-rata compression ratio algoritma Fixed Length Binary Encoding sebesar 60,9% sementara itu algoritma Elias Gamma Code mendapatkan rasio sebesar 62,20%. Dan untuk nilai rata-rata Time kompresi pada algoritma Fixed Length Binary Encoding sebesar 16 ms sedangkan algoritma Elias Gamma Code sebesar 21 ms [7]. Pada tahun 2019 penelitian yang dilakukan oleh Hikka Sartika dkk dalam penggunaan algoritma Elias Gamma Code pada kopresi record database aplikasi rangkuman pengetahuan umum lengkap dengan sampel uji sebesar 64 bit dan memperoleh hasil ratio of compression sebesar 2 bit, untuk compression ratio sebesar 50% dengan redundancy sebesar 50% [8].

Penelitian yang dilakukan oleh Syawaluddin Nainggolan pada tahun 2019 yang menggunakan algoritma Goldbach Code dengan algoritma Dynamic Markov Compression untuk pengompresian file teks menggunakan metode eksponensial yang tebukti optimal dalam mengkompres file teks [9]. Berdasarkan penelitian yang dilakukan oleh Indah Lestari pada tahun 2019 dalam menganalisa perbandingan algoritma Goldbach Code dan algoritma Sequitur untuk kompresi file teks menggunakan metode eksponensial tebukti efektif mengurangi pemakaian media penyimpanan dan pemanfaatan data dengan tingkat rasio lebih tinggi dari data aslinya [10]. Penelitian yang dilakukan pada tahun 2019 oleh Aisyah Saputri Laswi dengan menggunakan algoritma Rice Code dan algoritma Goldbach Code untuk mengoptimalkan media penyimpanan pada memori berupa file teks yang terbukti cocok dalam pengoptimalan file teks dan mendapatkan nilai RS sebesar 0,4 dan nilai SS sebesar 4% untuk algoritma Goldbach Code, sedangkan algoritma Rice Code mendapatkan nilai RS sebesar 0,3 dan nilai SS sebesar 3% [11].

Algoritma Elias Gamma Code dan algoritma Goldbach Code diatas yang akan menjadi pemecah masalah pada kompresi file dokumen pada penelitian ini masih memiliki kekurangan dan kelebihannya masing-masing. Maka dari itu penulis melakukan analisa perbandingan ini agar dapat mengetahui keoptimalan dari kedua algoritma tersebut dalam mengkompresi, mengetahui besar pengaruhnya terhadap kompresi data, dan algoritma mana yang efektif dalam pemampatan data sehingga mempercepat jalannya proses transfer data dan berkurangnya pemakaian ruang penyimpanan.

Berdasarkan uraian latar belakang masalah di atas, penulis bermaksud untuk menguraikan tahap-tahap pemberian solusi, dan membandingkan hasil dari kedua algoritma tersebut yang ditulis dalam penelitian dengan judul

“Analisa Perbandingan Algoritma Elias Gamma Code Dan Algoritma Goldbach Code Pada Kompresi File Dokumen”.

2. METODOLOGI PENELITIAN

2.1 Tahapan Penelitian

Pada metodologi penelitian ini penulis menjabarkan kerangka kerja penelitian atau biasa disebut dengan tahapan dalam penelitian. Tahapan penelitian ini terdiri dari beberapa langkah yang saling terkait satu sama lain secara sistematis.

Kerangka kerja ini sangat diperlukan dalam mempermudah melakukan suatu penelitian. Berikut merupakan kerangka kerja pada proses penelitian ini.Mengindentifikasi masalah, ditahap ini penulis melakukan pengidentifikasian pada masalah yang akan dibahas pada penelitian ini dan metode yang digunakan dalam penyelesaian masalah.

1. Identifikasi Masalah

Pada tahap awal ini adalah cara penulis dapat menduga, memprediksi dan menguraikan apa yang menjadi fokus dari masalah dari kapasitas ruang penyimpanan yang semakin penuh serta melambatnya proses pengiriman file dokumen yang berformatkan rtf yang membuat ruang penyimpanan tidak mampu lagi untuk menampung file tersebut.

2. Studi Pustaka

Ditahapan ini penulis melakukan pemahaman terhadap objek yang akan diteliti melalui media bacaan sebagai referensi seperti buku, jurnal, dan lain sebagainya.

3. Analisa Proses Kompresi Dan Dekopresi Menggunakan Algoritma Elias Gamma Code Dan Algoritma Goldbach Code

Tahapan ini dilakukan agar penulis mengetahui proses kompresi pada file dokumen menggunakan algoritma Elias Gamma Code Dan algoritma Goldbach Code yang memiliki tujuan untuk memperkecil ukuran data dengan menghitung codeword dari setiap n yang ada dan mengetahui proses pengembalian file gambar yang telah dikompresi menjadi bentuk file asli.

4. Analisa Perbandingan Algoritma Elias Gamma Code Dan Algoritma Goldbach Code

Setelah didapatkan hasil dari kompresi dari dua algoritma tersebut, maka penulis membandingkan hasil yang lebih efektif dari kedua algoritma.

5. Mendesain Aplikasi Kompresi Algoritma Elias Gamma Code Dan Algoritma Goldbach Code Pada tahap ini penulis mendesai aplikasi kompresi file dokumen.

6. Implementasi

Pada tahapan ini dilakukan untuk menerapkan proses perhitungan menggunakan algoritma Elias Gamma Code Dan algoritma Goldbach Code.

(3)

7. Pengujian

Dilakukannya tahapan ini untuk mengetahui hasil dari pengkompresian file dokumen yang berformatkan rtf.

8. Dokumentasi

Merupakan tahap akhir dari penelitian ini yang dibuat dalam bentuk laporan. Yang mana nantinya para pembaca dapat melakukan pengembangan terhadap penelitian ini.

Gambar 1 dibawah ini merupakan gambaran tahapan yang dilakukan oleh penulis:

Gambar 1. Kerangka Penelitian 2.2 Kompresi Data

Kompresi adalah proses konversi data dalam mengurangi atau memampatkan ukuran dari kumpulan karakter ke dalam bentuk pengkodean dan menjadikannya data yang diperbarui dengan ukuran file yang lebih kecil dari sebelumnya dengan tanpa menghilangkan tujuan awal file tersebut sehingga hanya membutuhkan lebih sedikit ruang penyimpanan dan mengurangi waktu pada proses transfer data. Kompresi bertujuan mengurangi dan memperkecil ukuran sebuah file untuk mengurangi konsumsi ruang penyimpanan, efisiensi waktu transmisi, dan bandwidth yang dibutuhkan sedikit berkurang [6][8]. Terdapat beberapa parameter yang sering digunakan untuk mengetahui kecepatan dan mengukur hasil dari kompresi dengan menggunakan algoritma kompresi tertentu. Berikut parameter kompresi:

1. Rasio Kompresi (Rc)

Rasio kompresi merupakan suatu parameter kompresi yang memungkinkan untuk membandingkan hasil dari file atau data sebelum dikopresi dengan yang telah dikompresi. Dalam sistem matematis dapat dituliskan seperti berikut:

𝑅𝐶 = Ukuran bit data setelah dikompresi

Ukuran bit data sebelum dikompresi (1)

2. Compression Ratio (Cr)

Compression Ratio adalah persentasi perbandingan dari beberapa data yang sudah terkompresi dengan data yang belum dikompresi.

𝐶𝑅= Ukuran bit data setelah dikompresi

Ukuran bit data sebelum dikompresi × 100% (2)

3. Redundancy (Rd)

Redundancy merupakan bagian tambahan yang berisikan data-data sebelum kompresi. Setelah melakukan kompresi pada suatu data, dapat dihitung redudansi data tersebut, yaitu persentase dari selisih antara ukuran suatu data sebelum kompresi dan setelah kompresi.

Rd = 100% - CR (3)

4. Space Saving (SS)

Space Saving (SS) merupakan persentase dari selisih antar data yang belum terkompres dengan ukuran data yang telah dikompresi.

SS = 1 – CR (4)

Dilihat dari hasil output yang dihasilkan, teknik pengkompresan data terbagi menjadi 2 kategori besar [12], yaitu:

1. Kompresi Lossless merupakan kompresi untuk menjaga akurasi dari suatu data yang dimana perubahan atau kehilangan informasi, bahkan beberapa bit dalam data tersebut selama kompresi, tidak dapat ditoleransi. Untuk teknik kompresi ini bersifat reversible, yang mana kompresi yang dihasilkan dapat kembali kebentuk semula.

Identifikasi Masalah

Studi Pustaka

Analisa Proses Kompresi Dan Dekopresi Menggunakan Algoritma Elias Gamma Code Dan Algoritma Goldbach Code

Analisa Perbandingan Algoritma Elias Gamma Code Dan Algoritma Goldbach Code

Implementasi

Pengujian

Dokumentasi

Mendesain Aplikasi Kompresi Algoritma Elias Gamma Code Dan Algoritma Goldbach Code

(4)

2. Kompresi Lossy merupakan kompresi yang menekankan pada perubahan atau kehilangan informasi atau bit tertentu dalam sebuah data sehingga hasil kompresi tidak dapat lagi dikembalikan kebentuk semula (tidak dapat diubah).

2.3 File Dokumen

File dokumen merupakan suatu dokumen asli yang dapat dipergunakan sebagai alat atau bahan untuk menunjukkan suatu keterangan. Dalam kamus komputer, file dokumen adalah sebuah file yang dikelola oleh sebuah software seperti Microsoft Word, Coreldraw, Notepad, dan lain sebagainya. File dokumen sendiri sering disebut khusus untuk dokumen pengolahan kata yang sekarang sudah digunakan untuk segala jenis file yang diolah dan disimpan. Biasanya file dokumen diwakilkan dengan gambar ikon dan juga nama dari file tersebut. Pada setiap gambar ikon dapat memvisualisasikan ekstensi dari file dokumen tersebut.

2.4 Algoritma Elias Gamma Code

Algoritma Elias Gamma Code merupakan pengkodean pada bilangan bulat positif universal yang dikembangkan oleh Peter Elias yang paling sering digunakan pada saat penyandian bilangan bulat dengan batas atasnya yang tidak dapat ditentukan sebelumnya. Dalam pengkodean gamma bukan kode nol atau bilangan negative. Cara untuk menangani bilangan nol adalah dengan menambahkan bilangan 1 sebelum enkripsi dan mengurangi 1 setelah dekripsi.

Tabel 1. Kode Elias Gamma Index Proses Kode Elias Gamma

1 20 + 0 1

2 21 + 0 010

3 21 + 1 011

4 22 + 0 00100 5 22 + 1 00101 6 22 + 2 00111 7 23 + 3 00111 8 23 + 0 0001000 9 23 + 1 0001001 10 23 + 2 0001010 11 23 + 3 0001011 12 23 + 4 0001100 13 23 + 5 0001101 14 23 + 6 0001110 15 23 + 7 001111 16 24 + 0 000010000 17 24 + 1 000010001 18 24 + 2 000010010 Sumber : Hikka Sartika, Taronisokhi Zebua, 2019 [8]

2.5 Algoritma Goldbach Code

Algoritma Goldbach Code merupakan algoritma hipotesis atau mengasumsikan pemakaian teori konjektur Goldbach Code yang mana seluruh bilangan genap positif yang lebih besar dari 2 adalah jumlah dari dua bilangan prima. Perkiraan ini disebutkan pertama kali dalam surat kepada Euler pada tahun 1742. Didalam surat tersebut ia mengatakan bahwa bilangan genap yang lebih besar dari atau sama dengan 4 dapat juga ditulis sebagai jumlah kedua bilangan bulat, tetapi 260 tahun berlalu, Euler tidak bisa membuktikannya. Penelitian tersebut sudah menunjukkan bahwa dugaan algoritma Goldbach Code hampir benar, hanya saja buktinya tidak mencukupi[13], [14].

Tabel 2. Goldbach Codes G0 No 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

(5)

No 2(n+3) Primes Codeword 13 32 13+19 0000101 14 34 11+23 00010001 Sumber : Muhammad Apriyanto, Hutarianto, 2020 [6]

2.6 Metode Exponential

Metode exponential adalah salah satu dari beberapa metode perbandingan yang mana metode ini menentukan urutan prioritas suatu alternatif keputusan dengan beberapa kriteria. Metode ini mengkuatitatifikasi beberapa pendapat pada skala tertentu. Pada prinsipnya, ini adalah metode penilaian berdasarkan pilihan yang tersedia[15].

3. HASIL DAN PEMBAHASAN

Dalam proses kompresi file dokumen ini, penulis menggunakan algoritma Elias Gamma Code dan algoritma Goldbach Code untuk memperkecil ukuran dari file dokumen dan jenis kompresi Lossless Compression. Selain mengkompresi dengan kedua algoritma tersebut, penulis juga akan melakukan perbandingan hasil dari kedua algoritma ini untuk mengetahui kinerja dari kedua algoritma diatas. Perbandingan dari kinerja kedua algoritma diatas didasari dengan beberapa parameter, yaitu Ratio of Compression (RC), Compression Ratio (CR), Redudancy (RD), dan Space Saving (SS). Langkah awal yang akan dilakukan adalah menetukan file dokumen yang akan dikompresi yang kemudian mengkonversikan file tersebut ke nilai heksadesimal menggunakan software HxD.

3.1 Proses Kompresi, Dekompresi Dan Perbandingan

Pada penelitian ini, sampel data yang penulis gunakan berupa file dokumen yang berekstensikan rtf.

Gambar 2. Rincian Sampel Data File Dokumen Rtf

Berdasarkan file dokumen diatas, maka file dokumen tersebut dikompresi dan dekompresi berdasarkan nilai hexa yang diperoleh dari software HxD Hex Editor. Berikut merupakan nilai hexa dari sampel data yang akan diproses:

Gambar 3. Nilai Hexa Sampel Data

File dokumen yang digunakan sebagai sampel data memiliki ukuran asli sebesar 9,63 MB (10.102.243 bytes).

Agar proses yang dilakukan lebih sederhana, maka penulis mengambil 20 nilai heksadesimal untuk dijadikan sampel data yang setiap bytesnya memiliki 8 bit. Nilai hexa yang menjadi sampel adalah:

Tabel 3. Tampilan Nilai Bilangan Heksadesimal

7B 5C 72 74 66 31 5C 61 6E 73

69 5C 61 6E 73 69 63 70 67 31

Dibawah ini merupakan nilai heksadesimal yang diurutkan berdasarkan frekuensi kemunculannya, nilai frekuensi yang paling banyak muncul akan diletakkan diurutan pertama.

Tabel 4. Nilai Heksadesimal Sebelum Dikompresi

No Nilai Hexa Frekuensi Decimal Biner Bit Frek x Bit

1 5C 3 92 01011100 8 24

2 31 2 49 00110001 8 16

(6)

3 61 2 97 01100001 8 16

4 6E 2 110 01101110 8 16

5 73 2 115 01110011 8 16

6 69 2 105 01101001 8 16

7 72 1 114 01110010 8 8

8 74 1 116 01110100 8 8

9 66 1 102 01100110 8 8

10 7B 1 123 01111011 8 8

11 63 1 99 01100011 8 8

12 70 1 112 01110000 8 8

13 67 1 103 01100111 8 8

Total 20 160 bit

3.1.1 Kompresi Algoritma Elias Gamma Code

Langkah awal dilakukan perhitungan bit dan pengurutan kode Elias Gamma Code dan memperoleh bit file terkompresi.

Berikut merupakan proses kompresi file dokumen yang dapat dilihat pada tabel berikut.

Tabel 5. Pergantian Karakter Dengan Kode Elias Gamma Code No Nilai Hexa Elias Gamma Code Frekuensi Bit Frek x Bit

1 5C 1 3 1 3

2 31 010 2 3 6

3 61 011 2 3 6

4 6E 00100 2 5 10

5 73 00101 2 5 10

6 69 00111 2 5 10

7 72 00111 1 5 5

8 74 0001000 1 7 7

9 66 0001001 1 7 7

10 7B 0001010 1 7 7

11 63 0001011 1 7 7

12 70 0001100 1 7 7

13 67 0001101 1 7 7

Total 20 - 92 Bit

Tahapan selanjutnya adalah menyusun kembali kode-kode yang telah dibuat pada tabel diatas disesuaikan dengan posisi karakter pada string. Berikut adalah hasilnya:

Tabel 6. String Bit Hasil Kompresi Menggunakan Algoritma Elias Gamma Code

7B 5C 72 74 66

0001010 1 00111 0001000 0001001

31 5C 61 6E 73

010 1 011 00100 00101

69 5C 61 6E 73

00111 1 011 00100 00101

69 63 70 67 31

00111 0001011 0001100 0001101 010

Sebelum mendapatkan hasil akhir dari kompresi, terlebih dulu dilakukan penambahan string bit yaitu padding bit dan flagging bit dengan ketentuan apabila sisa hasil bagi panjang string bit (hasil dari gabungan Elias Gamma Code) terhadap 8 adalah n, maka ditambahkan 0 sebanyak 7 – n + “1” di akhir string bit. Kemudian nyatakan dengan L. Setelah itu tambahkan bilangan biner dari 9 – n dan nyatakan dengan bit akhir. Apabila jumlah bit dapat habis dibagi 8 atau berkelipatan 8, maka tidak diperlukan proses padding, tetapi tetap ditambahkan flagging.

Tabel 7. Proses Penambahan Padding Dan Flagging Algoritma Elias Gamma Code

Padding Flagging

92 bit mod 8 = 4 n = 4

7 – n + “1” = 7 – 4 + “1” = 0001 9 – n 9 – 4 = 5

biner 5 = 00110101

Pengukuran kinerja dari algoritma Elias Gamma Code pada proses kompresi dapat dilakukan dengan menghitung nilai aspek berikut:

1. Ratio of Compression (RC)

(7)

RC = Ukuran bit data sebelum dikompres

Ukuran bit data setelah dikompres = 160 bit

92 bit= 1,739 bit 2. Compression Ratio (CR)

CR = Ukuran bit data setelah dikompres

× 100%

CR = 92 bit

160 bit × 100% = 57,5%

3. Redudancy (Rd) Rd = 160 - 92

160 × 100% = 42,5%

4. Space Saving (Ss)

SS = 100% - CR = 100% - 57,5% = 42,5%

3.1.2 Kompresi Algoritma Goldbach Code

Langkah awal mengurutkan karakter-karakter berdasarkan frekuensi kemunculannya yang paling banyak disetiap karakter. Setelah selesai diurutkan sesuai dengan frekuensi kemunculan yang terbanyak, maka nilai biner sebelum dikompresi pada setia karakter digantikan dengan kode biner dari algoritma Goldbach Code yang diurutkan berdasarkan frekuensi kemunculannya.

Tabel 8. Pergantian Karakter Dengan Kode Goldbach Code

Nilai Hexa Frekuensi n 2(n + 3) Bil. prima Codeword Bit Frek x Bit

5C 3 1 8 3 + 5 11 2 6

31 2 2 10 3 + 7 101 3 6

61 2 3 12 5 + 7 011 3 6

6E 2 4 14 3 + 11 1001 4 8

73 2 5 16 5 + 11 0101 4 8

69 2 6 18 7 + 11 0011 4 8

72 1 7 20 7 + 13 00101 5 5

74 1 8 22 5 + 17 010001 6 6

66 1 9 24 11 + 13 00011 5 5

7B 1 10 26 7 + 19 0010001 7 7

63 1 11 28 11 + 17 000101 6 6

70 1 12 30 13 + 17 000011 6 6

67 1 13 32 13 + 19 0000101 7 7

Total Frek x Bit 84 bit

Setelah kode diurutkan berdasarkan perhitungan Goldbach Code, langkah selanjutnya yaitu menyusun kembali string bit yang telah didapat dari hasil proses kompresi sesuai dengan posisi pada nilai heksadesimal.

Tabel 9. String Bit Hasil Kompresi Menggunakan Algoritma Goldbach Code

7B 5C 72 74 66

0010001 11 00101 010001 00011

31 5C 61 6E 73

101 11 011 1001 0101

69 5C 61 6E 73

0011 11 011 1001 0101

69 63 70 67 31

0011 000101 000011 0000101 101

Sebelum mendapatkan hasil akhir dari kompresi, terlebih dulu dilakukan penambahan string bit yaitu padding bit dan flagging bit dengan ketentuan apabila sisa hasil bagi panjang string bit (hasil dari gabungan Goldbach Code) terhadap 8 adalah n, maka ditambahkan 0 sebanyak 7 – n + “1” di akhir string bit. Kemudian nyatakan dengan L. Setelah itu tambahkan bilangan biner dari 9 – n dan nyatakan dengan bit akhir. Apabila jumlah bit dapat habis dibagi 8 atau berkelipatan 8, maka tidak diperlukan proses padding, tetapi tetap ditambahkan flagging.

Tabel 10. Proses Penambahan Padding Dan Flagging Algoritma Goldbach Code

Padding Flagging

84 bit mod 8 = 4 n = 4

7 – n + “1” = 7 – 4 + “1” = 0001 9 – n 9 – 4 = 5

biner 5 = 00110101

Pengukuran kinerja dari algoritma Goldbach Code pada proses kompresi dapat dilakukan dengan menghitung

(8)

nilai aspek berikut:

1. Ratio of Compression (RC)

RC = Ukuran bit data sebelum dikompres

Ukuran bit data setelah dikompres = 160 bit

84 bit= 1,9 bit 2. Compression Ratio (CR)

CR = Ukuran bit data setelah dikompres

× 100%

CR = 84 bit

160 bit × 100% = 52,5%

3. Redudancy (Rd) Rd = 160 - 84

160 × 100% = 47,5%

4. Space Saving (Ss)

SS = 100% - CR = 100% - 52,5% = 47,5%

3.1.3 Dekompresi Algoritma Elias Gamma Code

Pada proses dekompresi file dokumen yang telah terkompres dapat dilakukan dengan mengembalikan karakter terkompresi tersebut menjadi nilai heksadesimal yang kemudian diubah menjadi string bit semula. Dilakukan proses pengurangan string bit awal. Nyatakan hasil pembacaan dengan n, kemudian gunakan rumus 7 + n untuk mengembalikan string bit kebentuk awal. 7 + n = 7 + 5 = 12 kemudian hilangkan string bit sebanyak 12 bit terakhir.

Pada proses pembacaan string bit dengan algoritma Elias Gamma Code ini dilakukan dengan menggunakan Brute Force. Yang mana pembacaan string bit dilakukan dengan index terkecil yang kemudian dilanjutkan ke pengecekan bit yang telah dikompresi. Dari hasil dekompresi ini telah sesuai dengan string bit awal yang terdapat pada file dokumen yang menjadi sampel.

3.1.4 Dekompresi Algoritma Goldbach Code

Pada proses dekompresi file dokumen yang telah terkompres dapat dilakukan dengan mengembalikan karakter terkompresi tersebut menjadi nilai heksadesimal yang kemudian diubah menjadi string bit semula. Dilakukan proses pengurangan string bit awal. Nyatakan hasil pembacaan dengan n, kemudian gunakan rumus 7 + n untuk mengembalikan string bit kebentuk awal. 7 + n = 7 + 5 = 12 kemudian hilangkan string bit sebanyak 12 bit terakhir.

Pada proses pembacaan string bit dengan algoritma Goldbach Code ini dilakukan dengan menggunakan Brute Force.

Yang mana pembacaan string bit dilakukan dengan index terkecil yang kemudian dilanjutkan ke pengecekan bit yang telah dikompresi. Dari hasil dekompresi ini telah sesuai dengan string bit awal yang terdapat pada file dokumen yang menjadi sampel.

3.1.5 Metode Perbandingan Exponential

Dalam proses perhitungan dan pencarian perbandingan dari kedua algoritma tersebut dengan menerapkan metode exponential perlu diperhatikan hal berikut:

1. Menentukan alternatif

Proses menganalisa perbandingan antara algoritma Elias Gamma Code dan algoritma Goldbach Code dalam mengkompres diperlukan suatu penentuan alternatif algoritma mana yang akan digunakan sebagai algoritma kompresi.

Tabel 11. Penentuan Alternatif MPE No. Alternatif

1. Algoritma Elias Gamma Code 2. Algoritma Goldbach Code 2. Menentukan kriteria

Untuk mendapatkan hasil perbandingan dari kedua algoritma tersebut, langkah selanjutnya adalah melakukan penentuan kriteria dalam menganalisa proses dan cara kerjanya.

Tabel 12. Penentuan Kriteria MPE

No. Kriteria

1. Ratio of Compression (RC) 2. Compression Ratio (CR) 3. Redudancy (Rd)

4. Space Saving (Ss) 3. Menentukan bobot kriteria

(9)

Penentuan bobot kriteria adalah komponen yang paling berpengaruh terhadap nilai analisa perbandingan, maka dari itu menentukan bobot kriteria berdasarkan tingkat pengaruh dalam menentukan kecepatan pada proses pencarian.

Tabel 13. Pembobotan Kriteria Algoritma EGC dan GC

No. Kriteria Bobot Range

(1 – 4)

Persentase Pengaruh Kriteria

1. Ratio of Compression (RC) 0,52 52,08%

2. Compression Ratio (CR) 0,27 27,08%

3. Redudancy (Rd) 0,15 14,58%

4. Space Saving (SS) 0,06 6,25%

4. Pemberian nilai pada setiap kriteria

Kriteria yang sudah dibentuk harus diberi nilai. Nilai tersebut dapat dilihat pada tabel dibawah ini yang mana nilai tersebut diambil berdasarkan analisa algoritma Elias Gamma Code dan algortima Goldbach Code.

Tabel 14. Pemberian Nilai Pada Setiap Kriteria Algoritma EGC dan GC

No Kriteria Proses

Ke-

Alternatif

Bobot

EGC GC

1. Ratio of Compression (RC) 1 1,739 1,904 0,52

2. Compression Ratio (CR) 2 57,5 52,5 0,27

3. Redudancy (Rd) 3 42,5 47,5 0,15

4. Space Saving (Ss) 4 42,5 47,5 0,06

5. Menghitung nilai

Setelah melakukan pemberian nilai untuk setiap kriteria, maka proses selanjutnya adalah melakukan perhitungan dengan menerapkan rumus dari Metode Perbandingan Exponential (MPE). Brikut ini merupakan tabel proses perhitungan:

Tabel 15. Analisa Perhitungan Perbandingan Menggunakan MPE No Kriteria Alternatif

Bobot Total Nilai EGC

Total Nilai GC

EGC GC

1. C1 1,739 1,904 0,52 1,333 1,397

2. C2 57,5 52,5 0,27 2,986 2,913

3. C3 42,5 47,5 0,15 1,755 1,784

4. C4 42,5 47,5 0,06 1,252 1,261

Total 7,326 7,355

Dimana:

B = Bobot

EGC = Elias Gamma Code GC = Goldbach Code Total Nilai = ∑(N)B

6. Menentukan hasil keputusan

Setelah dilakukan perhitungan dari proses pertama hingga proses ke-4, selanjutnya melakukan proses perhitungan nilai prioritas keputusan dari setiap alternatif (algoritma Elias Gamma Code dan algoritma Goldbach Code).

Tabel 16. Prioritas Keputusan

No. Alternatif Total Nilai Rangking

1. Algoritma Elias Gamma Code 7,326 2

2. Algoritma Goldbach Code 7,355 1

Dari analisa diatas dapat disimpulkan bahwa algoritma Goldbach Code menjadi algoritma yang lebih efektif dan optimal dalam mengkompresi file dokumen dibandingkan dengan algoritma Elias Gamma Code.

3.2 Implementasi

Tampilan sistem adalah tampilan dari antarmuka (interface) sistem yang telah dirancang sebelumnya. Sistem yang terdapat pada penelitian ini ada 5 tampilan halaman, yaitu Form Menu Utama, Form Kompresi, Form Dekompresi, Form Perbandingan, dan Form Penulis.

1. Form Menu Utama

(10)

Gambar 4. Tampilan Form Menu Utama 2. Form Kompresi

Gambar 5. Tampilan Form Kompresi 3. Form Perbandingan

Gambar 6. Tampilan Form Perbandingan 4. Tampilan Tombol Browes Sebelum Input File

Gambar 7. Menginputkan File Dokumen 5. Tampilan File Terinput

(11)

Gambar 8. File Dokumen Telah Diinputkan 6. Tampilan Hasil Kompresi

Gambar 9. File Dokumen Terkompresi 7. Tampilan Hasil Perbandingan

Gambar 10. Hasil Perbandingan

Terdapat perbedaan dari beberapa file dokumen sebelum dikompresi dan setelah dikompresi yang dapat dilihat pada tabel hasil pengujian berikut:

Tabel 17. Hasil Pengujian Kompresi No

Sebelum Dikompresi Sesudah Dikompresi

Nama File

Dokumen Ukuran Nama File Dokumen Terkompresi Ukuran Kinerja

EGC GC EGC GC EGC GC

1 Doc1.rtf 1,73

MB Doc1.egc Doc1.gc 1,05

MB 986 KB

RC 1,636 1,756 CR 61% 57%

Rd 39% 43%

SS 39% 43%

2

Proposal Skripsi- Ari Pradana- 18110236.rtf

15,7 MB

Proposal Skripsi- Ari Pradana- 18110236.egc

Proposal Skripsi- Ari Pradana- 18110236.gc

10,1 MB

9,37 MB

RC 1,548 1,674 CR 64,6% 59,7%

Rd 35,4% 40,3%

SS 35,4% 40,3%

4 KESIMPULAN

(12)

Berdasarkan dari hasil analisa mengkompresi, dekompresi, perbandingan algoritma Elias Gamma Code dan algoritma Goldbach Code dalam mengkompresi file dokumen, maka dapat disimpulkan bahwa penelitian ini menganalisa perbandingan kinerja antara algoritma Elias Gamma Code dan Goldbach Code dalam menyelesaikan masalah yang dihadapi. Penerapan dalam proses kompresi file dokumen menggunakan algoritma Elias Gamma Code dan algoritma Goldbach Code terbilang cukup mudah dipahami dan hasil dari kompresi menggunaka kedua algoritma tersebut mendapatkan ukuran file dokumen yang lebih kecil dibandingkan dengan file dokumen awal. Hasil dari perbandingan kinerja algoritma Elias Gamma Code dan algoritma Goldbach Code dalam mengkompresi file dokumen terbukti algoritma Goldbach Code lebih optimal dan efektif dengan hasil space saving sebesar 47,5 dan compression ratio sebesar 52,5 dalam mengkompresi file dokumen dari pada algoritma Elias Gamma Code. Aplikasi analisa perbandingan algoritma Elias Gamma Code dan algoritma Goldbach Code dalam mengkompresi file dokumen berhasil dirancang dan dibangun dengan menerapkan bahasa pemrograman Microsoft Visual Studio 2008, sehingga dapat membantu pengguna dalam proses kompresi, dekompresi, dan juga perbandingan kinerja dari kedua algoritma tersebut agar lebih efektif dan efisien.

REFERENCES

[1] E. Siahaan, “Implementasi Algoritma Elias Gamma Code Untuk Kompresi File Teks Pada Aplikasi Watpad,” vol. 2, no. 2, pp. 76–84, 2021.

[2] R. Siregar, “Penerapan Algoritma Elias Gamma Code Pada Aplikasi Kumpulan Resep Makanan Berbasis Android,” vol. 2, no. 5, pp. 284–291, 2021.

[3] P. Studi, T. Informatika, U. B. Darma, and A. Huffman, “Kombinasi Algoritma Huffman dan Algoritma ROT 13 Dalam Pengamanan File Docx,” vol. 2, no. 1, pp. 40–46, 2020.

[4] R. Syahputra, “Implementasi Algoritma Adaptive Huffman Code Dalam Kompresi File Teks Terenkripsi Algoritma Loki97,” vol. 1, no. 1, pp. 23–28, 2021.

[5] U. S. Utara, “IMPLEMENTASI ALGORITMA RABIN DAN FIXED LENGTH BINARY ENCODING DALAM PENGAMANAN DAN KOMPRESI FILE RTF,” 2017.

[6] M. Apriyanto and H. Hutrianto, “Analisa Penerapan Algortima Goldbach Codes Dan Metode Shannon-Fano Pada Kompresi File Teks,” Bina Darma Conf. …, pp. 207–218, 2020.

[7] D. Pratiwi and T. Zebua, “Analisis Perbandingan Kinerja Algoritma Fixed Length Binary Encoding Dan Algoritma Elias Gamma Code Dalam Kompresi File Teks,” KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 3, no. 1, pp. 424–

430, 2019, doi: 10.30865/komik.v3i1.1623.

[8] H. Sartika and T. Zebua, “Perancangan Dan Implementasi Algoritma Elias Gamma Code Untuk Mengkompresi Record Database Pada Aplikasi Rangkuman Pengetahuan Umum Lengkap,” KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 3, no. 1, pp. 259–265, 2019, doi: 10.30865/komik.v3i1.1600.

[9] S. Nainggolan, “Analisa Perbandingan Algoritma Goldbach Codes Dengan Algoritma Dynamic Markov Compression (DMC) Pada Kompresi File Teks Menggunakan Metode Eksponensial,” Maj. Ilm. INTI, vol. 6, no. 3, pp. 395–399, 2019.

[10] J. P. Informatika et al., “Analisa Perbadingan Algoritma Goldbach Codes Dengan Algoritma Sequitur Pada Kompresi File Text,” vol. 18, pp. 354–357, 2019.

[11] “10668-25461-1-SM.pdf.”

[12] R. P. K. File, “ALGORITMA BWT-RLE-MTF-HUFFMAN DAN BWT-MTF- ANALISIS PERBANDINGAN KINERJA KOMBINASI ALGORITMA BWT-RLE-MTF-HUFFMAN DAN BWT-MTF- RLE-HUFFMAN PADA KOMPRESI FILE,” 2012.

[13] I. Almurtada and M. Syahrizal, “PENERAPAN ALGORITMA GOLDBACH CODES PADA KOMPRESI FILE TEKS TERENKRIPSI HILL CIHPER,” Pelita Inform. Inf. dan Inform., vol. 6, no. 4, pp. 473–478, 2021.

[14] I. Lestari, “ANALISA PERBADINGAN ALGORITMA GOLDBACH CODES DENGAN ALGORITMA SEQUITUR PADA KOMPRESI FILE TEXT MENGGUNAKAN METODE EXPONENTIAL,” Pelita Inform. Inf. dan Inform., vol. 8, no. 1, pp. 15–18, 2019.

[15] D. S. Rohmah and D. R. S. Saputro, “Clustering Data dengan Algoritme Fuzzy c-Means Berbasis Indeks Validitas Partition Coefficient and Exponential Separation (PCAES),” in PRISMA, Prosiding Seminar Nasional Matematika, 2020, vol. 3, pp.

58–63.

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk mengetahui kinerja antara algoritma Inverted Elias Gamma dan algoritma Capocelli yang mana akan diukur kinerjanya dengan rasio pembanding

Berdasarkan data pengujian pada Tabel 4.4 untuk algoritma Elias Gamma Code dan pada Tabel 4.6 untuk algoritma Shannon-Fano, berikut adalah grafik perbandingan

Plainteks pertama kali dienkripsikan menggunakan algoritma ElGamal, kemudian hasil enkripsi dari Elgamal tersebut di kompresi dengan menggunakan Elias Gamma Code.. Pengujian

Sementara untuk kecepatan kompresi Elias Gamma Code merupakan yang paling cepat, diikuti dengan Elias Delta Code lalu Levenstein Code.. Kata Kunci: Kompresi Data,

Dalam penelitian ini, pengkompresian data akan dilakukan pada data berupa teks (*.txt) dengan menggunakan algoritma Elias Gamma Code, Elias Delta Code dan

Algoritma Elias Gamma Code memiliki batasan karakter yang bisa dikompresi, jika karakter yang berbeda diatas 35 dan kemunculan hanya sekali maka hasil redundancy data akan

Berdasarkan uraian dari latar belakang diatas, rumusan masalah yang akan dibahas adalah membandingkan Algoritma Elias Gamma Code dengan Shannon-Fano untuk melakukan

Penerapan algoritma elias gamma code dalam mengkompresi file audio hasil rekaman dari aplikasi wesing karaoke telah membuktikan bahwa file audio yang memiliki kapasitas