BAB 2 TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN Latar Belakang

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Kompresi Data

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA SHANNON- FANO UNTUK KOMPRESI FILE TEXT

BAB 2 LANDASAN TEORI

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB II DASAR TEORI. 2.1 Pendahuluan

BAB I PENDAHULUAN. Dalam bidang teknologi informasi, komunikasi data sangat sering

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding.

Penerapan Pengkodean Huffman dalam Pemampatan Data

ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS

BAB 2 Tinjauan Teoritis

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : 640 x 480 = 4800 karakter 8 x 8

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

Kompresi. Definisi Kompresi

MULTIMEDIA system. Roni Andarsyah, ST., M.Kom Lecture Series

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

1. PENDAHULUAN 1.1. Latar Belakang Masalah

BAB 1 PENDAHULUAN. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa

Gambar 2.1 Contoh citra biner

PENERAPAN METODE HUFFMAN DALAM PEMAMPATAN CITRA DIGITAL

1. Pendahuluan. 1.1 Latar Belakang Masalah

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. tertulis, audio dan video. Objek-objek tersebut yang sebelumnya hanya bisa

BAB 1 PENDAHULUAN 1-1

BAB III PERANCANGAN SISTEM

SKRIPSI KOMPRESI DATA TEKS MENGGUNAKAN ALGORITMA PPM (PREDICTION BY PARTIAL MATCHING)

