• Tidak ada hasil yang ditemukan

ANALISA PERBANDINGAN ALGORITMA RICE CODES DENGAN ALGORITMA GOLDBACH CODES PADA KOMPRESI FILE TEXT MENGGUNAKAN METODE EXPONENTIAL

N/A
N/A
Protected

Academic year: 2021

Membagikan "ANALISA PERBANDINGAN ALGORITMA RICE CODES DENGAN ALGORITMA GOLDBACH CODES PADA KOMPRESI FILE TEXT MENGGUNAKAN METODE EXPONENTIAL"

Copied!
5
0
0

Teks penuh

(1)

113

ANALISA PERBANDINGAN ALGORITMA RICE CODES DENGAN

ALGORITMA GOLDBACH CODES PADA KOMPRESI FILE TEXT

MENGGUNAKAN METODE EXPONENTIAL

Muhammad Asnawi Latif, Surya Darma Nasution, Pristiwanto STMIK Budi Darma, Medan, Indonesia

Jl. Sisingamangaraja No. 338 Medan, Indonesia

ABSTRAK

Kompresi data (pemampatan data) merupakan suatu teknik untuk memperkecil jumlah ukuran data (hasil kompresi) dari data aslinya. Pemampatan data umumnya diterapkan pada mesin computer, hal ini dilakukan karena setiap simbol yang dimunculkan pada computer memiliki nilai-nilai bit yang berbeda. Analisa yang dilakukan dalam membandingkan proses cara kerja dari algoritma rice codes dan algoritma goldbach codes dengan menggunakan metode exponential. Kompresi ini hanya mengarah pada kompresi file text saja. Adapun teknik dari kompresi ini adalah dengan mengganti karakter yang berulang-ulang tersebut dengan suatu pola tertentu sehingga berkas tersebut dapat meminimalisasi ukurannya. Algoritma tersebut dimulai dengan memberikan rangkaian string sebagai masukan, bagaimana menghasilkan keluaran algoritma berupa string biner atau kode yang menterjemahkan setiap string masukan agar string tersebut mempunyai jumlah bit yang sedikit dibandingkan dengan string yang tidak dimampatkan.

Kata Kunci: Algoritma Rice Codes, Algoritma Goldbach Codes, Metode Exponential, File Text

I. PENDAHULUAN

Kebutuhan akan kapasitas penyimpanan yang besar nampaknya semakin penting pada saat ini. Kebutuhan ini, disebabkan oleh data yang harus disimpan semakin lama semakin bertambah banyak, khususnya bagi dunia usaha, perbankan, perusahaan ataupun instansi - instansi pemerintahan. Perusahaan tersebut umumnya sangat membutuhkan sekali kapasitas yang sangat besar, untuk menyimpan semua data-data dan file-file penting.

Untunglah data-data tersebut dapat dimampatkan (compress) terlebih dahulu sehingga tempat yang dibutuhkan dalam memori semakin sedikit dan lebih efesien dalam menyimpanan data, sehingga perusahaan tidak lagi khawatir akan kapasitas untuk penyimpanan file-file yang penting yang semakin hari semakin bertambah jumlahnya.

Kompresi merupakan pengurangan ukuran suatu data menjadi ukuran yang lebih kecil dari aslinya. Pengompresian data ini sangat menguntungkan manakala terdapat suatu data yang berukuran sangat besar dan data didalamnya mengandung banyak pengulangan karakter akan menjadi lebih efisien dalam penyimpanan. Adapun teknik dari kompresi ini adalah dengan mengganti karakter yang berulang-ulang tersebut dengan suatu pola tertentu sehingga data tersebut dapat meminimalisasi ukurannya.

Banyak algoritma kompresi yang dapat digunakan, diantaranya algoritma Rice Codes dan algoritma Goldbach Codes. Penggunaan algoritma Rice Codes dan algoritma Goldbach Codes dalam kompresi file text dimaksudkan untuk memberikan manfaat yang sangat besar dalam proses pengiriman maupun penyimpanan serta membutuhkan ruang memori yang lebih sedikit dibandingkan dengan text yang tidak dikompresi. Sehingga dalam pengiriman ataupun

