BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data - Perbandingan Kinerja Algoritma Fixed Length Binary Encoding (FLBE) Dengan Variable Length Binary Encoding (VLBE) Dalam Kompresi Text File

BAB 2 TINJAUAN PUSTAKA

2.1. Kompresi Data

  Kompresi data adalah proses mengkodekan informasi menggunakan bit atau

  

information-bearing unit yang lain yang lebih rendah daripada representasi data yang

  tidak terkodekan dengan suatu sistem enkoding tertentu. Contoh kompresi sederhana yang biasa kita lakukan misalnya adalah menyingkat kata-kata yang sering digunakan tapi sudah memiliki konvensi umum (Saputro, 2011). Misalnya: kata “dan sebagainya” dikompres menjadi kata “dsb”.

  Pengiriman data hasil kompresi dapat dilakukan jika pihak pengirim/yang melakukan kompresi dan pihak penerima memiliki aturan yang sama dalam hal kompresi data. Pihak pengirim harus menggunakan algoritma kompresi data yang sudah baku dan pihak penerima juga menggunakan teknik dekompresi data yang sama dengan pengirim sehingga data yang diterima dapat dibaca di-decode kembali dengan benar (Saputro, 2011).

  Proses kompresi data didasarkan pada kenyataan bahwa pada hampir semua jenis data selalu terdapat pengulangan pada komponen data yang dimilikinya, misalnya didalam suatu teks kalimat akan terdapat pengulangan penggunaan huruf alphabet dari huruf a sampai dengan huruf z (Sarifah, 2010). Kompresi data melalui proses encoding berusaha untuk menghilangkan unsur pengulangan ini dengan mengubahnya sedemikian rupa sehingga ukuran data menjadi lebih kecil. Kompresi data menjadi sangat penting karena memperkecil kebutuhan penyimpanan data, mempercepat pengiriman data, memperkecil kebutuhan bandwidth.Teknik kompresi bisa dilakukan terhadap data teks/biner (TXT, RTF, DOC), gambar (JPEG, PNG, TIFF), audio (MP3, AAC, RMA, WMA), dan video (MPEG, H261, H263). seperti pada Gambar 2.1.

  Kompresi

  uncompressed compressed data data

  Dekompresi

  compressed data uncompressed data

Gambar 2.1. Diagram Blok Proses Kompresi dan Dekompresi Data

  Kompresi data dibagi menjadi dua kategori yaitu: 1. Kompresi data bersifat loseless

  Algoritma kompresi tergolong lossless jika memungkinkan data yang sudah dikompres dapat direkonstruksi kembali persis sesuai dengan data original. Teknik ini menjamin tidak ada kehilangan sedikitpun detil atau kerusakan pada data (Saputro, 2011). Lossless compression disebut juga dengan reversible

  compression karena data asli bisa dikembalikan dengan sempurna. Akan tetapi

  rasio kompresinya sangat rendah, misalnya pada gambar seperti GIF dan PNG (Sarifah, 2010). Contoh data yang cocok adalah gambar medis, teks, program, spreadsheet dan lain-lain. Beberapa algoritma yang tergolong dalam jenis ini adalah algoritma Shannon-Fano, algoritma Run Length Coding, algoritma Variable Length Binary Encoding, algoritma Fixed Length Binary Encoding, algoritma Huffman, algoritma LZW, dan algoritma Arithmetic Coding (Saputro, 2011).

2. Kompresi data bersifat lossy

  Algoritma kompresi tergolong lossy jika tidak memungkinkan data yang sudah dikompres dapat direkonstuksi kembali persis sesuai dengan data asli. kompresi. Hal ini memanfaatkan keterbatasan panca indera manusia. Maka, sebuah perkiraan yang mendekati keadaan original dalam membangun kembali data merupakan hal yang diperlukan untuk mencapai keefektifan kompresi. Contoh data yang cocok adalah gambar, suara dan video. Adapun beberapa algoritma yang tergolong dalam jenis ini adalah algoritma Wavelet Compression, CELP, JPEG, MPEG-1 dan WMA (Saputro, 2011).

