International Journal of Science and Advanced Technology (ISSN 2221-8386)

Volume 4 No 9 September 2014

http://www.ijsat.com

Results Analysis of Text Data Compression On Elias Gamma Code, Elias Delta Code and Levenstein Code Antoni1, Erna Budhiarti Nababan2, and Muhammad Zarlis3 Department of Informatics University of Sumatera Utara Medan, Indonesia [email protected], [email protected], [email protected] Abstractβ€”One of the main function of data compression is to reduce the file size by replacing characters that generally has 8 bits with shorter code. In the data compression, there is a lot of algorithms that can be used to process the input into desired output, thus it is very important to observe the compression ratio, space saving and compression speed. The purpose of this research is to analyze and compare the compression ratio, space saving and compressin speed between Elias Gamma Code (ELC), Elias Delta Code (EDC) and Levenstein Code (LC). The data used are 5 documents with a number of different characters. The result of the average compression ratio for EGC is 63.36%, EDC get 68.83% and LC get 72.12%. The result of the average space saving for EGC is 36.64%, EDC get 31.17% and LC get 27.88%. EGC’s compression speed is the fastest follow by EDC then LC.

consists of two phases, modeling and coding. A model for the data to be compressed to represent a particular symbol in the data include information such as the frequency of each symbol. Encoding is the process of generating compressed representation of the data, using the model to determine a code for each symbol.[11] This article is organized as follows: In section two, the related work for data compression is covered. Compression ratio, space saving, compression speed, Elias Gamma Code algorithm, Elias Delta Code algorithm and Levenstein Code algorithm are discussed in section three. In section four, comparative analysis of the result are given. In section fice, we present the conclusion and the future works. II.

Sukiman and Chandra [13] conducted a study of Elias Gamma Code algorithm by modeling the data to be compressed and the represented by certain symbols which have the data included information such as the requency of each symbol. Whilte coding is done to produce a compressed data representation with reference to the model in order to determine the code for each symbol. With this method, the result is that the Elias Gamma Code algorithm has a compression ratio range of 60% - 80%.

Keywords- Data Compression; Elias Gamma Code; Elias Delta Code; Levenstein Code; Compression Ratio; Space Saving; Compression Speed.

I.

RELATED WORK

INTRODUCTION

Data compression is the process of converting an input data of large size (original data) into another data that have a smaller size (output data). The original data could be a file, a buffer in memory, or individual bits sent on a communications channel.[8]

Sukirman, et al. [12] have done research by optimizing the process in the tranformation of Discrete Cosine Transform (DCT) and Quantization. The process is done by combining the DCT and Quantization process. From the incorporation results it was found that the mathematical formulation of the quantized DCT containing the amount of multiplication and addition operations are smaller than the standar DCT mathematical formulation. So the quantized DCT can improve JPEG compression ratio and quality.

Data compression is a process to convert a data by replacing the data that are usually displayed on a computer in a format that longer than needed in computer system. The reason why people are not too concerned with data compression is the inefficient data is more easier to process, more common in use and more important then data compression. The ASCII code for characters is a good example of a data compression that is longer than absolutely necessary. It uses 7-bit codes and easy to work with. A variable-size code, however, would be more efficient, since certain characters are used more than others and so could be assigned shorter codes.[6]

Wijaya and Widodo [15] have done research by using Huffman algorithm, Lempel Ziv Welch (LZW) algorithm and Run-Length Encoding (RLE) algorithm to compress a digital image object. The test was done with digital image object formats bmp, jpg and tiff on compression speed and decompression speed. From these tests Huffman algorithm could compress every digital image object and has high compatibility for each format. While Lempel Ziv Welch (LZW) algorithm compression speed and decompression speed is less good but has a high compression performance in the bmp image format. While the ability of the algorithm

The purpose of this research is to analyze and make the comparison of the compression ratio, space saving and compression speed between Elias Gamma Code algorithm, Elias Delta Code algorithm and Levenstein Code algorithm using 5 text documents that content lowercase, uppercase, punctuation and number. Each text document has a different number of characters. The compression process 17

International Journal of Science and Advanced Technology (ISSN 2221-8386)

Volume 4 No 9 September 2014

http://www.ijsat.com capabilities possessed Run-Length Encoding (RLE) is not better than Huffman and LZW algorithm. RLE algorithm is capable to compress image format bmp type grayscale only. But in this case RLE algorithm performance is high enough.