penyimpanan text yang telah dikompresi membutuhkan waktu pengiriman dan ruang simpan yang lebih singkat dan sedikit dibandingkan dengan text yang belum dikompresi.

Setelah melakukan kompresi kedua algoritma tersebut maka, kita membandingkannya menggunakan metode Exponential. Membandingkan kedua algoritma tersebut bertujuan untuk mengetahui algoritma mana yang lebih efesien dalam melakukan kompresi, Sehingga kita bisa memilih algoritma mana yang akan kita gunakan saat kita akan mengkompresi suatu file text.

II. TEORITIS A. Kompresi Data

Kompresi data (pemampatan data) merupakan suatu teknik untuk memperkecil jumlah ukuran data (hasil kompresi) dari data aslinya. Pemampatan data umumnya diterapkan pada mesin komputer, hal ini dilakukan karena setiap simbol yangdimunculkan pada komputer memiliki nilai bit-bit yang berbeda. Misal pada ASCII setiap simbol yang dimunculkan memiliki panjang bit 8 bit, misal kode A pada ASCII mempunyai nilai desimal = 65, jika dirubah dalam bilangan biner menjadi 010000001.

Pemampatan data digunakan untuk mengurangkan jumlah bit-bit yang dihasilkan dari setiap simbol yang muncul. Dengan pemampatan ini diharapkan dapat mengurangi (memperkecil ukuran data) dalam ruang penyimpanan

B. Algoritma Rice Codes

Rice codes ditemukan oleh Robert F. Rice dan merupakan salah satu teknik entropy encoding Algoritma Rice Codes atau Rice Golomb Coding adalah salah satu algoritma yang dapat digunakan untuk melakukan kompresi data sehingga ukuran data yang

(2)

114 dihasilkan menjadi lebih rendah dari ukuran

sebenarnya.

Dalam algoritma Rice Codes, ada sebuah nilai k yang artinya adalah banyaknya angka 1 pada suffix dari kode terkompresi. Dalam proses encode, dilakukan pemisahan pada prefix dan suffix. Ketika proses decode, decoder membaca sign bit dan lompat ke angka 0 pertama sebelah kiri, yang mana akan berlanjut kembali untuk penambahan bit pada k selanjutnya. Untuk nilai k dalam proses kompresi menggunakan Rice Code, dapat dilihat pada tabel dibawah ini.

Tabel 1. Tabel Nilai k

N K=0 K=1 K=2 K=3 0 0| 0|0 0|00 0|000 1 10| 0|1 0|01 0|001 2 110|0 10|0 0|10 0|010 3 110|1 10|1 0|11 0|011 4 1110|00 110|00 10|00 0|100 5 1110|01 110|01 10|01 0|101 C. Algoritma Goldbach Codes

Algoritma Goldbach Codes adalah algoritma yang diasumsikan menggunakan teori Goldbach Conjecture yaitu Semua bilangan genap positif yang lebih besar dari 2 merupakan penjumlahan dari dua bilangan prima. Konjektur ini pertama kali disebut dalam suratnya kepada Euler pada tahun 1742. Dalam suratnya ini ia mengatakan bahwa bilangan genap yang lebih dari atau sama dengan 4 bisa ditulis sebagai hasil penjumlahan dua buah bilangan bulat, Namun Euler tidak dapat memberikan bukti, setelah lebih dari 260 tahun penelitian, dugaan Goldbach hampir benar namun tidak cukup bukti. Perlu dicatat bahwa banyak nomor, bahkan dapat ditulis sebagai jumlah dari dua bilangan prima dalam beberapa cara. Dengan demikian 42 = 23 + 19 = 29 + 13 = 31 + 11 = 37 + 5, 1,000,000 dapat dipartisi di 5402 cara, dan 100.000.000 memiliki 291.400 partisi Goldbach.