2.2. Text File

  (disebut juga dengan flat file) adalah salah satu jenis file komputer yang

  Text file

  tersusun dalam suatu urutan baris data teks biasanya diwakili oleh 8 bit kode ASCII atau pun kode EBCDIC (Pu, 2006).

  (ASCII) dan Extended

  American Standard Code for Information Interchange

Binary Coded Decimal Interchange Code (EBCDIC) merupakan cikal bakal dari set

  karakter lainnya. ASCII merupakan set karakter yang paling umum digunakan hingga sekarang. Set karakter ASCII terdiri dari 128 buah karakter yang masing-masing memiliki lebar 7-bit atau tujuh angka 0 dan 1, dari 0000000 sampai dengan 1111111. Alasan mengapa lebar set karakter ASCII sebesar 7 bit adalah karena komputer pada awalnya memiliki ukuran memori yang sangat terbatas, dan 128 karakter dianggap memadai untuk menampung semua huruf Latin dengan tanda bacanya, dan beberapa karakter kontrol. ASCII terdiri dari huruf-huruf, angka-angka, dan tanda-tanda baca (Sudewa, 2003).

  EBCDIC merupakan set karakter yang merupakan ciptaan dari IBM. Salah satu penyebab IBM menggunakan set karakter di luar ASCII sebagai standar pada komputer ciptaan IBM adalah karena EBCDIC lebih mudah dikodekan pada punch

  

card yang pada tahun 1960-an masih banyak digunakan. Penggunaan EBCDIC pada

mainframe

  IBM masih ada hingga saat ini, walaupun punch card sudah tidak digunakan lagi.Seperti halnya ASCII, EBCDIC juga terdiri dari 128 karakter yang masing-masing berukuran 7-bit. Hampir semua karakter pada ASCII juga terdapat pada set karakter EBCDIC (Sudewa, 2003). karakter – karakter khusus yang dikenal dengan tanda end-of-file setelah baris terakhir di suatu file teks. Text file biasanya mempunyai jenis Multipurpose Internet Mail

  

Extension (MIME) "text/plain", biasanya sebagai informasi tambahan yang

  menandakan suatu pengkodean. Pada sistem operasi Windows, suatu file dikenal sebagai suatu text file jika memiliki extention misalnya txt, rtf, doc, docx dan lain – lain (Khairi, 2011).

  

Gambar 2.2.Text File Sederhana

2.3. Algoritma

  Algoritma diambil dari kata Al-Khwarizmi. Al-Khwarizmi adalah bagian dari nama seorang ahli Matematika dan Astronomi yaitu Abu Ja’far Muhammad Ibnu Musa Al- Khwarizmi. Ia dianggap sebagai pencetus pertama algoritma karena di dalam bukunya yang berjudul “Aljabar wal muqabala” Abu Ja’far menjelaskan langkah dalam penyelesaian berbagai program Aritmatika (Aljabar). Seiring berjalannya waktu, Al-Khwarizmi berubah kata menjadi algorism, selanjutnya menjadi algorithm. Algoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis (Purbasari, 2007).

  Algoritma Fixed Length Binary Encoding (FLBE) sering dikenal sebagi kode blok yang sangat mudah diterapkan di dalam perangkat lunak. Sangat mudah untuk mengganti simbol asli dengan kode FLBE dan untuk memulai dengan string kode tersebut dan memecahnya menjadi kode yang individual kemudian digantikan oleh simbol-simbol asli (Salomon, 2007).

  8

  8 Jumlah Bit x Frequency

  8

  1 83 01010010

  16 S

  8

  2 85 01010101

  8 U

  8

  1 32 00100000

  8 Sp

  8

  1 77 01001104

  8 M

  1 79 01001111

  Algoritma Fixed Length Binary Encoding adalah algoritma kompresi data yang mengkodekan tiap karakter dengan menggunakan beberapa rangkaian bit. Pembentukan bit yang mewakili masing-masing karakter dibuat berdasarkan frekuensi kemunculan tiap karakter (Salomon, 2010).

  8 O

  8

  1 75 01001011

  8 K

  8

  1 76 01001100

  8 L

  8

  1 73 01001001

  I

  Bit Bit x Freq

  ASCII Binary

  Character Frequency ASCII Desimal

  Contoh: ILKOM USU Data sebelum dikompresi

  72 Tabel 2.1 Tabel Data sebelum Dikompresi

  Encoding

  Character Frequency FLBE Code Bit Bit x Freq

  I 1 000

  3

  3 L 1 001

  3

  3 K 1 010

  3

  3 O 1 011

  3

  3 M 1 100

  3

  3 Sp 1 101

  3

  3 U 2 110

  3

  6 S 1 111

  3

  3 Bit x frequency

  27 Tabel 2.2. Tabel Data setelah Dikompresi dengan algoritma FLBE