3. Append the remaining N binary digits to this representation of N. Figure 1 shows the steps to do compression process with Elias Gamma Code algorithm. [3]

Arysanti and Livianthy [4] have done the research by compressing image with Huffman algorithm. Image data used in the compression process is BMP image formats. In addition to image data, the test was also perfomed on document (*.txt) text data and Hyper Text Markup Language (*.htm). In this research they only tested on the level of effectiveness of the Huffman method form image data compression and text.

Input Text File Timer Start Scanning File Content Create Characters Map Code and Frequency For Each Character Sort Z-A Create Elias Gamma Code Table

III.

METHODOLOGY

Replace File Content According To Elias Gamma Code Table

A. Compression Ratio, Space Saving and Compression Speed In data compression, the main purpose is to get a better compression ratio. Data compression ratio is defined as the ratio between output stream and input stream.[14] πΆπ‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘ π‘–π‘œπ‘› π‘…π‘Žπ‘‘π‘–π‘œ =

𝑂𝑒𝑑𝑝𝑒𝑑 π‘†π‘‘π‘Ÿπ‘’π‘Žπ‘š 𝐼𝑛𝑝𝑒𝑑 π‘†π‘‘π‘Ÿπ‘’π‘Žπ‘š

Generate Elias Gamma Code To ASCII Code Save The Result To Output File Timer Stop

x 100%

(1)

Compression Ratio Space Saving Compression Speed

Space saving is given instead, which is defined as the reduction in size relative to the uncompressed size. π‘†π‘π‘Žπ‘π‘’ π‘†π‘Žπ‘£π‘–π‘›π‘” = 1 βˆ’

πΆπ‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘ π‘’π‘‘ 𝑆𝑖𝑧𝑒 π‘ˆπ‘›π‘π‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘ π‘’π‘‘ 𝑆𝑖𝑧𝑒

x 100%

Figure 1. Compression Process of Elias Gamma Code

Here are the steps to decode integer based on Elias Gamma Code algorithm:[5] 1. Read the bit string until you reach the first 1. Call 1 as p and call this count of zeroes with n. 2. Continue reading after p of n. 3. Replace the code with a character according to Elias Gamma Code table.

(2)

OR π‘†π‘π‘Žπ‘π‘’ π‘†π‘Žπ‘£π‘–π‘›π‘” = (1 βˆ’ πΆπ‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘ π‘–π‘œπ‘› π‘…π‘Žπ‘‘π‘–π‘œ) x 100% (3)

Good compression ratio will give a good space saving too but not necessarily a good compression speed. Compression speed depend on various aspects such as methods and computer specifications that used in the compression process.

Figure 2 shows the steps to do decompression process with Elias Gamma Code algorithm.[3] Input Text File Timer Start Generate File Content To Binary

B. Elias Gamma Code Algorithm Elias Gamma Code is one of the universal code which was pioneered by Peter Elias that use to encode and decode positive integer n even in cases where the largest integer is not known in advance. Also, this code grows slowly, therefor it is a good candidate for compressing integer data where the number of small integers are larger then the large integers.[7]

Restore to Beginning Bit String Replace Bit String Base On Elias Gamma Code Table Save The Result To Output File

As for the rules to code a number by using Elias Gamma Code algorithm is as follows:[1] 1. Write it in binary. 2. Subtract 1 from the number of bits written in step 1 and prepend that many zeros.

Timer Stop Decompression Speed Figure 2. Decompression Process of Elias Gamma Code

C. Elias Delta Code Algorithm Elias Delta Code is one of the three code pioneered by Peter Elias. In his gamma code, Elias prepends the length of the code in unary. In Elias Delta code, he prepends the length in binary. Elias Delta code can be used for the positive integers, but because Elias Delta code is longer

There is a way which equivalent to the steps above:[2] 1. Separate the integer into the highest power of 2 it contains (2N) and the remaining N binary digits of the integer. 2. Encode N in unary; that is, as N zeroes followed by a one. 18

International Journal of Science and Advanced Technology (ISSN 2221-8386)

Volume 4 No 9 September 2014

http://www.ijsat.com than Elias Gamma code then this become more complex to construct.[7]

Figure 4 shows the steps to do decompression process with Elias Gamma Code algorithm. [3] Input Text File Timer Start