Tabel 2. Tabel Goldbach Codes G0 N 2(n+3) Primes Codeword 1 8 3+5 11 2 10 3+7 101 3 12 5+7 011 4 14 3+11 1001 5 16 5+11 0101 6 18 7+11 0011 7 20 7+19 00101 8 22 5+17 010001 9 24 11+13 00011 10 26 7+19 0010001 11 28 11+17 000101 12 30 13+17 000011 13 32 13+19 0000101 N 2(n+3) Primes Codeword 14 34 11+23 00010001 B. File Text

File text merupakan file yang berisi informasi-informasi yang di sajikan dalam bentuk text yang merupakan kumpulan dari karaktek-karakter atau string yang menjadi satu kesatuan sedangkan string merupakan tipe data yang digunakan untuk menggambarkan atau mempresentasikan kumpulan karakter (huruf, angka, symbol). Data yang berasal dari dokumen pengolah kata, angka yang digunakan dalam perhitungan, nama dan alamat dalam basis data merupakan contoh masukan data text yang terdiri dari karakter, angka dan tanda baca.

E. Metode Exponential

Metode perbandingan Exponential adalah satu metode untuk menentukan urutan prioritas alternatif keputusan dengan kriteria jamak.

𝑻𝒐𝒕𝒂𝒍𝑵𝒊𝒍𝒂𝒊(𝑻𝑵𝒊) = ∑𝒎 (𝑽𝒊𝒋) 𝑩𝒋

𝒋=𝟏 ...(1) Keterangan :

TNi = Total Nilai Alternatif Ke-

Vij = Derajat kepentingan relatif kriteria ke-j pada keputusan ke-i, yang dapat dinyatakan dengan skala ordinal (1,2,3,4,5)

Bj = Derajat kepentingan kriteria keputusan, yang dinyatakan dengan bobot

m = Jumlah kriteria keputusan n = Jumlah pilihan keputusan j = 1,2,3,.... ; m = jumlah kriteria i = 1,2,3...; n = jumlah pilihan alternatif III. ANALISA DAN PEMBAHASAN

Analisa yang dilakukan dalam membandingkan proses cara kerja dari algoritma Rice Codes dan algoritma Goldbach Codes hanya mengarah pada kompresi file text. Kompresi merupakan pengurangan ukuran suatu berkas menjadi ukuran yang lebih kecil dari aslinya. Pengompresian berkas ini sangat menguntungkan manakala terdapat suatu berkas yang berukuran besar dan data di dalamnya mengandung banyak pengulangan karakter. Adapun teknik dari kompresi ini adalah dengan mengganti karakter yang berulang-ulang tersebut dengan suatu pola tertentu sehingga berkas tersebut dapat meminimalisasi ukurannya.

Penerapan Algoritma Rice Codes

Berikut ini merupakan contoh kompresi menggunakan Algoritma Rice Codes, pada sebuah text file yang berisi string : MUHAMMAD ASNAWI LATIF. Langkah-langkah membuat tabel di kompresi:

1. ∑ (sikma) Adalah urutan string dari MUHAMMAD ASNAWI LATIF.

(3)

115 2. Ascii Code adalah nilai desimal dari string

MUHAMMAD ASNAWI LATIF.

3. Ascii Biner adalah nilai biner dari string MUHAMMAD ASNAWI LATIF.

4. Ascii Bit adalah jumlah biner dari asci biner MUHAMMAD ASNAWI LATIF.

5. Frekuensi adalah banyaknya kemunculan salah satu huruf dari string MUHAMMAD ASNAWI LATIF. 6. Bit x Frekuensi yaitu perkalian antara nilai ascii bit dengan kemunculan huruf dalam string MUHAMMAD ASNAWI LATIF.

Tabel 3. Data Sebelum Dikompresi ∑

Ascii