2.5.Algoritma Variable Length Binary Encoding (VLBE)

  Algoritma Variable Length Binary Encoding (FLBE)dalam teori pengkodean adalah kode yang memetakan simbol sumber untuk sejumlah variabel bit. Kode variabel- panjang dapat memungkinkan sumber yang akan dikompresi dengan nol kesalahan (kompresi data lossless) dan masih dapat dibaca kembali oleh simbol-simbol. (Salomon,2007).

  Algoritma Variable Length Binary Encoding adalah algoritma kompresi data yang mengkodekan tiap karakter dengan mengurutkan karakter berdasarkan frekuensi dan disortir secara stabil sehingga membentuk beberapa rangkaian bit(Salomon, 2010).

  Contoh : ILKOM USU Data sebelum dikompresi dapat dilihat di Tabel 2.1.Data setelah dikompresi menggunakan algoritma Variable Length Binary Encoding dapat dilihat di Tabel 2.3. Character Frequency

  VLBE Code Bit Freq x Bit U

  2

  = 2,6

  27

  72

  R C =

   Binary Encoding (FLBE)

  1. Ratio of Compression dari contoh menggunakan algoritma Fixed Length

  = Contoh :

  R C

  dikompresi dengan data setelah dikompresi (Salomon, 2007)

  

Ratio of Compression (R C ) adalah hasil perbandingan antara data yang belum

  Ada 4 parameter pembanding yang digunakan dalam peneltiaan ini, yaitu Ratio of

Compression (R C ), Compression Ratio (C R ), Space Savings (SS) dan waktu kompresi.

  36 Tabel 2.3. Tabel Data setelah Dikompresi dengan Algoritma VLBE

  7 Bit x Frequency

  7

  7 S 1 1111111

  7

  2 L 1 110

  1

  2 I

  1

  10

  2

  3

  6 Sp 1 1111110

  3 K 1 1110

  4

  4 O 1 11110

  5

  5 M 1 111110

  6

2.6.Parameter Pembanding

a. Ratio of Compression (R C )

  (VLBE)

   Binary Encoding

72 R C = = 2

  36

  b. Compression Ratio (C R )

Compression Ratio (C R ) adalah persentase besar data terkompresi, hasil perbandingan

  antara data yang sudah dikompresi dengan data yang belum dikompresi (Salomon, 2007).

  ×

  C = R

  % Contoh :

  1. Compression Ratio dari contoh menggunakan algoritma Fixed Length

   Binary Encoding (FLBE)

  27

  × C = 100% = 37,5 %

  R

  72

  2. Compression Ratio dari contoh menggunakan algoritma Variable Length

   Binary Encoding (VLBE)

  36

  × C R = 100% = 50 %

  72

  c. Space Savings(SS)

Space Savings adalah persentase selisih antara data yang belum dikompresi dengan

besar data yang dikompresi (Salomon, 2007).

  SS = 1 – C R

  1. Space Savings dari contoh menggunakan algoritma Fixed Length Binary

   Encoding (FLBE)

  Rd = 100% - 37,5% = 62,5%

  2. Space Savingsdari contoh menggunakan algoritma Variable Length Binary

   Encoding (VLBE)

  Rd = 100% - 50% = 50%

d. Waktu Kompresi

  Waktu kompresi merupakan waktu yang dibutuhkan oleh sebuah sistem untuk menginput text file yang akan dikompresi sampai dengan selesainya proses kompresi. Semakin sedikit waktu yang dibutuhkan oleh sebuah sistem untuk melakukan sebuah kompresi, maka metode kompresi yang digunakan semakin efektif.