• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data - Analisis Perbandingan Kinerja Algoritma Fixed Length Binary Encoding (Flbe) Dengan Algoritma Sequitur Dalam Kompresi File Teks

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data - Analisis Perbandingan Kinerja Algoritma Fixed Length Binary Encoding (Flbe) Dengan Algoritma Sequitur Dalam Kompresi File Teks"

Copied!
8
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1. Kompresi Data

Kompresi data adalah proses mengubah sebuah aliran data input menjadi aliran data

baru yang memiliki ukuran lebih kecil. Aliran yang dimaksud adalah berupa file

ataupun buffer dalam memori. Kebutuhan terhadap kompresi data dipengaruhi oleh

dua alasan, yaitu kecenderungan manusia untuk mengumpulkan data dan kebutuhan

terhadap proses transfer data yang cepat. Karena itu metode-metode untuk

mengkompresi data semakin berkembang. (Salomon, 2004)

Terdapat banyak metode untuk kompresi data. Metode-metode tersebut lahir

dari ide yang berbeda-beda, cocok untuk berbagai tipe data, dan menghasilkan output

yang berbeda-beda. Namun, prinsip dasar yang menjadi dasar tiap metode adalah

sama, yaitu mengkompresi data dengan menghilangkan redundancy dari data asli.

(Salomon, 2004)

Lossy dan Lossless Compression adalah pengelompokan metode kompresi

berdasarkan keutuhan data. Lossy Compression menghilangkan beberapa data untuk

memperoleh kompresi yang lebih baik, seperti Linear Predictive Coding, A-Law

Algorithm, Mu-Law Algorithm, Fractal Compression, dan lain-lain. Ketika proses

dekompresi dilakukan, maka output yang dihasilkan tidak sama dengan data aslinya.

Metode kompresi ini lebih efektif untuk mengkompresi data gambar, video, atau

audio. Sedangkan Lossless Compression tidak menghilangkan data sama sekali,

sehingga cocok untuk mengkompresi data berupa teks. Yang termasuk Lossless

Compression adalah Burrows-Wheeler, DEFLATE, LZW, FLBE, VLBE, Huffman,

(2)

2.2.Fixed Length Binary Encoding (FLBE)

Secara matematis kode disebut juga pemetaan. Sebuah kode memetakan symbol

tunggal maupun string dari symbol menjadi sebuah codeword (bitstring). Proses ini

disebut juga encoding dan proses sebaliknya disebut decoding. (Salomon, 2007)

Kode dapat mengandung fixed maupun variable length, dan dapat bersifat

statis maupun dinamis. Kode statis merupakan kode yang tidak dapat berubah-ubah,

seperti ASCII dan Unicode. Sementara kode dinamis bervariasi dari waktu ke waktu,

semakin banyak data yang dibaca dan diproses, maka semakin banyak pula

probabilitas yang didapatkan dari sebuah symbol. Algoritma Huffman merupakan

contoh dari kode tersebut. (Salomon, 2007)

Algoritma FLBE dikenal juga sebagai kode-kode blok. Kemudahan dalam

mengubah simbol yang asli ke dalam bentuk fixed-length code menjadikan algoritma

ini mudah untuk diimplementasikan ke dalam software. Kemudahan tersebut

berbanding lurus dengan proses mengubah kembali fixed-length code menjadi simbol

aslinya. (Salomon, 2007)

FLBE akan mengambil karakter yang terdapat dalam string yang ingin

dikompresi, kemudian menghitung frekuensi (jumlah kemunculan karakter pada

string). FLBE mengubah bit karakter menjadi fixed-length code sehingga

menghasilkan String Bit yang baru. String Bit inilah yang merupakan hasil kompresi

dari algoritma FLBE.

2.3.Sequitur

Algoritma Sequitur merupakan algoritma yang berdasarkan pada konsep tata bahasa

bebas konteks (context-free grammar). Pada algoritma ini dikenal simbol nonterminal

dan simbol terminal. Kedua jenis simbol tersebut merupakan unsur dari production