Code Ascii Biner Ascii Bit Frekuensi Bit x Frek M 77 01001101 8 3 24 U 85 01010101 8 1 8 H 72 01001000 8 1 8 A 65 01000001 8 5 40 D 68 01000100 8 1 8 Sp 83 01010011 8 2 16 S 83 01010011 8 1 8 N 78 01001110 8 1 8 W 87 01010111 8 1 8 I 73 01001001 8 2 16 L 76 01001100 8 1 8 T 84 01010100 8 1 8 F 70 01000110 8 1 8 Jumlah Bit x Frek 168

Hasil kompresi menggunakan algoritma Rice Codes dapat dilihat pada Tabel 4. berikut ini:

Tabel 4. Data Teks Setelah Dikompresi

∑ Code Rice Bit Frekuensi Bit x Frek A 000 3 5 15 M 001 3 3 9 Sp 010 3 2 6 I 011 3 2 6 U 1000 4 1 4 H 1001 4 1 4 D 1010 4 1 4 S 1011 4 1 4 N 10000 5 1 5 W 110001 6 1 6 L 110010 6 1 6 T 110011 6 1 6

∑ Code Rice Bit Frekuensi Bit x Frek F 110100 6 1 6 Jumlah Bit x Frek 81

Dari string : MUHAMMAD ASNAWI LATIF, maka di dapat string bit 001 1000 1001 000 001 001 000 1010 000 1011 10000 000 110001 011 110010 000 110011 011 110100

Dengan demikian, untuk menyimpan file text yang terdiri dari 21 karakter dengan menggunkan algoritma Rice Codes dibutuhkan 81bit.

Penerapan Algoritma Goldbach Codes

Berikut ini merupakan contoh kompresi menggunakan algoritma goldbach codes, pada sebuah text file yang berisi string : MUHAMMAD ASNAWI LATIF, Penyelesain :

1. Baca semua karakter dalam text untuk menghitung frekuensi kemunculan masing-masing karakter, dimana karakter yang paling banyak muncul adalah yang pertama (n = 1) dan seterusnya.

2. Temukan codeword untuk setiap karakter yang akan dikodekan, dengan menemukan bilangan prima yang bisa mewakili jumlah dua bilangan prima. Primer mulai dari nomor 3, 5, 7 dan seterusnya.

3. Codeword hanya memiliki dua "1". Pencarian bilangan prima mewakili jumlah berhenti di "1" yang kedua, misalnya: nomor = 24, dan 11 + 13 = 24 benar. Setelah mendapatkan a beberapa bilangan prima sudah benar, maka pola bit itu diperoleh adalah 11000. Kemudian pola bit dibalik ke arah paling belakang sedikit ke "1", menghasilkan pola bit 00011.

Tabel 5. Data Sebelum Dikompresi

Karakter Frekuensi Ascii

Desimal Ascii Biner Bit Bit x Frek U 1 85 01010101 8 8 H 1 72 01001000 8 8 D 1 68 01000100 8 8 S 1 83 01010011 8 8 N 1 78 01001110 8 8 W 1 87 01010111 8 16 L 1 76 01001100 8 16

Hasil kompresi menggunakan algoritma Rice Codes dapat dilihat pada Tabel 3.4 berikut ini :

Tabel 6. Data Sesudah Dikompresi

Karakter Frekuensi N 2 (n+3) Prima Bil Code word Bit Bit x Frek

A 5 1 8 3 + 5 11 2 10

(4)

116 I 2 3 12 5 + 7 011 3 6 Sp 2 4 14 3 + 11 1001 4 8 F 1 5 16 5 + 11 0101 4 4 T 1 6 18 7 + 11 0011 4 4 L 1 7 20 7 + 13 00101 5 5 W 1 8 22 5 + 17 010001 6 6 N 1 9 24 11 + 13 00011 5 5 S 1 10 26 7 + 19 0010001 7 7 D 1 11 28 11+17 000101 6 6 H 1 12 30 13+17 000011 6 6 U 1 13 32 13+19 0000101 7 7 Jumlah Bit x Frek 83