Encoding a positive integer n, is done in the following steps:[7] 1. Write n in binary. The leftmost (most-significant) bit will be a 1. 2. Count the bits, remove the leftmost bit of n, and prepend the count, in binary, to what is left of n after its leftmost bit has been removed. 3. Subtract 1 from the count of step 2 and prepend that number of zeroes to the code.

Restore to Beginning Bit String

Figure 3 shows the steps to do compression process with Elias Delta Code algorithm. [3]

Save The Result To Output File

Generate File Content To Binary

Replace Bit String Base On Elias Delta Code Table

Timer Stop

Input Text File

Decompression Speed

Timer Start

Figure 4. Decompression Process of Elias Delta Code

Scanning File Content

D. Levenstein Code Algorithm In 1968 Vladimir Levenshtein develop Levenstein code that can be used for non-negative integers. The process of encoding and decoding is executed in multiple stages. [7]

Create Characters Map Code and Frequency For Each Character Sort Z-A Create Elias Delta Code Table

Levenstein Code encoding process. The Levenstein Code of zero is a single 0. To code a positive number n, perform the following steps:[4] 1. Set the count variable C to 1. Initialize the code-sofar to the empty string. 2. Take the binary value of n without its leading 1 and prepend it to the code-so-far. 3. Let M be the number of bits prepended in step 2. 4. If M is not 0, increment C by 1, go to and execute step 2 with M instead of n. 5. If M is 0, prepend C 1’s followed by a 0 to the codeso-far and stop.

Replace File Content According To Elias Delta Code Table Generate Elias Delta Code To ASCII Code Save The Result To Output File Timer Stop Compression Ratio Space Saving Compression Speed Figure 3. Compression Process of Elias Delta Code

Figure 5 shows the steps to do compression process with Levenstein Code algorithm. [3]

Here are the steps to decode integer based on Elias Delta Code algorithm:[3] 1. Perform decompression with Elias Gamma Code, delcare with M. 2. Perform readings M as a decimal number. Express the decimal number as L. 3. Continue reading after the bit string M as L-1. Express the result as C. 4. Combine the readings M and C and change with the character according to Elias Delta Code table.

Input Text File Timer Start Scanning File Content Create Characters Map Code and Frequency For Each Character Sort Z-A Create Levenstein Code Table Replace File Content According To Levenstein Code Table Generate Levenstein Code To ASCII Code Save The Result To Output File Timer Stop Compression Ratio Space Saving Compression Speed Figure 5. Compression Process of Levenstein Code

19

International Journal of Science and Advanced Technology (ISSN 2221-8386)

Volume 4 No 9 September 2014

http://www.ijsat.com Here are the steps to decode integer based on Levenstein Code algorithm:[3] 1. Read the bit string until you reach the first 0. Declare the count of 1 with C. 2. If C=0, then the value is 0 then stop. Replace the code with a character according to Levenstein Code table. If C is not 0, continue to step 3. 3. If C=1, take as much as 2 bits from beginning of reading position. 4. If C=2, take as much as 4 bits from beginning of reading position. 5. If C=3 and a bit front of 0 after C is 0, take as much as 7 bits from beginning of reading position. 6. If C=3 and a bit front of 0 after C is 1, take as much as 7 bits from beginning of reading position. 7. In addtion, take as much as 7 bits from beginning of reading position. Replace the code with a character according to Levenstein Code table.

G. Example of The Compression Process On Elias Gamma Code Based on Fig. 1, first we input the text file with extension *.txt. From this part Timer will start to count the compression speed. While this process is being processing, the text file that we input will be scanned. Once this process done, we will create the character map and frequency for each character. We assume the text file is Compression.txt and the contents in this file is β€œi am doing text data compression in this research”. Results of the scanning file contents is as follows: Character Map = {i, space, a, m, d, o, n, g, t, e, x, c, p, r, s, h} Character Frequency = i = 5 space = 8 a = 4 m = 2 d = 2 o = 3 n = 3 g = 1 t = 4 e = 4 x = 1 c = 2 p = 1 r = 3 s = 4 h = 2

Figure 6 shows the steps to do decompression process with Elias Gamma Code algorithm. [3] Input Text File Timer Start Generate File Content To Binary Restore to Beginning Bit String Replace Bit String Base On Elias Delta Code Table Save The Result To Output File

After we got the character map and its frequency then we sort all the character according to its frequency from large to small. If the frequency of the character is same then it will sorted alphabetically. The result from the sorted character can be seen in the Table I below:

Timer Stop Decompression Speed Figure 6. Decompression Process of Levenstein Code