rules (aturan-aturan yang digunakan untuk membangun sebuah kalimat). Sebuah

simbol nonterminal diletakkan di sebelah kiri dan sebuah string simbol terminal dan

nonterminaldi sebelah kanan. Simbol nonterminal di sebelah kiri menjadi nama dari

(3)

Algoritma Sequitur membangun tata bahasanya dengan menggunakan 2

prinsip, yaitu :

1. Digram Uniqueness, tidak ada pasangan simbol yang berdekatan yang muncul

lebih dari satu.

2. Semua aturan harus digunakan lebih dari satu kali dan aturan yang hanya

digunakan sekali harus diabaikan atau ditiadakan.

Kedua aturan ini dapat dilihat pada gambar 2.2, di mana terdapat 3 contoh string yang

dikompresi menggunakan metode Sequitur. Input S sebelah kiri dari gambar 2.2

bagian (a) sudah merupakan sebuah tata bahasa yang mengandung frase bc yang

berulang sehingga frase bc dijadikan sebagai production rule. Frase bc kemudian

diubah menjadi simbol nonterminal A. Perubahan tersebut menghasilkan dua aturan

grammar, di mana aturan pertama merupakan input yang redundancy-nya dihilangkan

dan aturan kedua merupakan simbol A yang menggantikan digram bc.

Pada gambar 2.2 bagian (b) input S sebelah kiri mengandung redundancy

abcdbc yang kemudian diubah ke dalam simbol nonterminal A. Simbol nonterminal A

mengandung redundancy bc yang juga diubah ke dalam simbol nonterminal B.

Gambar 2.2 bagian (c) menunjukkan bagaimana prinsip kedua dari algoritma Sequitur.

Karena simbol nonterminal B yang mengandung simbol aA hanya muncul satu kali,

maka simbol tersebuh diabaikan. Demikian pula dengan simbol C yang mengandung

BdA yang juga hanya muncul sekali. Sehingga mengubah simbol abcdbc menjadi

(4)

Gambar 2.2: tiga urutan contoh input dan grammar (Salomon, 2004)

2.4.Parameter Analisis Kompresi

Pada suatu teknik yang digunakan dalam proses kompresi data terdapat beberapa

faktor atau variabel yang biasa digunakan untuk menganalisa kualitas dari suatu

teknik kompresi data tersebut, yaitu :

1. Ratio of Compression (RC) (Salomon & Motta, 2010)

Ratio of Compression (RC) adalah nilai perbandingan antara ukuran bit data

sebelum dikompresi dengan ukuran bit data yang telah dikompresi. Secara

matematis dapat dituliskan sebagai berikut:

=

2. Compression Ratio (CR) (Salomon & Motta, 2010)

Compression Ratio (CR) adalah persentase perbandingan antara data yang

sudah dikompresi dengan data yang belum dikompresi. Secara matematis

dapat dituliskan sebagai berikut:

(5)

3. Space Savings (SS)

Space Savings (SS) adalah persentase selisih antara data yang belum dikompresi

dengan besar data yang dikompresi.

= −

4. Waktu kompresi dan dekompresi

Waktu kompresi dan dekompresi adalah waktu yang dibutuhkan untuk

melakukan proses kompresi dan dekompresi. Semakin kecil waktu yang

diperoleh maka semakin efisien metode yang digunakan dalam proses

kompresi dan dekompresi itu.

2.5.File Text

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 Dteks yang terdiri dari

karakter, angka dan tanda baca. (Pramilo, 2008)

Format file teks yang akan digunakan dalam penelitian ini adalah format data

teks (*.txt) dan format data dokumen (*.doc).

1. Format data teks

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

(6)

teks. Saat ini perangkat lunak yang paling banyak digunakan untuk memanipulasi

format data ini adalah Notepad. (Pramilo, 2008)

2. Format data dokumen

Doc merupakan ekstensi arsip dokumen perangkat lunak Microsoft Word yang paling