Dari string : MUHAMMAD ASNAWI LATIF, maka di dapat string bit: 01010101 01001000 01000100 01010011 01001110 01010111 01001100 01010100 01000110 01010011 01001001 01001101 01000001.

Ukuran File Text sebelum pemampatan dengan kode ASCI (8 bit) adalah 21x8 bit= 168 bit

Dengan demikian, untuk penyimpanan File Text yang terdiri dari 21 karekter dengan menggunkan algoritma goldbach codes dibutuhkan 83 bit.

Penerapan Metode Exponential

Langkah-langkah prose perhitungan sebagai berikut: a. Ration of compression

RC = Ukuran Sebelum / Ukuran Sesudah

RC =168 81 = 2,07 GC =168 83 = 2,02 b. Space Saving SS=1-Cr RC = 1 - 0,48 = 0,52 = 52 % GC = 1 - 0,49 = 0,51 = 51 % Alternatif RC SS Rangking Algoritma Rice Codes 2,07 52 % 1 Algoritma Gouldbah Codes 2,02 51 % 2 Pada tabel diatas menjelaskan bahwa alternatif yang memiliki total nilai tertinggi maka akan diposisikan rangking pertama, berdasarkan analisa diatas maka Algoritma Rice Codes yang menjadi Algoritma terbaik dalam melakukan kompresi.

IV. IMPLEMENTASI

Pengujian program digunakan untuk melihat hasil yang sudah dibahas pada pembahasan sebelumnya, untuk tampilan aplikasi seperti pada gambar dibawah: 1. Hasil Kompresi Algoritma Rice Codes

Gambar 1. Hasil Kompresi Algoritma Rice Codes 2. Hasil Dekompresi Algoritma Rice Codes

Gambar. 2. Hasil Dekompresi Algoritma Rice Codes 3. Hasil Kompresi Algoritma Goldbach Codes

Gambar. 3. Hasil Kompresi Algoritma Goldbach Codes

(5)

117 4. Hasil Dekompresi Algoritma Goldbach

Gambar. 4. Hasil Dekompresi Algoritma Goldbach Codes

5. Hasil Metode Perbandingan Exponential

Gambar. 5. Hasil Metode Perbandingan Exponential V. KESIMPULAN

Berdasarkan pembahasan dan evaluasi sebelumnya dan analisis terhadap kompresi file text yang berektensi .txt dan .doc, maka dapat ditarik kesimpulan sebagai berikut :

1. Dalam penerapan algoritma Rice Codes dan Algoritma Goldbach Codes dalam mengkompresi file text sangat bagus, isi dari hasil pengompresian pun tidak berkurang dari file aslinya.

2. Aplikasi yang dirancang telah mampu melakukan kompresi file text dengan menggunakan algoritma Rice Codes dan algoritma Goldbach Codes. 3. Hasil perbandingan kompresi file text antara

algoritma Rice Codes dan algoritma Goldbach Codes tidak jauh berbeda hasilnya, dalam penerapan metode perbandingan Exponential dengan 3 kriteria, yang lebih bagus hasil kompresinya adalah algoritma Rice Codes.

REFERENCES

[1] Surya Darma Nasution, “Perancangan Aplikasi Kompresi File Text Menggunakan Algoritma Gldbah Codes” Jurnal Ilmiah Infotek, Vol, 1, Februari 2016.

[2] Andres Soegandi, Prototipe Kompresi Lossless Audio Code Menggunakan EntropyEncoding, Comtech Vol, 1, No, 2 Desember 2010

[3] N. Mancelina and Mesran, “PENERAPAN METODE

PERBANDINGAN EKSPONENSIAL DALAM

MENGANALISA KINERJA ALGORITMA FIXED

LENGTH BINARY ENCODING DENGAN VARIABLE LENGTH BINARY ENCODING DALAM KOMPRESI FILE TEXT,” Maj. Ilm. INFOTEK, vol. 2, no. 1, pp. 1–4, 2017.

[4] Wikipedia.http//id.wikipedia.org/wiki/Analisis.