E. Generate Bit String To ASCII Code In the compression process there is a step where bit string is converted to ASCII code. Before we can convert bit string to ASCII code, we need to check the length of bit string. This is done to ensure that no errors occur during the conversion process takes place. Here is how to do it:[3] 1. If the rest of the bit string to 8 is 0 then add 00000001 to the end of bit string. 2. If the rest of the bit string to 8 is n (1, 2, 3, 4, 5, 6, or 7) then add 0 as 7 – n + β€œ1” at the end of bit string, declare as L. Then add binary number of 9 – n at the end of bit string after L.

Table I. Sorted Character No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

F. Restore To Beginning Bit String In the decompression process, we have add several number of bits in the bit string before it is converted to ASCII code. Thus, we need to restore the bit string to beginning bit string without any additional bits. Here is how to do it:[3] 1. Perform reading the last 8 bits of bit string. Read the last 8 bits as decimal. Declare the result with n. 2. Remove bits at the end as much as 7 + n.

Character Map space i a e s t n o r c d h m g p x

Frequency 8 5 4 4 4 4 3 3 3 2 2 2 2 1 1 1

After the character has been sorted, then we will create the Elias Gamma Code table. The code will become a reference for the character within the file to be replaced. The result from the creating code can be seen in the Table II below: 20

International Journal of Science and Advanced Technology (ISSN 2221-8386)

Volume 4 No 9 September 2014

http://www.ijsat.com Table II. Sorted Character No

Char Map

1 space 2 i 3 a 4 e 5 s 6 t 7 n 8 o 9 r 10 c 11 d 12 h 13 m 14 g 15 p 16 x Total Char

Freq 8 5 4 4 4 4 3 3 3 2 2 2 2 1 1 1 49

Elias Gamma Bit Code 1 1 010 3 011 3 00100 5 00101 5 00110 5 00111 5 0001000 7 0001001 7 0001010 7 0001011 7 0001100 7 0001101 7 0001110 7 0001111 7 000010000 9 Output Stream

Output Stream = 231 bit N = MOD (231,8) = 7 L = 7 – 7 + β€œ1” = 1 Last Bit = 9 – n = 2 Last Bit = 00000010

Freq * Bit 8 15 12 20 20 20 15 21 21 14 14 14 14 7 7 9 231

01010110001101100010110001000010 00111000111010011000100000010000 00110100010110110011001110001010 00010000001101000111100010010010 00010100101010000100000111101000 11110011000011000100010110001001 00100001010010001100010010001010 0001100100000010100000010 Figure 9. Addition Number of Bits on Bit String From Fig. 9, the addition number of bits indicated with text effects (bold, italic and underline) on the bits are added.

Input Stream = Total Char * 8 Input Stream = 49 * 8 = 392

From Table II, it is clearly seen that character space will be replace by 1, character i will be replace by 010, character a will be replace by 011 and so on until character x that will be replace by 000010000. The process on how we will replace the file contents is shown on Fig. 7.

Figure 10. Bit String Converted to ASCII Code From Fig. 10, it is clearly seen the result of generating bit string to ASCII code. This ASCII code will be save as result to output file. Then, Timer will stop. Once the Timer stop, we will get the compression ratio, space saving and compression speed.

i am … … … 01010110001101 … … … Figure 7. Process of Replacing File Contents Process

H. Example of The Decompression Process On Elias Gamma Code Based on Fig. 2, first we input the text file with extension *.txt that we got from compression process in this section part G. From this part Timer will start to count the decompression speed. While this process is being processing, the text file that we input will be generate to binary.

In this process, we will get a bit string. The bit string can be seen on Fig. 8 below: 01010110001101100010110001000010 00111000111010011000100000010000 00110100010110110011001110001010 00010000001101000111100010010010 00010100101010000100000111101000 11110011000011000100010110001001 00100001010010001100010010001010 0001100100000010 Figure 8. Bit String From Text File Compression.txt

01010110001101100010110001000010 00111000111010011000100000010000 00110100010110110011001110001010 00010000001101000111100010010010 00010100101010000100000111101000 11110011000011000100010110001001 00100001010010001100010010001010 0001100100000010100000010

After the bit string obtained, then the bit string will be converted to ASCII code. Before we could convert bit string to ASCII code, we need to check the length of the bit string. To do this, see section 3 part E.