banyak digunakan dalam penulisan laporan, makalah dan sebagainya. 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.

(Pramilo, 2008)

2.6.Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah sebuah “bahasa” yang telah menjadi

standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem

piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah

sistem. (Yasin, 2012)

Semua jenis aplikasi piranti lunak dapat dimodelkan menggunakan UML.

Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya,

maka UML lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa

berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML

tetap dapat digunakan untuk modeling aplikasi procedural dalam VB atau C. Seperti

bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML

merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram

piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax

mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi

UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch

OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique),

(7)

UML masih terus dikembangkan hingga saat ini. UML 2.5 merupakan versi

terbaru yang dikeluarkan pada bulan Oktober 2012. Dalam penelitian ini penulis akan

menggunakan 4 jenis UML, diantaranya:

1. Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan

bukan “bagaimana. Use case memiliki unsur aktor, sistem, use case,

association, generalization. Aktor merupakan sebuah entitas manusia atau

mesing yang berinteraksi dengan sistem untuk melakukan

pekerjaan-pekerjaan tertentu.(Yasin, 2012)

2. Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang

sedang dirancang, bagaimana masing-masing alir berawal, decision yang

mungkin terjadi, dan bagaimana mereka berakhir. Berbeda dengan use

case, activity menggambarkan proses yang berjalan. Unsur yang terdapat

pada activity adalah initial node (lingkaran hitam), aktivitas (segiempat

dengan sudut membulat), decision (belah ketupat), fork dan join (titik

sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal), activity

final (lingkaran hitam di dalam lingkaran kosong). (Yasin, 2012)

3. Sequence Diagram

Sequence diagram menggambarkan interaksi antarobjek di dalam dan di

sekitar sistem berupa message yang digambarkan terhadap waktu.

Sequence diagram terdiri dari dimensi vertikal (waktu) dan dimensi

horizontal (objek-objek yang terkait). Sequencediagram digunakan untuk

menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan

sebagai respons dari sebuah event untuk menghasilkan output tertentu.

Unsur yang terdapat dalam sequence adalah aktor, lifeline vertikal,

(8)

4. Class Diagram

Class diagram adalah sebuah spesifikasi yang jika diinstansiasi akan

menghasilkan sebuah objek dan merupakan inti dari pengembangan dan

desain berorientasi objek. Class menggambarkan keadaan

(atribut/property) suatu sistem, sekaligus menawarkan layanan untuk

memanipulasi keadaan tersebut (metoda/fungsi). Class diagram

menggambarkan struktur dan deskripsi class, package dan objek beserta

hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan

lain-lain. Dalam Class diagram terdapat tiga area pokok, yaitu Nama (dan

Gambar

Gambar 2.2: tiga urutan contoh input dan grammar (Salomon, 2004)

Referensi

Dokumen terkait

Berdasarkan pengujian yang dilakukan dengan menggunakan String yang tidak mengandung perulangan frase, diperoleh kesimpulan yang menunjukkan bahwa algoritma FLBE lebih

Kompresi data berarti suatu teknik untuk memampatkan dalam citra sehingga memori yang dibutuhkan menjadi lebih sedikit daripada representasi citra data agar diperoleh data

Kompresi data adalah suatu proses untuk mengubah sebuah input data stream ( stream sumber atau data mentah asli) ke dalam aliran data yang lain yang berupa output atau stream

Perbandingan kinerja algoritma fixed length binary encoding (flbe) dengan variable length binary encoding (vlbe) dalam kompresi text file.. Universitas

// mengubah strings menajadi stringbits public static

Tahapan ini dilakukan agar penulis mengetahui proses kompresi pada file dokumen menggunakan Algoritma Sequitur yang bertujuan untuk memperkecil ukuran data dengan

* To change this template file, choose Tools | Templates. * and open the template in

Proses Kompresi File word Pada proses kompresi file dengan nama A.doc dari ukuran file awal 493568 byte kemudian dilakukan proses dekompresi menjadi 397981 byte dengan ratio kompresi