[5] Ari Wibowo, Kompresi Data Menggunakan Metode Huffman ,Seminar Teknologi Informasi & KomunikasiTerapan 2012 (semantik 2012), Vol, Juni, pp, 47-51, 2012.

[6] Abdul Kadir, Algoritma & Pemrograman Menggunakan C & C ++, Yogyakarta: Penerbit Andi , 2012.

[7] Abdul Kadir, Pengenalan Algoritma, Pendekatan Secara Visual Dan Interaktif Menggunakan Raptor, Yogyakarta: Penerbit Andi , 2013.

[8] Rinaldi Munir, Algoritma Dan Pemrograman Dalam Bahasa Pascal Dan C. Bandung: Penerbit Informatika, 2011. [9] G. Motta , D. Salomon, Handbook Of Data Compression,

Springer, Fifth Edition, pp 151-157, 2010.

[10] Josua Marinus Silaen, Studi Perbandingan Algoritma Huffman Dan Shannonfano Dalam Pemampatan File Teks, Pelita Informatika Budi Darma, vol. VII, pp. 60-66, 2014.

[11]

Marimin, Teknik dan Aplikasi Pengambilan Keputusan Kriteria Majemuk. Jakarta: Grassindo, 2004.

[12]

Yuni Sugiarti, Analisis & Perancangan UML [Inified Modeling language] Generated VB.6. Yogyakarta: Graha Ilmu, 2013.

[13] 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.

[14] A. Fau, M. Mesran, and G. L. Ginting, “Analisa Perbandingan Boyer Moore Dan Knuth Morris Pratt Dalam Pencarian Judul Buku Menerapkan Metode Perbandingan Eksponensial ( Studi Kasus : Perpustakaan STMIK Budi Darma ),” J. Times (Technology Informatics Comput. Syst., vol. 6, no. 1, pp. 12–22, 2017.

[15] 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.

Gambar

Tabel 2. Tabel Goldbach Codes G0  N  2(n+3)  Primes  Codeword  1  8  3+5  11  2  10  3+7  101  3  12  5+7  011  4  14  3+11  1001  5  16  5+11  0101  6  18  7+11  0011  7  20  7+19  00101  8  22  5+17  010001  9  24  11+13  00011  10  26  7+19  0010001  11
Tabel 4. Data Teks Setelah Dikompresi
Gambar 1. Hasil Kompresi Algoritma Rice Codes  2.  Hasil Dekompresi Algoritma Rice Codes

Referensi

Dokumen terkait

Diharapkan aplikasi kompresi dengan menggunakan algoritma Punctured Elias Codes dan Ternary Comma Code ini dapat dikembangkan lagi menjadi sebuah aplikasi yang

Analisis Perbandingan Kinerja Algoritma Fixed Length Binary Encoding (FLBE) dengan Algoritma Sequitur Dalam Kompresi File Teks.. Universitas

Tujuan penelitian ini adalah mengetahui algoritma yang lebih efisien dalam mengkompresi data diantara algoritma Ternary Comma Code dengan algoritma Levenstein Code.. 1.5

Pada sampel pengujian string homogen, dilihat dari perhitungan RC, CR dan SS algoritma Punctured Elias Codes dan Ternary Comma Code hampir sama baiknya, namun waktu

Algoritma LUC merupakan kriptografi asimetri sehingga menggunakan dua kunci yang berbeda, yaitu kunci publik untuk enkripsi dan kunci privat digunakan untuk

Pada Algoritma LUC, teks pada file PDF dikonversi ke American Standart Codes for Information Interchange (ASCII) yang digunakan untuk mengubah teks menjadi

Algoritma kompresi diperlukan untuk mengecilkan ukuran bit di dalam suatu file, sehingga menghasilkan ukuran yang lebih kecil dan Rice Code adalah algoritma yang digunakan

Studi literatur yang dilakukan dalam penelitian ini adalah mengumpulkan bahan referensi mengenai Kompresi Citra dengan menggunakan algoritma Elias Delta Codes dan Levenstein code