Figure 11. ASCII Code Converted To Binary From Fig. 11, we can clearly seen ASCII code converted to binary. Before we can replace this code with the character that we have created in this section part G (Table II), we have to restore the length of the bit string to beginning bit string. This is done because we have add 21

International Journal of Science and Advanced Technology (ISSN 2221-8386)

Volume 4 No 9 September 2014

http://www.ijsat.com several number of bits to the beginning bit string. To do this, see section 3 part F.

Table IV. Compression Results With Elias Delta Code Document Files Document U10k.txt Document U20k.txt Document U30k.txt Document U45k.txt Document U60k.txt

01010110001101100010110001000010 00111000111010011000100000010000 00110100010110110011001110001010 00010000001101000111100010010010 00010100101010000100000111101000 11110011000011000100010110001001 00100001010010001100010010001010 0001100100000010 100000010 decimal from last 8 bits (n) = 2

SS

CS

DS

67.24%

32.76%

00:08.902

00:07.534

72.57%

27.43%

00:25.169

00:10.774

67.72%

32.28%

00:47.490

00:20.933

68.97%

31.03%

02:22.107

00:46.636

62.24%

37.76%

04:15.431

02:12.581

CR = Compression Ratio; SS = Space Saving; CS = Compression Speed; DS = Decompression Speed

Remove bits as much as : 7+n 7 + 2 = 9 bits Figure 12. Restore To Beginning Bits Process

Table V. Compression Results With Levenstein Code Document Files Document U10k.txt Document U20k.txt Document U30k.txt Document U45k.txt Document U60k.txt

From Fig. 12, it is clearly seen the process to restore bit string to the beginning bit string. From this process, there are 9 bits to be removed from the bit string. On the next process, the beginning bit string will be replace with Elias Gamma Code according to the Elias Gamma Code table in the previous process (Compression Process on Elias Gamma Code). To replace the bit string with the character from Elias Gamma Code table, perform the steps that have been discussed previously. The result of the decompression process will be save to an output file. Then Timer will stop counting the decompression speed. IV.

CR

CR

SS

CS

DS

69.74%

30.26%

00:09.447

00:07.737

76.29%

23.71%

00:26.191

00:15.873

70.71%

29.29%

00:51.115

00:30.789

72.72%

27.28%

02:26.748

01:20.544

71.15%

28.85%

04:28.266

02:34.794

CR = Compression Ratio; SS = Space Saving; CS = Compression Speed; DS = Decompression Speed

From the Table III, Tabel IV and Tabel V, can be seen the compression results from Elias Gamma Code, Elias Delta Code and Levenstein Code algorithms such as compression ratio, Space Saving, Compression Speed and Decompression Speed.

RESULTS AND DISCUSSION

In this section, the results of the compression and decompression of the 5 pieces of text document data are presented in some tables and figures.[3] Table III. Compression Results With Elias Gamma Code Document Files Document U10k.txt Document U20k.txt Document U30k.txt Document U45k.txt Document U60k.txt

CR

SS

CS

DS

61.47%

38.53%

00:07.945

00:04.339

67.46%

32.54%

00:23.076

00:08.165

62.03%

37.97%

00:46.199

00:13.964

63.62%

36.38%

02:10.959

00:33.921

62.24%

37.76%

03:57.837

03:57.837

Figure 13. A Comparison Chart of Compression Ratio Between Elias Gamma Code, Elias Delta Code and Levenstein Code

CR = Compression Ratio; SS = Space Saving; CS = Compression Speed; DS = Decompression Speed

From Fig. 13, it is clearly seen that on all documents that are compressed by Elias Gamma Code, it gives the lowest compression ratio. While Elias Delta Code gives better compreassion ratio than Levenstein Code.

22

International Journal of Science and Advanced Technology (ISSN 2221-8386)

Volume 4 No 9 September 2014

http://www.ijsat.com Table VII. A Comparison of Compression Speed Between Elias Gamma Code, Elias Delta Code and Levenstein Code Document Files Document U10k.txt Document U20k.txt Document U30k.txt Document U45k.txt Document U60k.txt

Figure 14. A Comparison Chart of Space Saving Between Elias Gamma Code, Elias Delta Code and Levenstein Code

Elias Gamma Code 00:07.945

Elias Delta Code 00:08.902

Levenstein Code 00:09.447

00:23.076

00:25.169

00:26.191

00:46.199

00:47.490

00:51.115

02:10.959

02:22.107

02:26.748

03:57.837