PEMAMPATAN CITRA (IMA

DATA COMPRESSION CODING USING STATIC AND DYNAMIC METHOD OF SHANNON-FANO ALGORITHM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

LAPISAN SESI DAN LAPISAN PRESENTASI. Budhi Irawan, S.Si, M.T

BAB IV HASIL DAN UJI COBA

BAB I PENDAHULUAN. Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

BAB I PENDAHULUAN. halaman khusus untuk pengaksesan dari handphone. Semakin baik informasi akan

TEKNIK KOMPRESI LOSSLESS TEXT

BAB 2 LANDASAN TEORI

Kode Huffman dan Penggunaannya dalam Kompresi SMS

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

KONSEP. Tujuan Kompresi:

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

PENGANTAR KOMPRESI DATA

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL. foto, bersifat analog berupa sinyal sinyal video seperti gambar pada monitor

KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

Teknik Kompresi Citra Menggunakan Metode Huffman

Penerapan Pohon Biner Huffman Pada Kompresi Citra

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

TEKNIK PENGOLAHAN CITRA. Kuliah 13 Kompresi Citra. Indah Susilawati, S.T., M.Eng.

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARIHTMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP


NASKAH PUBLIKASI KOMPRESI CITRA DENGAN METODE ARITHMETIC CODING DALAM KAWASAN ENTROPY CODING

BAB 2 LANDASAN TEORI

KOMPRESI FILE.TXT DENGAN ALGORITMA HUFFMAN PADA FILE DENGAN MENGGUNAKAN PENGKODEAN BASE-64 SKRIPSI. Oleh : LINGGA ADI FIRMANTO ( )

Pemampatan Data Sebagai Bagian Dari Kriptografi

Algoritma Huffman dan Kompresi Data

Kompresi Data dengan Kode Huffman dan Variasinya

PROTOTIPE KOMPRESI LOSSLESS AUDIO CODEC MENGGUNAKAN ENTROPY ENCODING

STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN LZW (LEMPEL ZIV WELCH) PADA PEMAMPATAN FILE TEKS SKRIPSI CANGGIH PRAMILO

Pemampatan Citra. Esther Wibowo Erick Kurniawan

Pemampatan Data dengan Kode Huffman pada Perangkat Lunak WinZip

BAB II DASAR TEORI Teknik Kompresi Data

DIGITAL IMAGE CODING. Go green Aldi Burhan H Chandra Mula Fitradi Mardiyah

PERANCANGAN APLIKASI KOMPRESI CITRA DENGAN METODE RUN LENGTH ENCODING UNTUK KEAMANAN FILE CITRA MENGGUNAKAN CAESAR CHIPER

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI

Transkripsi:

BAB 2 TINJAUAN PUSTAKA Pada bab ini penulis memaparkan teori-teori ilmiah yang didapat dari metode pencarian fakta yang digunakan untuk mendukung penulisan skripsi ini dan sebagai dasar pengembangan sistem sehingga dapat diimplementasikan dengan baik dan benar. 2.1. Kompresi Seiring dengan pesatnya arus informasi yang terus berkembang di masyarakat, teknologi juga secara terus menerus berupaya untuk berevolusi demi dapat memenuhi kebutuhan masyarakat akan adanya informasi yang dapat cepat dan mudah diakses. Dengan demikian timbul sebuah masalah, dimana sebuah data yang akan dikirim terlalu besar sedangkan jumlah bandwidth yang tersedia sangat terbatas. Dan juga dimana setelah data terkirim, jumlah data yang dapat disimpan pada media penyimpanan pada sebuah hardware juga sangat terbatas. Berdasarkan permasalahan yang tersebut, dilakukanlah sebuah cara agar data tersebut dapat dimampatkan (kompres) dengan harapan dapat memperkecil ukuran dari data tersebut, yang disebut dengan kompresi. Berikut adalah beberapa definisi mengenai kompresi, diantaranya adalah kompresi data bertujuan untuk mengurangi jumlah bit yang digunakan untuk menyimpan atau mengirimkan informasi (Gailly, 1995) Kompresi data adalah sebuah proses yang dapat mengubah sebuah aliran data masukan (sumber atau data asli) ke dalam aliran data yang lain (keluaran atau data yang dimampatkan) yang memiliki ukuran yang lebih kecil (Salomon, 2007). Proses kompresi merupakan proses mereduksi ukuran suatu data untuk menghasilkan representasi digital yang padat atau mampat (compact) namun tetap dapat mewakili kuantitas informasi yang terkandung pada data tersebut. Pada citra,

6 video, dan audio, kompresi mengarah pada minimisasi jumlah bit rate untuk representasi digital. Pada beberapa literatur, istilah kompresi sering disebut juga source coding, data compression, bandwidth compression, dan signal compression (Putra, 2010). Kompresi terdiri dari dua komponen, algoritma encoding yang mengambil pesan dan menghasilkan sebuah representasi "kompresi" (mudah-mudahan dengan sedikit bit), dan algoritma decoding yang merekonstruksi pesan asli atau perkiraan dari representasi kompresi. Kedua komponen ini biasanya saling terikat karena keduanya harus memahami representasi kompresi bersama-sama (Blelloch, 2013). Dengan merujuk pada beberapa definisi diatas, dapat ditarik kesimpulan bahwa kompresi adalah sebuah usaha untuk memperkecil ukuran data pada suatu file, dimana informasi yang terdapat didalam file tersebut tidak berubah. Sering terjadi mispersepsi mengenai data dan informasi, padahal data dan informasi adalah dua hal yang berbeda. Pada data terkandung suatu informasi. Namun tidak semua bagian data terkait dengan informasi tersebut atau pada suatu data terdapat bagian-bagian data yang berulang untuk mewakili informasi yang sama. Bagian data yang tidak terkait atau bagian data yang berulang tersebut disebut dengan data yang berlebihan (redudancy data). Tujuan daripada kompresi data tidak lain adalah untuk mengurangi data berlebihan tersebut sehingga ukuran data menjadi lebih kecil dan lebih ringan dalam proses transmisi (Putra, 2010). Di dalam penelitian ini, file yang akan diteliti berfokus pada jenis file teks, dengan ekstensi txt dan doc. File teks (flat file) adalah salah satu jenis file komputer yang tersusun dalam suatu urutan baris data teks biasanya diwakili oleh 8 bit kode ASCII (Solihin, 2013). 2.2. Teknik Kompresi Ketika kita berbicara tentang teknik kompresi atau algoritma kompresi, kita sebenarnya mengacu pada dua algoritma. Ada algoritma kompresi yang mengambil sebuah input x dan menghasilkan x c sebagai representasi yang memerlukan bit yang lebih sedikit, dan ada algoritma rekonstruksi yang beroperasi pada representasi kompresi x c untuk menghasilkan rekonstruksi y. Operasi ini secara skematis diperlihatkan pada Gambar 2.1 (Sayood, 2006).

7 Nama saya Umri Erdiansyah dengan NIM 101401033 Nama saya Umri Erdiansyah dengan NIM 101401033 Gambar 2.1. Kompresi dan Rekonstruksi (Sayood, 2006) Berdasarkan persyaratan rekonstruksi, skema kompresi data dapat dibagi menjadi dua kelas besar: Skema kompresi lossless, dimana x identik dengan y, dan skema kompresi lossy, yang umumnya menyediakan kompresi jauh lebih tinggi daripada kompresi lossless tetapi memungkinkan y menjadi berbeda dari x (Sayood, 2006).. 2.2.1 Kompresi lossy (lossy compression) Lossy compression menyebabkan adanya perubahan data dibandingkan sebelum dilakukan proses kompresi. Sebagai gantinya lossy compression memberikan derajat kompresi lebih tinggi. Tipe ini cocok untuk kompresi file suara digital dan gambar digital. File suara dan gambar secara alamiah masih bisa digunakan walaupun tidak berada pada kondisi yang sama sebelum dilakukan kompresi (Widhiarta, 2008). Beberapa algoritma lossy compression yang sudah umum diterapkan antara lain algoritma ADPCM, LPC, JPEG, MPEG, Fractal dan lain sebagainya. Konsep dasar kompresi lossy dapat dilihat pada Gambar 2.2.

8 Gambar 2.2. Ilustrasi Kompresi Lossy (Sayood, 2006) 2.2.2 Kompresi lossless (lossless compression) Sebaliknya lossless compression memiliki derajat kompresi yang lebih rendah tetapi dengan akurasi data yang terjaga antara sebelum dan sesudah proses kompresi. Kompresi ini cocok untuk basis data, dokumen atau spreadsheet. Pada lossless compression ini tidak diijinkan ada bit yang hilang dari data pada proses kompresi (Widhiarta, 2008). Beberapa algoritma lossless compression yang sudah umum diterapkan antara lain algoritma Huffman, Shannon-Fano, RLE, LZ77, LZW, LZSS, Elias Gamma Code, dan Elias Delta Code. Konsep dasar kompresi lossless dapat dilihat pada gambar 2.3. Gambar 2.3. Ilustrasi Kompresi Lossless (Sayood, 2006) 2.2.3 Pengukuran kinerja kompresi data Pada suatu teknik yang digunakan dalam proses kompresi data terdapat beberapa faktor atau variabel yang biasa digunakan untuk mengukur kualitas dari suatu teknik kompresi data tersebut, yaitu : 1. Ratio of Compression (Rc) Ratio of Compression (Rc) adalah perbandingan antara ukuran data sebelum dikompresi dengan ukuran data setelah dikompresi.

9 (Salomon & Motta, 2010) Misalkan didapat sebuah nilai Ratio of Compression sebesar 2.75. Itu berarti besar data sebelum kompresi adalah 2.75 kali lipat dari besar data setelah dikompresi. 2. Compression Ratio (Cr) Compression Ratio (Cr) adalah persentasi besar data yang telah dikompresi yang didapat dari hasil perbandingan antara ukuran data setelah dikompresi dengan ukuran data sebelum dikompresi. (Salomon & Motta, 2010) Misalkan didapat sebuah nilai Compression Ratio sebesar 35%. Itu berarti setelah dikompresi ukuran data adalah 35% dari data sebelum dikompresi. 3. Redundancy (Rd) Redundancy (Rd) adalah kelebihan yang terdapat di dalam data sebelum dikompresi. Jadi setelah data dikompresi dapat dihitung Redundancy data yaitu persentasi dari hasil selisih antara ukuran data sebelum dikompresi dengan data setelah dikompresi. (Salomon & Motta, 2010) Misalkan didapat sebuah nilai Redundancy sebesar 14%. Itu berarti besarnya kelebihan data sebelum dikompresi adalah 14%. 4. Waktu Kompresi dan Dekompresi Waktu kompresi dan dekompresi adalah waktu yang dibutuhkan oleh sebuah sistem untuk melakukan proses kompresi dan dekompresi dari mulai

10 pembacaan data hingga proses encoding pada data tersebut. Semakin kecil waktu yang diperoleh maka semakin efisien metode yang digunakan dalam proses kompresi dan dekompresi itu. 2.3. Algoritma Elias Delta Code Elias Delta Code adalah sebuah algoritma kompresi yang dibuat oleh Peter Elias menggunakan kode yang telah dia buat sebelumnya, yaitu Elias Gamma Code, sebagai building block (Figueiredo, 2010). Dalam kode Gamma, Elias menambah panjang kode dalam unary (α). Dalam kode berikutnya, δ (delta), ditambahkan pada panjang kode dalam biner (β). Dengan demikian, Elias Delta Code, yang juga untuk bilangan bulat positif, sedikit lebih kompleks untuk dibangun (Salomon, 2007). Encode dalam bilangan bulat positif n dilakukan dalam langkah-langkah berikut: 1. Tulis n dalam biner. Bit yang paling kiri (paling signifikan) akan menjadi 1. 2. Hitung bit, hapus bit paling kiri dari n, dan tambahkan hitungan, di dalam biner, apa yang tersisa dari bit n yang paling kiri setelah telah dihapus. 3. Kurangi 1 dari hitungan di langkah 2,dan tambahkan jumlah nol sebanyak hasil hitungan tersebut ke awal kode. Contoh kasus pada bilangan integer 17, hasilnya: 17 = 10001 2 (lima bit). Hapus angka 1 paling kiri dan tambahkan 5 = 101 2, sehingga menjadi 101 0001. Tiga bit telah ditambahkan, jadi kita tambahkan dua nol untuk mendapatkan kode delta 00 101 0001. Decode dilakukan dalam langkah-langkah berikut: 1. Baca bit dari kode sampai Anda dapat men-decode kode Elias Gamma. Sebut 2. hasil decode dengan M + 1 Hal ini dilakukan dalam substeps berikut.: a. Hitung nol paling awal pada kode dan simbolkan dengan C. b. Periksa paling kiri dari 2C + 1 bit (C nol, diikuti oleh sebuah angka 1, diikuti oleh lebih banyak bit C). Ini adalah decode kode gamma M +1 3. Baca bit M berikutnya. Sebut nomor ini L. 4. Integer decode-nya adalah 2 M + L.

11 Tabel 2.1 Tabel Kode Elias Gamma (Salomon, 2007) 1 = 2 0 + 0 = 1 10 = 2 3 + 2 = 0001010 2 = 2 1 + 0 = 010 11 = 2 3 + 3 = 0001011 3 = 2 1 + 0 = 011 12 = 2 3 + 4 = 0001010 4 = 2 2 + 0 = 00100 13 = 2 3 + 5 = 0001101 5 = 2 2 + 1 = 00101 14 = 2 3 + 6 = 0001010 6 = 2 2 + 2 = 00110 15 = 2 3 + 7 = 0001111 7 = 2 2 + 3 = 00111 16 = 2 4 + 0 = 00001000 8 = 2 3 + 0 = 0001000 17 = 2 4 + 1 = 00001001 9 = 2 3 + 1 = 0001001 18 = 2 4 + 2 = 00001010 Sebagai contoh, jika n = 17, kode deltanya adalah 001010001. Hitung dua angka nol, sehingga C = 2. Nilai dari 2C paling kiri + 1 = 5 bit adalah 00101 = 5, sehingga M + 1 = 5. Berikutnya baca M = 4 bit 0001, dan berakhir dengan nilai 2 M + L = 2 4 + 1 = 17. Tabel 2.2 Tabel Kode Elias Delta (Salomon, 2007) 1 = 2 0 + 0 L = 0 1 10 = 2 3 + 2 L = 3 00100010 2 = 2 1 + 0 L = 1 0100 11 = 2 3 + 3 L = 3 00100011 3 = 2 1 + 0 L = 1 0101 12 = 2 3 + 4 L = 3 00100010 4 = 2 2 + 0 L = 2 01100 13 = 2 3 + 5 L = 3 00100101 5 = 2 2 + 1 L = 2 01101 14 = 2 3 + 6 L = 3 00100010 6 = 2 2 + 2 L = 2 01110 15 = 2 3 + 7 L = 3 00100111 7 = 2 2 + 3 L = 2 01111 16 = 2 4 + 0 L = 4 001010000 8 = 2 3 + 0 L = 3 00100000 17 = 2 4 + 1 L = 4 001010001 9 = 2 3 + 1 L = 3 00100001 18 = 2 4 + 2 L = 4 001010010 2.4. Algoritma Levenstein Kode yang sedikit diketahui untuk bilangan bulat non-negatif ini digagas pada tahun 1968 oleh Vladimir Levenshtein. Baik encoding dan decoding adalah proses multi langkah (Salomon, 2007). Levenstein kode untuk nol adalah 0 tunggal. Untuk kode angka positif n, berikut adalah langkah encode-nya:

12 1. Set angka pertama dari C dengan 1. Letakkan kode-sejauh-ini pada string kosong. 2. Ambil nilai biner dari n tanpa angka 1 di awal dan tambahkan pada kodesejauh-ini. 3. Nyatakan M sebagai jumlah bit yang ditambahkan pada tahap 2. 4. Jika M 0, tambahkan C dengan 1 dan lakukan langkah 2 kembali, tetapi dengan nilai M, bukan n. 5. Jika M = 0, tambahkan 1 diikuti dengan 0 pada C ke kode-sejauh-ini dan berhenti. Untuk contoh kasus, kita anggap n = 18. Nilai biner dari 18 adalah 10010, kita ambil 0010 dan tambahkan dibelakang 1. Tambahkan 1 pada kode, kemudian hitung jumlah karakter pada 0010, kita dapatkan 4. Tambahkan kembali 1, Ambil nilai 00, tambahkan di belakang penambahan tadi. Ulangi langkah tersebut sampai kita dapati nilai M = 0, kemudian tambahkan 10. Sehingga 18 pada kode Levenstein adalah 11110 0 00 0010. Tabel 2.3 Tabel Kode Levenstein (Salomon, 2007) n Kode Levenstein n Kode Levenstein 0 0 9 11100 1 001 1 10 10 11100 1 010 2 110 0 11 11100 1 011 3 110 1 12 11100 1 100 4 1110 0 00 13 11100 1 101 5 1110 0 01 14 11100 1 110 6 1110 0 10 15 11100 1 111 7 1110 0 11 16 111100 1 00 0000 8 11100 1 000 17 111100 1 00 0001 Decoding dilakukan sebagai berikut: 1. Set C dengan jumlah berturut-turut angka1 sebelum angka 0 yang pertama. 2. Jika C = 0, nilai di-decode adalah nol, berhenti. 3. Set N = 1, dan ulangi langkah 4 (C-1) kali.

13 4. Baca N bit, tambahkan 1, dan tetapkan hasil bitstring ke N (dengan demikian menghapus nilai sebelumnya dari N). String ditugaskan untuk N dalam iterasi terakhir adalah nilai decode-nya. Sebagai contoh kita ambil kode Levenstein 11110 0 00 0010. Decoder pertama menghitung jumlah 1 sebelum 0 dan menemukan bahwa ada 4 iterasi. Kemudian baca 0 dan tambahkan awalan 1 menjadi 10. Decode 10 dan menemukan bahwa jumlah bit dalam representasi biner dari panjang codeword sama dengan 2. Kemudian baca 00 dan tambahkan awalan 1 menjadi 100. Artinya bahwa panjang representasi biner sama dengan 4. Akhirnya, baca 0111, tambah awalan 1 dan decode 10111, yaitu 23. 2.5. File Teks Teks adalah kumpulan dari karakter karakter atau string yang menjadi satu kesatuan. Teks yang memuat banyak karakter didalamnya selalu menimbulkan masalah pada media penyimpanan dan kecepatan waktu pada saat transmisi data. File teks merupakan file yang berisi informasi-informasi dalam bentuk teks. Data yang berasal dari dokumen pengolah kata, angka yang digunakan dalam perhitungan, nama dan alamat dalam basis data merupakan contoh masukan data teks yang terdiri dari karakter, angka dan tanda baca (Pramilo, 2008). Masukan dan keluaran data teks direpresentasikan sebagai set karakter atau sistem kode yang dikenal oleh sistem komputer. Ada tiga macam set karakter yang umum digunakan untuk masukan dan keluaran pada komputer, yaitu ASCII, Unicode, dan EBCDIC, ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex, dan Unicode tetapi ASCII bersifat lebih universal. ASCII digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII memiliki komposisi bilangan biner sebanyak 8 bit, dimulai dari 00000000 dan 11111111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan desimal. Unicode adalah suatu standar industri yang dirancang untuk mengizinkan teks dan simbol dari semua sistem tulisan di dunia untuk ditampilkan dan dimanipulasi secara konsisten oleh komputer. EBCDIC (Extended Binary Code Decimal Interchange Code) merupakan set karakter yang diciptakan oleh komputer merk IBM. EBCDIC terdiri dari 256 karakter yang masing-masing berukuran 8 bit (Sudewa, 2003).

14 2.5.1. Format teks Tipe teks merupakan tipe dasar yang sudah sangat dikenal dalam kehidupan seharihari. Tipe teks terdiri dari tipe karakter (char) dan tipe string. Tipe karakter (char) terdiri atas satu huruf, angka, tanda baca, atau karakter khusus seperti c, 1, # dan sebagainya. Tipe string terdiri atas nol atau lebih karakter seperti teks dan algoritma dan sebagainya. Secara umum, format data teks dibagi menjadi dua bagian, yaitu (Purnomo, 2005,): 1. Teks sederhana (plain text) Format data teks (*.txt) merupakan contoh format teks jenis ini yang paling populer. 2. Teks terformat (formatted text) Merupakan teks yang terformat dan mengandung styles. Format data dokumen Microsoft Word (*.doc) merupakan contoh format teks jenis ini yang paling populer. Contoh format data teks di atas beserta perangkat lunak yang biasa digunakan di antaranya adalah (Purnomo, 2005): 1. Format data teks (*.txt) Format data teks merupakan format teks yang digunakan untuk menyimpan huruf, angka, karakter kontrol (tabulasi, pindah baris, dan sebagainya) atau simbol-simbol lain yang biasa digunakan dalam tulisan seperti titik, koma, tanda petik, dan sebagainya. Satu huruf, angka, karakter kontrol atau simbol pada arsip teks memakan tempat satu byte. Berbeda dengan jenis teks terformat yang satu huruf saja dapat memakan tempat beberapa byte untuk menyimpan format dari huruf tersebut seperti font, ukuran, tebal atau tidak dan sebagainya. Kelebihan dari format data teks ini adalah ukuran datanya yang kecil karena tiadanya fitur untuk memformat tampilan teks. Saat ini perangkat lunak yang paling banyak digunakan untuk memanipulasi format data ini adalah Notepad. 2. Format data dokumen (*.doc) Doc merupakan ekstensi arsip dokumen perangkat lunak Microsoft Word yang paling banyak digunakan dalam Menulis laporan, makalah dan sebagainya.

15 Doc merupakan jenis teks terformat yang tidak hanya dapat mengatur tampilan teks seperti styles (font, ukuran huruf, dan sebagainya), namun juga dapat menyisipkan gambar. Kekurangan format teks dokumen ini terletak pada ukuran datanya yang besar. 3. Hyper text markup language (*.htm atau *.html) Merupakan format teks standard untuk tampilan dokumen web. 4. Rich text format (*.rtf) Format teks ini dikembangkan oleh Microsoft yang dapat dibaca oleh berbagai macam platform, seperti Windows, Linux, Mac OS dan sebagainya. 2.6 Penelitian yang Relevan Berikut ini beberapa penelitian yang terkait dengan algoritma Elias Delta Code dan Levenstein: 1. Sukiman & Chandra (2013) dalam jurnal yang berjudul Aplikasi Kompresi File dengan Algoritma Elias Gamma. Dari jurnal ini, maka dapat disimpulkan bahwa tingkat rasio kompresi dari algoritma Elias Gamma mempunyai rentang 60% - 80%. Pengujian baik untuk proses kompresi dan dekompresi menunjukkan kecepatan proses rata-rata cukup cepat karena Elias Gamma melakukan proses encoding dalam proses kompresinya. Waktu yang dibutuhkan untuk kompresi tidak bergantung pada besar ukuran file dan begitu pula waktu dekompresi tidak tergantung pada waku kompresi. Secara rata-rata waktu kompresi membutuhkan waktu lebih daripada waktu dekompresi. Besarnya rasio kompresi tergantung kepada jumlah bit per sample dan sample rate. Proses kompresi dengan menggunakan Elias Gamma mempunyai keterbatasan karena hanya dapat merepresentasikan 7 karakter pertama dengan jumlah bit di bawah 8 bit. 2. Pramilo (2008) dalam skripsi yang berjudul Studi Perbandingan Algoritma Huffman Dan Lzw (Lempel Ziv Welch) Pada Pemampatan File Teks. Dalam skripsi, dapat disimpulkan bahwa Disimpulkan bahwa, secara rata-rata algoritma Huffman menghasilkan rasio file hasil pemampatan yang terbaik daripada algoritma LZW. Dan juga, secara rata-rata algoritma Huffman membutuhkan waktu pemampatan yang tersingkat daripada algoritma LZW.

16 Terdapat beberapa file teks yang tidak tepat untuk dimampatkan dengan algoritma LZW karena dapat menghasilkan file hasil pemampatan yang berukuran sama atau lebih besar dari ukuran file sumber.