04:15.431

04:28.266

From Fig. 14, it is clearly seen that on all documents that are compressed by Elias Gamma Code, it gives the highest space saving. While Elias Delta Code gives better space saving than Levenstein Code.

From the Table VII, it is clearly seen that on all documents that are compressed by Elias Gamma Code, it gives the highest compression speed. While the compression speed of Elias Delta Code is under Elias Gamma Code but still better than Levenstein Code.

Table VI. Average Compression Ratio and Space Saving on Elias Gamma Code, Elias Delta Code and Levenstein Code

Table VIII. A Comparison of Decompression Speed Between Elias Gamma Code, Elias Delta Code and Levenstein Code

Average Algorithms

Compression

Space

Ratio

Saving

Elias Gamma Code

63.36%

36.64%

Elias Delta Code

68.83%

31.17%

Levenstein Code

72.12%

27.88%

Document Files Document U10k.txt Document U20k.txt Document U30k.txt Document U45k.txt Document U60k.txt

Elias Gamma Code 00:04.339

Elias Delta Code 00:07.534

Levenstein Code 00:07.737

00:08.165

00:10.774

00:15.873

00:13.964

00:20.933

00:30.789

00:33.921

00:46.636

01:20.544

01:05.112

02:12.581

02:34.794

From the Table VIII, it is clearly seen that on all documents that are decompressed by Elias Gamma Code, it gives the highest decompression speed. While the decompression speed of Elias Delta Code is under Elias Gamma Code but still better than Levenstein Code. V.

CONCLUSION

Thus, the authors conclude that the compression ratio generated by Elias Gamma Code gives the best compression ratio in this research, followed by Elias Delta Code then Levenstein Code. Therefore, the value of the space saving generated from compression ratio by reducing 100% with the compression ratio in this regard space saving that generated by Elias Gamma Code is also the best, followed by Elias Delta Code and Levenstein Code. The magnitude of the compression ratio depends on the number of character set and the number of occurrence of each character. For compression speed, Elias Gamma Code algorithm requires minimum time between Elias Delta Code and Levenstein Code. While Elias Delta Code requires a little bit more time than Elias Gamma Code. Levenstein Code requires the longest time of all in this research.

Figure 15. Average Chart of Compression Ratio and Space Saving on Elias Gamma Code, Elias Delta Code and Leventein Code

From the Table VI and Fig. 15, it is clearly seen that the average compression ratio and average space saving given by Elias Gamma Code, Elias Delta Code and Levenstein Code. In the average of compression ratio, Elias Gamma Code indicating the lowest value that is equal to 63.36%, followed by Elias Delta Code with a value 68.83% and last Levenstein Code with a value of 72.12%. While in the average of space saving, Elias Gamma Code indicating the highest value that is equal to 36.64%, followed by Elias Delta Code wiah a value of 31.17% dan last Levenstein Code with a value of 27.88%.

23

International Journal of Science and Advanced Technology (ISSN 2221-8386)

Volume 4 No 9 September 2014

http://www.ijsat.com VI.

First Author Antoni was born in Panipahan, Indonesia on 4th May 1984. He obtained his S. Kom degree from STMIK TIME, Medan, Indonesia in 2008. He obtained his M. Kom degree in Informatics from the University of Sumatera Utara (Fasilkom TI USU), Medan, Indonesia in 2014. Currently, he is a computer teacher in Perg. Dr. Wahidin Sudirohusodo, Medan Labuhan, Indonesia. He is also a part of IT Team in Perg. Dr. Wahidin Sudirohusodo, Medan Labuhan, Indonesia. His area of interest include: data compression, algorithm, and graphic designer.

FUTURE WORK

As the future work, the compression process can be perform on variation files type such as files with the extenteion *.doc or *.rtf by combining existing algorithms so that the compression ratio, space saving and compression speed are expected to be better.

REFERENCES [1]

β€œElias Gamma Coding.” Wikipedia: The Free Encyclopedia. Wikimedia Foundation, Inc. 26th April 2014. Web. 2 Sept. 2014.

[2]

Alistair, M. and Vo N. A. 2005. β€œBinary Codes for Non-Uniform Sources.” DCC, 2005, Data Compression Conference, Data Compression Conference 2005, pp. 133-142, doi:10.1109/DCC.2005.22

[3]

Antoni, Analisis Hasil Kompresi Data Teks Pada Algoritma Elias Gamma Code, Elias Delta Code dan Levenstein Code, Tesis, Universitas Sumatera Utara, 2013.

[4]

Arysanti, S. and Livianthy, I. L. Z. 2010. Analisis Metode Huffman Untuk Kompresi Data Citra dan Teks Pada Aplikasi Kompresi Data. Sekolah Tinggi Manajemen Informatika dan Komputer Global Informatika MDP. Palembang. Indonesia.

[5]

Bing, L. 2007. Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data. Department of Computer Science. University of Illinois, Chicago, Springer-Verlag, Berlin Heidelberg.

[6]

David, S. 2004. Data Compression The Complete Reference. Third Edition. Department of Computer Science. California State University, Northridge, Springer-Verlag. New York.

[7]

David, S. 2007. Variable-length Codes for Data Compression. Computer Science Department. California State University, Northridge, Springer-Verlag, London. (2): 74-80

[8]

David, S. dan Giovanni M., 2010. Handbook of Data Compression. Fifth Edition. Computer Science Department. California State University, Northridge, Springer-Verlag, London.

[9]

Hankerson, D. R., Harris, G. A., Johnson, P. D., 2003. Introduction to Information Theory and Data Compression. Second Edition. Chapman and Hall/CRC. London. New York.

Second Author Erna Budhiarti Nababan was born in Bandung on 26th October 1962. She obtained Bachelor in Electronics Education from IKIP Bandung Indonesia in 1985. She obtained Master in Industrial Computing (2005) and Ph.D in Optimization (2009) from the Faculty of Information Technology, Universiti Kebangsaan Malaysia. Major field of study is artificial intelligence. She worked as instructor of Digital Technique at the Teacher Training Upgrading Center in Bandung (19851987). In 1987, she worked as a junior lecturer in IKIP Bandung. In 1992, she attended summer course (short term) at The Economics Institute-Boulder Colorado, USA. In 1994, she shifted to Medan and Worked as lecturer at Sekolah Tinggi Harapan at the Department of Information Technology. In 2002, while obtaining her Master at the Universiti Kebangsaan Malaysia, she worked as a Graduate Research Assistant at the same university. After completing her Master, she continued her study to Ph.D and still worked as a Graduate Research Assistant under her supervisor. She has published some papers, both in International Conference and International Journal. Most of it related to artificial intelligence, such as : Fuzzy Membership Function in Determining Statistical Process Control Location (in production floor) and Fuzzy Tabu Priority List (FTPL) to Handle Machine Breackdowns in Job Sjop Scheduling Problem. Currently, she is a lecturer in the Department of Informatics, University of Sumatera Utara (USU), Medan, Indonesia.

Third Author Muhammad Zarlis was born in Medan, Indonesia on 01st July 1957. He obtained his Bachelor degree in Physics from University of Sumatera Utara (USU), Medan, Indonesia in 1984. He obtained his M.Sc. degree from University of Indonesia (UI) – Sandwich Program with University of Maryland (UoM), USA in 1990. He got his Ph.D in Computer Science from University Sains Malaysia (USM) in 2002. Currently, he is a professor in USU, Medan, Indonesia. His area of interest include: intelligent system, computational method and modelling, computational physics (simulation and modelling), algorithm and programming, and numerical method.

[10] Mauro, B. 2004. Document and Image Compression. Siena : Taylor and Francis Ltd. London. United Kingdom. [11] Mengyi, P.I, 2006. Fundamental Data Compression. Linacre House, Jordan Hill, Oxford. [12] Sukirman, E., Ernastuti dan Madenda, S. 2010. Peningkatan Kinerja Algoritma Kompresi dan Dekompresi JPEG Melalui Penggabungan Proses DCT dan Kuantisasi. Fakultas Ilmu Komputer dan Teknologi Informasi. Universitas Gunadarma. Indonesia. [13] Sukiman dan Chandra, T. 2013. Aplikasi Kompresi File dengan Algoritma Elias Gamma. Jurnal CORE IT Vol. 1 No. 1. Teknik Informatika STMIK IBBI. [14] Ujianto, E.I.H. dan Hartati, S. 2009. Lossless Image Compressin Overview. Sesindo ITS. Surabaya. Indonesia. [15] Wijaya, A. dan Widodo, S. 2010. Kinerja dan Performa Algoritma Kompresi Lossless Terhadap Objek Citra Digital. Fakultas Teknologi Industri. Universitas Gunadarma. Indonesia.

24