• Tidak ada hasil yang ditemukan

Perbandingan Algoritma Even-Rodeh Code dan Algoritma Variable Length Binary Encoding (VLBE) Pada Kompresi File Teks

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Algoritma Even-Rodeh Code dan Algoritma Variable Length Binary Encoding (VLBE) Pada Kompresi File Teks"

Copied!
90
0
0

Teks penuh

(1)

69

LISTING PROGRAM 1. Even-Rodeh Code

// fungsi untuk membangkitkan kode even-rodeh public static String GetEvenRodeh(int n) {

//fungsi untuk algoritma even-rodeh code

public static void EvenRodehCodes(String st)

2. Variable Length Binary Encoding

(2)

st, String c, String[] s) {

StringBuilder stb = new StringBuilder(); for (int i = 0; i < st.Length; i++)

{

String z = Char.ToString(st[i]); int k = c.IndexOf(z);

stb.Append(s[k]); }

int x = stb.Length % 8; int pad = 0;

if (x != 0) {

pad = 8 - x;

for (int i = 0; i < pad; i++) stb.Append("0");

}

String d = DecToBin(pad); int y = 8 - d.Length;

for (int i = 0; i < y; i++) stb.Append("0");

stb.Append(d);

(3)

71

// fungsi untuk algoritma vlbe

public static void VLBE(String st) {

int[] freq = CountFreq(st); String charset = GetCharSet(st); int t = charset.Length;

InsertionSort(freq, charset); freq = fr;

charset = cs;

vlbe = new String[t]; vlbe[0] = "0";

StringBuilder v;

for (int n = 1; n < t - 1; n++)

{

v = new StringBuilder(vlbe[n - 1]); v.Insert(0, "1");

vlbe[n] = v.ToString();

}

v = new StringBuilder(vlbe[t - 2]); v.Replace("0", "1");

(4)

DAFTAR RIWAYAT HIDUP

Data Pr ibadi

Nama : Ade Rani Abdullah

Tempat/Tanggal Lahir : Padangsidimpuan, 10 November 1993 Tinggi/Berat Badan : 160 cm / 45 kg

Agama : Islam

Kewarganegaraan : Indonesia

Alamat Sekarang : Jalan Pelita 2 No. 84

[2012 – sekarang] : S1 Ilmu Komputer Universitas Sumatera Utara [2009 – 2012] : SMA Negeri 4 Padangsidimpuan

Multimedia : Adobe Flash

Perkantoran : Microsoft Office

(5)

70

Pengalaman Or ganisasi

[2010 – 2011] Anggota Hubungan Masyarakat OSIS SMA Negeri 4 Padangsidimpuan

[2012 – 2013] Anggota Dana IMAKOPASID

[2015 – sekarang] Sekretaris Departemen Hubungan Masyarakat IMILKOM USU ---

Pengalaman Kepanitiaan

[2012] Anggota Humas Dies Natalis 11th S1 Ilmu Komputer USU [2013] Anggota Konsumsi ARTechno

[2013] Anggota Humas Ilkom Goes To School (IGTS) [2014] Anggota Humas Porseni Imilkom

[2014] Anggota Dana PMB S1 Ilmu Komputer USU

---

Seminar

[2013] Seminar Internasional Forum Bisnis (MIBEX 2013)

[2013] Seminar Nasional Gelora Literasi Teknologi Informasi & Komunikasi “SI GELITIK”

(6)

DAFTAR PUSTAKA

Andika, R. 2014. Implementasi metode punctured elias codes pada kompresi file text. Skripsi. Universitas Sumatera Utara.

Cheng, K. S., Young, G. H. & Wong, K. F., 1999. A study on word-based and integral-bit chinese text compression algorithms. Journal of the America

Society for Information Science 50(3): 218-228

Erdiansyah, U. 2014. Perbandingan algoritma elias delta code dengan levenstein untuk kompresi file teks. Skripsi. Universitas Sumatera Utara.

Fenwick, P. 1996. Punctured elias codes for variable-length coding of the integers.

Technical Report 137(12): 2-3.

Gács, P. & Lovász, L., 1999. Complexity of Algorithms. Spring: London.

Gilbert, E. N., & Moree, E. F. 1959. Variable-length binary encodings. Bell System

Technical Journal 38(4): 933-967.

Gozali, F. & Mervyn. 2004. Analisis perbandingan kompresi data dengan teknik arithmetic coding dan run length encoding. JETri 4(1): 37-52.

Kodituwakku, S. R. 2005. Comparison of lossless data compression algorithms for text data. Indian Journal of Computer Science and Engineering 1(4): 416-425.

Pramilo, C. 2008. Studi perbandingan algoritma huffman dan LZW (Lempel Ziv Welch) pada pemampatan file teks. Skripsi. Universitas Sumatera Utara.

(7)

70

Salomon, D. 2007. Variable-Length Codes for Data Compression. Springer: London Salomon, D. & Motta, G. 2010. Handbook of Data Compression. Fifth Edition.

Springer: London.

Sarifah. 2010. Analisis kinerja dan implementasi algoritma kompresi arithmetic coding pada file teks dan citra digital. Skripsi. Universitas Sumatera Utara.

Suarga. 2006. Algoritma dan Pemrograman. Yogyakarta: Andi.

Tsukiyama, T., Yashiki H., & Hirose O. 1989. Method and apparatus for data compression and restroration. United States Patent 07: 1-6.

Viliana, D. 2014. Perbandingan kinerja algoritma fixed length binary encoding (flbe) dengan variable length binary encoding (vlbe) dalam kompresi text file. Skripsi. Universitas Sumatera Utara.

Wahyudi, B. 2004. Pengantar Struktur Data dan Algoritma. Yogyakarta: Andi.

Ziv, J., & Lempel, A. 1977. A universal algorithm for sequential data compression.

(8)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem adalah bagian dari pembangunan sistem untuk menentukan proses

input, pengolahan data, dan output dari sebuah sistem. Adapun tahapan-tahapan yang

dilakukan dalam menganalisis sebuah sistem yaitu:

3.1.1. Analisis masalah

Analisis masalah merupakan proses mengidentifikasi sebab dan akibat dibangunnya sebuah sistem agar sistem yang akan dibangun tersebut dapat berjalan sebagaimana mestinya sesuai dengan tujuan dari sistem itu. Permasalahan yang diangkat dari penelitian ini adalah bagaimana memperkecil ukuran file teks yaitu dengan mengurangi adanya redundansi pada file teks tersebut sehingga dihasilkan file yang memiliki ukuran yang lebih kecil guna untuk menghemat pemakaian media penyimpanana data dan mempercepat transmisi atau memindahkan data. Kompresi data menggunakan algoritma Even-Rodeh Code dan Variable Length Binary Encoding (VLBE). Pada penelitian ini file teks yang digunakan yaitu file *.rtf.

Diagram Ishikawa adalah diagram yang dapat menggambarkan hubungan sebab akibat dalam sebuah sistem. Analisa masalah lebih jelas melalui diagram

(9)

19

Gambar 3.1 Diagram Ishikawa

Pada Gambar 3.1 dapat dilihat bahwa terdapat empat kategori penyebab masalah pada penelitian Perbandingan Algoritma Even-Rodeh Code dan Algoritma Variable Length

Binary Encoding (VLBE) pada Kompresi File Teks yang digambarkan dengan tanah

panah yang mengarah ke tulang utama, yaitu berkaitan dengan Material, Metode, Manusia, dan Sistem. Setiap detail penyebab masalah tersebut digambarkan dengan tanda panah yang mengarah pada masing-masing kategori.

3.1.2. Analisis persyaratan

Analisis persyaratan dapat dikelompokkan menjadi dua bagian yaitu: persyaratan fungsional dan persyaratan non-fungsional.

a. Per syar atan Fungsional

Persyaratan fungsional merupakan persyaratan yang menyatakan proses apa yang harus dapat dilakukan suatu sistem atau aplikasi. Dalam aplikasi yang akan dibangun ini, membandingkan algoritma Even-Rodeh Code dan algoritma Variable Length

Binary Encoding (VLBE) pada kompresi file teks. Adapun persyaratan fungsional

yang harus dimiliki sistem ini yaitu:

1. Sistem harus mampu membaca string yang berada dalam file teks.

2. Sistem harus mampu melakukan kompresi data terhadap file teks dengan ekstensi

file *.rtf dengan metode Even-Rodeh Code dan Variable Length Binary Encoding

(VLBE).

(10)

b. Per syar atan Non-Fungsional

Persyaratan non-fungsional adalah persyaratan yang dimiliki suatu sistem yang menggambarkan karakteristik dan batasan kemampuan suatu sistem yang akan menjadi dasar penentuan apakah daya guna suatu sistem sudah baik atau belum. Adapun persyaratan non-fungsional yang harus dipenuhi diantaranya:

1. Performa

Sistem melakukan proses kompresi dan dekompresi dengan waktu yang relative singkat.

2. Informasi

Sistem harus mampu menyediakan informasi tentang data yang akan digunakan pada sistem.

3. Ekonomi

Sistem dapat bekerja dengan baik tanpa harus mengeluarkan biaya tambahan dalam penggunaan perangkat keras maupun perangkat lunak.

4. Kontrol

Sistem yang telah dibangun harus tetap dikontrol setelah selesai dirancang agar fungsi dan kinerja sistem tetap terjaga dan dapat memberikan hasil yang sesuai dengan keinginan pengguna.

5. Efisiensi

Sistem harus dirancang sesederhana mungkin agar memudahkan pengguna dalam menggunakan atau menjalankan aplikasi tersebut.

3.1.3. Pemodelan Sistem

Pada bagian pemodelan sistem, akan dirancang bagaimana nantinya sistem diharapkan bekerja. Pemodelan ini menggunakan UML (Unified Modelling Languange).

a. Use case diagr am

Use case diagram digunakan untuk menggambarkan hubungan atau interaksi antara

(11)

21

Gambar 3.2 Use Case Diagr am pada sistem

Use Case Diagram pada Gambar 3.2 menjelaskan bahwa sistem dapat diakses

oleh seorang aktor yang dinamakan pengguna. Terdapat dua use case utama pada sistem yang menggambarkan dua algoritma yang digunakan, yaitu algoritma

Even-Rodeh Code dan Variable Length Binary Encoding (VLBE).

b. Activity diagr am pada pr oses kompr esi Even-Rodeh Code

(12)

Gambar 3.3 Activity Diagram proses Kompr esi Even-Rodeh Code

Activity diagram menggambarkan interaksi aktifitas antara pengguna sistem secara

detil dan berurut. Pada Gambar 3.3 kotak paling kiri merupakan aktifitas yang dilakukan oleh pengguna, sedangkan kotak sebelah kanan adalah respon yang diberikan sistem terhadap aktifitas yang dilakukan pengguna terhadap sistem.

c. Activity Diagram pada proses Kompr esi Variable Length Binary Encoding

(VLBE)

(13)

23

Gambar 3.4 Activity Diagram proses Kompr esi Variable Length Binary Encoding

Activity diagram menggambarkan interaksi aktifitas antara pengguna sistem secara

detil dan berurut. Paga Gambar 3.4 kotak paling kiri merupakan aktifitas yang dilakukan oleh pengguna, sedangkan kotak sebelah kanan adalah respon yang diberikan sistem terhadap aktifitas yang dilakukan pengguna terhadap sistem.

d. Sequence Diagram

Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar objek

(14)

Gambar 3.5 Sequence Diagram Pr oses Kompr esi Even-Rodeh Code

Gambar 3.6 Sequence Diagram Pr oses Kompr esi Variable Length Binary

Encoding (VLBE)

(15)

25

3.1.4. Pseudocode

a. Pseudocode Algor itma Even-Rodeh Code

Baris Kode

1. function GetEvenRodehCode (int n)

2. If n to 4 do

b. Pseudocode Algor itma Variable Length Binary Encoding (VLBE)

Baris Kode

1 function VLBE (String st)

2 charset Get charset

3. t charset.length

4. insertionSort (freq, charset)

(16)

3.1.5. Flowchart

a. Flowchart sistem secar a umum

Perancangan sistem secara umum digambarkan dengan flowchart seperti pada Gambar 3.7.

Gambar 3.7 Flowchart Sistem Secara Umum Selesai

Mulai

Masukkan file (*.rtf)

Pengkodean dengan Even-Rodeh || VLBE

Hitung Rc, Cr, Rd, dan waktu

Keluaran file (*.erc || *.vlbe)

Dekompresi

(17)

27

b. Flowhart Algor itma Even-Rodeh Code

Flowchart algoritma Even-Rodeh Code digambarkan pada Gambar 3.8.

(18)

c. Flowchart Algor itma Variable Length Binary Encoding (VLBE)

Flowchart algoritma Variable Length Binary Encoding (VLBE) digambarkan pada

Gambar 3.9.

Gambar 3.9 Flowchart algor itma Variable Length Binary Encoding (VLBE)

3.2 Per ancangan Interface

Pada perancangan sistem terdapat pembuatan Graphic User Interface (GUI) yang akan mempermudah user dalam menggunakan sistem yang ada. Pada sistem, terdapat 5 buah Form yang akan ditampilkan antara lain Form Beranda, Form Kompresi, Form Dekompresi, Form Bantuan dan Form Tentang.

Mulai

Masukkan nilai n

Ubah n ke biner

Keluaran Kode VLBE

Selesai Hitung n = 0

(19)

29

a. Form Ber a nda

Pada halaman Beranda terdapat keterangan mengenai sistem yaitu judul dari skripsi yang dibuat, logo dan juga nama. Form Beranda pada aplikasi dapat dilihat pada Gambar 3.10

Gambar 3.10 Form Ber anda pada Sistem Keterangan :

1. Tab Beranda

Berguna untuk menampilkan tampilan Beranda dari sistem yang ada.

2. Tab Kompresi

Berguna untuk menampilkan menu Kompresi pada sistem

3. Tab Dekompresi

Berguna untuk menampilkan menu Dekompresi pada sistem

4. Tab Bantuan

Berguna untuk menampilkan menu Bantuan yang ada pada sistem

5. Tab Tentang

Berguna untuk menampilkan menu Tentang mengenai sistem yang dibangun

6. Label Text

Berisi keterangan mengenai sistem

7. Picture Box

(20)

b. Form Kompr esi

Pada halaman Kompresi terdapat beberapa button dan juga text box yang akan digunakan dalam melakukan kompresi. Form Kompresi pada aplikasi dapat dilihat pada Gambar 3.11.

Ga mbar 3.11 Form Kompr esi pada Sistem

Keterangan:

1. Tab Beranda

Berguna untuk menampilkan tampilan Beranda dari sistem yang ada.

2. Tab Kompresi

Berguna untuk menampilkan menu Kompresi pada sistem

3. Tab Dekompresi

Berguna untuk menampilkan menu Dekompresi pada sistem

4. Tab Bantuan

Berguna untuk menampilkan menu Bantuan yang ada pada sistem

5. Tab Tentang

Berguna untuk menampilkan menu Tentang mengenai sistem yang dibangun

6. Text Box

Berguna untuk menampilkan pesan yang terdapat pada file *.rtf

7. Button Buka

(21)

31

8. Button Kompresi

Berguna untuk mengeksekusi data yang ada sehingga terkompresi

9. Button Atur Ulang

Berguna untuk menghapus data yang telah diambil dan menjadikannya default

10.Text Box

Berisi informasi tempat pengambilan dan penyimpanan dari data yang digunakan

11.Group Box

Berguna untuk mengelompokkan button dan text box dalam sistem

12.Radio Button

Berguna sebagai inputan dalam memilih metode yang akan digunakan.

c. Form Dekompr esi

Pada Form Dekompresi terdapat button yang berguna dalam mengeksekusi dari file yang telah dikompresi. Form Dekompresi pada aplikasi dapat dilihat pada Gambar 3.12.

Gambar 3.12 Form Dekompr esi pada Sistem

Keterangan :

1. Tab Beranda

(22)

2. Tab Kompresi

Berguna untuk menampilkan menu Kompresi pada sistem

3. Tab Dekompresi

Berguna untuk menampilkan menu Dekompresi pada sistem

4. Tab Bantuan

Berguna untuk menampilkan menu Bantuan yang ada pada sistem

5. Tab Tentang

Berguna untuk menampilkan menu Tentang mengenai sistem yang dibangun

6. Button Buka

Berguna untuk membuka file yang akan digunakan untuk dekompresi

7. Button Dekompresi

Berguna untuk melakukan dekompresi terhadap data yang ada

8. Button Atur Ulang

Berguna untuk menghapus data yang telah diambil dan menjadikannya default

9. Text Box

Berisi informasi tempat pengambilan dan penyimpanan dari data yang digunakan

10.Group Box

Berguna untuk mengelompokkan button dan text box dalam sistem

11.Button Simpan

Berguna untuk menyimpan file teks.

d. Form Bantuan

Berisi keterangan yang dapat membantu user dalam mengoperasikan sistem yang ada.

(23)

33

Gambar 3.13 Form Bantuan pada Sistem

Keterangan :

1. Tab Beranda

Berguna untuk menampilkan tampilan Beranda dari sistem yang ada.

2. Tab Kompresi

Berguna untuk menampilkan menu Kompresi pada sistem

3. Tab Dekompresi

Berguna untuk menampilkan menu Dekompresi pada sistem

4. Tab Bantuan

Berguna untuk menampilkan menu Bantuan yang ada pada sistem

5. Tab Tentang

Berguna untuk menampilkan menu Tentang mengenai sistem yang dibangun

6. Text Box

(24)

e. Form Tentang

Berisi informasi mengenai informasi pembuatan di dalam sistem yang dibangun. Form Tentang pada aplikasi dapat dilihat pada Gambar 3.14.

Gambar 3.14 Form Tentang Pada Sistem Keterangan:

1. Tab Beranda

Berguna untuk menampilkan tampilan Beranda dari sistem yang ada

2. Tab Kompresi

Berguna untuk menampilkan menu Kompresi pada sistem

3. Tab Dekompresi

Berguna untuk menampilkan menu Dekompresi pada sistem

4. Tab Bantuan

Berguna untuk menampilkan menu Bantuan yang ada pada sistem

5. Tab Tentang

Berguna untuk menampilkan menu Tentang mengenai sistem yang dibangun

6. Label Text

Berisi keterangan mengenai sistem

7. Group Box

(25)

BAB 4

IMPLEMENTASI DAN PENGUJ IAN SISTEM

4.1. Implementasi Algor itma

4.1.1. Implementasi Algor itma Even-Rodeh Code

a. Proses kompresi file teks dengan metode Even-Rodeh Code

Berikut ini adalah contoh proses kompresi file teks dengan metode Even-Rodeh Code. Terdapat file teks yang berisikan string “KURA-KURA KAKAKKU LARI KAYAK KUDA”. Penjelasan string yang belum dikompresi terdapat pada tabel 4.1.

Tabel 4.1 Penjelasan str ing yang belum dikompr esi

Karakter Penjelasan

K

String K diubah dalam bilangan ASCII maka ASCII Code (Decimal)

maka K bernilai 75. Dengan ASCII Code (Binary) yaitu 01001011 sebanyak 8 bit. Frekuensi string K dalam “KURA-KURA KAKAKKU LARI KAYAK KUDA” sebanyak 9. Setelah itu Bit dikalikan Frekuensi. 8 x 9 = 72. Jadi keseluruhan bit untuk string K adalah 72 bit.

U

String U diubah dalam bilangan ASCII maka ASCII Code (Decimal)

maka U bernilai 85. Dengan ASCII Code (Binary) yaitu 01010101 sebanyak 8 bit. Frekuensi string U dalam “KURA-KURA KAKAKKU LARI KAYAK KUDA” sebanyak 4. Setelah itu Bit dikalikan Frekuensi. 8 x 4 = 32. Jadi keseluruhan bit untuk string U adalah 32 bit.

R

String R diubah dalam bilangan ASCII maka ASCII Code (Decimal)

maka R bernilai 82. Dengan ASCII Code (Binary) yaitu 01010010 sebanyak 8 bit. Frekuensi string R dalam “KURA-KURA KAKAKKU LARI KAYAK KUDA” sebanyak 3. Setelah itu Bit dikalikan Frekuensi. 8 x 3 = 24. Jadi keseluruhan bit untuk string U adalah 24 bit.

A

String A diubah dalam bilangan ASCII maka ASCII Code (Decimal)

(26)

-

String - diubah dalam bilangan ASCII maka ASCII Code (Decimal)

maka - bernilai 45. Dengan ASCII Code (Binary) yaitu 00101101 sebanyak 8 bit. Frekuensi string - dalam “KURA-KURA KAKAKKU LARI KAYAK KUDA” sebanyak 1. Setelah itu Bit dikalikan Frekuensi. 8 x 1 = 1. Jadi keseluruhan bit untuk string U adalah 8 bit.

Spasi

String Spasi diubah dalam bilangan ASCII maka ASCII Code (Decimal)

maka Spasi bernilai 32. Dengan ASCII Code (Binary) yaitu 00100000 sebanyak 8 bit. Frekuensi string Spasi dalam “KURA-KURA KAKAKKU LARI KAYAK KUDA” sebanyak 4. Setelah itu Bit dikalikan Frekuensi. 8 x 4 = 32. Jadi keseluruhan bit untuk string Spasi adalah 31 bit.

L

String L diubah dalam bilangan ASCII maka ASCII Code (Decimal)

maka L bernilai 76. Dengan ASCII Code (Binary) yaitu 01000101 sebanyak 8 bit. Frekuensi string L dalam “KURA-KURA KAKAKKU LARI KAYAK KUDA” sebanyak 1. Setelah itu Bit dikalikan Frekuensi. 8 x 1 = 1. Jadi keseluruhan bit untuk string L adalah 8 bit.

I

String I di convert ke ASCII Code (Decimal) maka I bernilai 76. Dengan

ASCII Code (Binary) yaitu 01000101 sebanyak 8 bit. Frekuensi string I dalam “KURA-KURA KAKAKKU LARI KAYAK KUDA” sebanyak 1. Setelah itu Bit dikalikan Frekuensi. 8 x 1 = 1. Jadi keseluruhan bit untuk string I adalah 8 bit.

Y

String Y diubah dalam bilangan ASCII maka ASCII Code (Decimal)

maka Y bernilai 76. Dengan ASCII Code (Binary) yaitu 01000101 sebanyak 8 bit. Frekuensi string Y dalam “KURA-KURA KAKAKKU LARI KAYAK KUDA” sebanyak 1. Setelah itu Bit dikalikan Frekuensi. 8 x 1 = 1. Jadi keseluruhan bit untuk string Y adalah 8 bit.

D

String D diubah dalam bilangan ASCII maka ASCII Code (Decimal)

maka D bernilai 76. Dengan ASCII Code (Binary) yaitu 01000101 sebanyak 8 bit. Frekuensi string D dalam “KURA-KURA KAKAKKU LARI KAYAK KUDA” sebanyak 1. Setelah itu Bit dikalikan Frekuensi. 8 x 1 = 1. Jadi keseluruhan bit untuk string D adalah 8 bit.

(27)

37

Tabel 4.2 String yang belum dikompr esi

Karakter ASCII Code ASCII Code (Binary) Bit Frekuensi Bit x Frekuensi

K 75 01001011 8 9 72

01001011 01010101 01010010 01000001 00101101 01001011 01010101 01010010 K U R A - K U R 01000001 00100000 01001011 01000001 01001011 01000001 01001011 01001011 A Spasi K A K A K K 01010101 00100000 01000101 01000001 01010010 01000101 00100000 01001011 U Spasi L A R I Spasi K 01000001 01011001 01000001 01001011 00100000 01001011 01010101 010001000 A Y A K Spasi K U D 01000001

(28)

Berdasarkan kode ASCII, satu karakter bernilai delapan bit bilangan biner. Sehingga 34 karakter pada String mempunyai nilai biner sebanyak 264 bit. Sebelum melakukan proses kompresi, karakter tersebut diurutkan terlebih dahulu berdasarkan dari karakter yang memiliki frekuensi terbesar ke terkecil. Cara pengkodean algoritma Even-Rodeh

Code pada tabel 4.3.

Tabel 4.3 Cara pengkodean algor itma Even-Rodeh Code

Karakter Penjelasan Even-Rodeh

Code

K

K = 0 Biner = 0

Karena panjang bit kurang dari 3 maka ditambanhkan 0 didepan nilai biner sebanyak 3 digit

00 + 0 = 000

000

A

A = 1 Biner 1 = 1

Karena panjang bit kurang dari 3 maka ditambanhkan 0 didepan nilai biner sebanyak 3 digit

00 + 1 = 001

001

U

U = 2 Biner 2 = 10

Karena panjang bit kurang dari 3 maka ditambanhkan 0 didepan nilai biner sebanyak 3 digit

0 + 10 = 010

010

Spasi

U = 3 Biner 1 = 11

Karena panjang bit kurang dari 3 maka ditambanhkan 0 didepan nilai biner sebanyak 3 digit

0 + 11 = 011

Karena panjang bit kurang dari 7, maka ditambahkan 0 dibelakang nilai biner

Karena panjang bit kurang dari 7, maka ditambahkan 0 dibelakang nilai biner

(29)

39

110 + 0 = 110 0

I

I = 7

Biner 7 = 111

Karena panjang bit kurang dari 7, maka ditambahkan 0 dibelakang nilai biner

Karena panjang bit sama dengan 8 maka ditambahkan 0 dibelakang nilai biner

1000 + 0 = 1000 0

Kemudian angka ditambahkan didepan nilai biner sebanyak jumlah digit nilai biner

Jumlah digit nilai biner 1000 = 4 Biner 4 = 100

Kemudian angka ditambahkan didepan nilai biner sebanyak jumlah digit nilai biner

Jumlah digit nilai biner 1001 = 4 Biner 4 = 100

Maka hasil akhir

100 + 1001 0 = 100 1001 0

100 1001 0

Proses kompresi untuk Even-Rodeh Code dapat dilihat pada Tabel 4.4.

Tabel 4.4 String yang sudah dikompr esi dengan Even-Rodeh Code Karakter Even-Rodeh Code Bit Frekuensi Bit x Frekuensi

K 000 3 9 27

A 001 3 8 24

U 010 3 4 12

Spasi 011 3 4 12

(30)

- 101 0 4 1 4

Dari Tabel 4.4 dapat dibentuk string bit dari string sebelum dikompresi yaitu “KURA-KURA KAKAKKU LARI KAYAK KUDA” menjadi string bit

Sebelum ditulis ke sebuah file hasil kompresi dilakukan penambahan bit-bit

padding dan flag bits diawal dan akhir string bit. Bit-bit itu dihasilkan dari panjang string bit itu sendiri apakah habis dibagi delapan dan berapa sisanya jika dibagi

delapan. Karena jumlah string bit 115 tidak habis dibagi delapan dan sisanya adalah tiga. Maka dapat dibuat padding “00000” dan flagnya adalah “00000101” menjadi “00001010000011010000010100000101100000100000100000001001111000011000 111001100000110010000001000011000010100100100010000000000101”. Sehingga total bit seluruhnya setelah penambahan padding dan flag bits adalah 128 bit.

Dengan uraian hasil kompresi sebagai berikut:

00001010 00001101 00000101 00000101 10000010 00001000 00001001 11100001

(31)

41

ENQENQBPHBS á SS2` È DLE Â PU2 ENQ

Dari hasil kompresi dengan Even-Rodeh Code di atas dapat dihitung kinerja kompresinya yaitu:

a. Ratio of Compression (Rc)

b. Compression Ratio (Cr)

c. Redundancy (Rd)

b. Proses dekompresi file teks dengan metode Even-Rodeh Code

(32)

cocok maka ditulislah karakter pada tabel karakter dengan indeks yang sama pada tabel kode Even-Rodeh tersebut. Berikut ini adalah contoh proses dekompresi dari file hasil kompresi pada Tabel 4.4.

Pada Tabel 4.4 didapatkan string bit hasil kompresi dengan kode Even-Rodeh yaitu: “00001010000011010000010100000101100000100000100000001001111000011000 111001100000110010000001000011000010100100100010000000000101”. Sebelum dilakukan pembacaan string, awalnya tentukan dahulu berapa panjang string bit yang harus dibaca. Pada delapan bit terakhir di dalam bit string terdapat flag bits yang memberikan sebuah tanda banyaknya padding yang diberikan pada String bit pada saat proses kompresi. Delapan bit itu adalah “00000101” atau sama dengan 5 pada bilangan desimal. Maka dapat ditentukan indeks terakhir untuk proses pembacaan

string adalah total panjang string bit seluruhnya dikurang dengan flag ditambah 5 atau

dapat ditulis n = panjang String bit – (flag+5).

Setelah nilai n ditentukan maka dilakukan pembacaan string bit dari indeks ke-1 sampai indeks ke-n. Indeks ke-1=”0” tidak ada pada tabel maka ditambahkan dengan indeks ke-2=”0” menjadi “00” juga tidak ada pada tabel ditambahkan lagi dengan indeks berikutnya sampai di indeks ke-3=”0” menjadi “000” adalah karakter “K” dan begitu seterusnya sampai indeks ke-n sehingga dihasilkan string semula yaitu “KURA-KURA KAKAKKU LARI KAYAK KUDA”.

Dengan uraian sebagai berikut:

4.1.2. Per hitungan Algor itma Variable Length Binary Encoding (VLBE)

a. Proses kompresi file teks dengan metode Variable Length Binary Encoding (VLBE)

(33)

43

Tabel 4.5 Car a pengkodean algor itma Variable Length Binary Encoding (VLBE).

Karakter Penjelasan Variable Length

Binary Encoding K Karena nilai awal biner dimulai dari 0 sebagai root 0

A Nilai n sebelumnya sama dengan 0 Maka ditambahkan angka 1 Sehingga 1 + 0 = 10

10

U Nilai n sebelumnya sama dengan 10 Maka ditambahkan angka 1 Sehingga 1 + 10 = 110

110

Spasi Nilai n sebelumnya sama dengan 110 Maka ditambahkan angka 1 Sehingga 1 + 110 = 1110

1110

R Nilai n sebelumnya sama dengan 1110 Maka dita mbahkan angka 1 Sehingga 1 + 1110 = 11110

11110

-

Nilai n sebelumnya sama dengan 11110 Maka ditambahkan angka 1

Sehingga 1 + 11110 = 111110 111110

L

Nilai n sebelumnya sama dengan 11110 Maka ditambahkan angka 1

Sehingga 1 + 11110 = 111110 1111110

I

Nilai n sebelumnya sama dengan 111110 Maka ditambahkan angka 1

Sehingga 1 + 111110 = 1111110 11111110

Y

Nilai n sebelumnya sama dengan 1111110 Maka ditambahkan angka 1

Sehingga 1 + 1111110 = 11111110 111111110

D

Nilai awal biner diubah menajdi angka 11111110 Karean nilai awal biner sama dengan 11111110 maka, angka 0 diubah menjadi 1

Sehingga hasil akhir 11111111

11111111

(34)

Tabel 4.6 String yang sudah dikompr esi dengan Variable Length Binary Encoding Karakter Variable Length Binary Encoding Bit Frekuensi Bit x Frekuensi

K 0 1 9 9

Dari Tabel 4.6 dapat dibentuk string bit dari string sebelum dikompresi yaitu “KURA-KURA KAKAKKU LARI KAYAK KUDA” menjadi string bit “01101111010

Sebelum ditulis ke sebuah file hasil kompresi dilakukan penambahan bit-bit

padding dan flag diakhir string bit. Bit-bit itu dihasilkan dari panjang string bit itu

(35)

45

Dengan uraian hasil kompresi sebagai berikut:

01101111 01011111 00110111 10101110 00100100 11011101 11111010 11110111 o _ 7 ® H Ý ú ÷ 11110111 00101111 11110100 11100110 11111111 11000000 00000100 ÷ / ô æ ÿ À ENQ

Hasil kompresi yaitu: o_7®HÝú÷÷/ôæÿÀENQ

Dari hasil kompresi dengan Variable Length Binary Encoding (VLBE) di atas dapat dihitung kinerja kompresinya yaitu:

a. Ratio of Compression (Rc)

b. Compression Ratio (Cr)

c. Redundancy (Rd)

Dari hasil perhitungan antara kedua metode, dapat disimpulkan bahwa metode

Even-Rodeh Codeh lebih baik dibandingkan metode Variable Length Binary Encoding

(VLBE). Dilihat dari hasil Ratio of Compession dari metode Even-Rodeh Code lebih kecil dibandingkan metode Variable Length Binary Encoding (VLBE). Hasil dari

(36)

Variable Length Binary Encoding (VLBE). Dan hasil dari Redundancy dari metode Even-Rodeh Code lebih kecil dibandingkan metode Variable Length Binary Encoding

(VLBE)

b. Proses dekompresi file teks dengan metode Variable Length Binary Encoding (VLBE)

Setelah file teks dikompresi maka akan menghasilkan file baru yang berisi informasi berupa tabel karakter dan tabel kode Variable Length Binary Encoding (VLBE) yang digunakan serta string bit hasil proses kompresi. Proses dekompresi dilakukan dengan cara membaca string bit dari indeks 1 sampai ke indeks dari panjang string bit tersebut. Setiap satu indeks pembacaan string bit dicek pada tabel kode Variable

Length Binary Encoding (VLBE) apakah cocok atau sama, jika cocok maka ditulislah

karakter pada tabel karakter dengan indeks yang sama pada tabel kode Variable

Length Binary Encoding (VLBE) tersebut. Berikut ini adalah contoh proses

dekompresi dari file hasil kompresi pada Tabel 4.6.

Pada Tabel 4.6 dapatkan string bit hasil kompresi dengan kode Variable Length

Binary Encoding (VLBE) yaitu:

“01101111010111110011011110101110010010001101110111111010111101111111 011100101111111101001110011011111111110000000000100”. Sebelum dilakukan pembacaan string, awalnya tentukan dahulu berapa panjang string bit yang harus dibaca. Pada delapan bit terakhir di dalam bit string terdapat flag yang memberikan sebuah tanda banyaknya padding yang diberikan pada String bit pada saat proses kompresi. Delapan bit itu adalah “00000100” atau sama dengan 4 pada bilangan desimal. Maka dapat ditentukan indeks terakhir untuk proses pembacaan string adalah total panjang string bit seluruhnya dikurang dengan flag ditambah 4 atau dapat ditulis n = panjang String bit – (flag+4).

(37)

47

Dengan uraian sebagai berikut:

0 110 11110 10 111110 0 110 11110 10 1110 0 10 0 10 0 0 110 1110 1111110 K U R A - K U R A Spasi K A K A K K U Spasi L 10 11110 11111110 1110 0 10 111111110 10 0 1110 0 110 111111111 10 A R I Spasi K A Y A K Spasi K U D A

4.2. Implementasi Sistem

Sistem ini dibangun dengan menggunakan bahasa pemrograman C# dan menggunakan

Sharp Develop 4.3. Pada proses implementasi yang dirancang pada pada sistem ini

dibagi menajdi 5 form dalam bahasa C#, diantaranya form Beranda, form Kompresi,

form Dekompresi, form Bantuan, dan form Tentang.

4.2.1. Form Beranda

Form Beranda merupakan form yang pertama kali muncul pada saat aplikasi

dijalankan. Form ini terdiri dari lima Tab Menu, yaitu Tab Beranda, Tab Kompresi, Tab Dekompresi, Tab Bantuan, dan Tab Tentang. Halaman utama pada aplikasi dapat dilihat pada Gambar 4.1.

Gambar 4.1 Form Ber anda

4.2.2. Form Kompresi

Form Kompresi merupakan form yang digunakan untuk melakukan proses kompresi.

(38)

file teks, menentukan direktori output file hasil kompresi, memilih algoritma untuk

proses kompresi dan group box yang berisi beberapa text box informasi hasil kompresi. Tampilan untuk tab Kompresi dapat dilihat pada Gambar 4.2.

Gambar 4.2 Form Kompr esi

4.2.3. Form Dekompresi

Form Dekompresi merupakan form yang digunakan untuk melakukan proses

(39)

49

Gambar 4.3 Form Dekompr esi

4.2.4. Form Bantuan

Form Bantuan merupakan Form yang digunakan untuk menampilkan informasi

tentang cara mengoperasikan sistem atau aplikasi yang dibuat. Tampilan untuk tab Bantuan dapat dilihat pada Gambar 4.4.s

Gambar 4.4 Form Bantuan

(40)

Form Tentang merupakan form yang digunakan hanya untuk menampilkan informasi

tentang sistem atau aplikasi yang dibuat dan informasi tentang penulis. Tampilan untuk tab Tentang dapat dilihat pada Gambar 4.5.

Gambar 4.5 Form Tentang

4.3. Pengujian Sistem

Pengujian sistem merupakan tahap mengidentifikasi hasil dari implementasi sistem apakah sistem telah berjalan sesuai dengan fungsi-fungsi yang sebelumnya ditentukan pada tahap analisis dan perancangan sistem.Pengujian sistem ini dilakukan pada File teks yang berekstensi *.rtf. Pengujian sistem yang dilakukan pada penelitian ini dibagi dalam 2 proses utama yaitu pengujian proses kompresi dan pengujian proses dekompresi.

4.3.1. Pengujian proses kompresi

Untuk melakukan proses kompresi tahap awal yang dilakukan adalah memilih tab Kompresi. Setelah tampilan form Kompresi muncul maka lakukan langkah-langkah berikut ini untuk melakukan proses kompresi.

(41)

51

Ga mbar 4.6 Open File Dialog untuk Input File Teks

2. Memilih algoritma Even-Rodeh Code atau Variable Length Binary Encoding yang akan digunakan untuk proses kompresi pada radio button yang telah disediakan dapat dilihat pada gambar 4.7.

Gambar 4.7 Radio Button untuk memilih algor itma

3. Menekan tombol Kompresi untuk membuka Save File Dialog dan tentukan direktori untuk menyimpan file hasil kompresi (*.erc atau *.vlbe). Setelah Input

File dan Output File ditentukan maka akan ditampilkan informasi direktori File

(42)

Gambar 4.8 Aplikasi setelah File Input dan Output ditentukan

4. Setelah proses kompresi berhasil sistem akan menampilkan informasi hasil kompresi pada text box-text box seperti pada Gambar 4.9.

Gambar 4.9 Infor masi Hasil Kompr esi

(43)

53

Gambar 4.10 File Even-Rodeh Code Hasil Kompr esi

Gambar 4.11 File Variable Length Binary Encoding Hasil Kompr esi

4.3.2. Pengujian proses dekompresi

Untuk melakukan proses dompresi tahap awal yang dilakukan adalah memilih Tab Dekompresi. Setelah tampilan Form Dekompresi muncul maka lakukan langkah-langkah berikut ini untuk melakukan proses dekompresi.

(44)

Gambar 4.12 Open File Dialog untuk file VLBE

2. Menekan tombol Dekompresi untuk melakukan proses dekompresi. Setelah proses dekompresi berhasil sistem akan menampilkan informasi hasil dekompresi dan waktu dekompresi pada text box-text box seperti pada Gambar 4.13.

Gambar 4.13 Infor masi Hasil Dekompr esi

(45)

55

Gambar 4.14 Save File Dialog untuk hasil Dekompr esi

4.4. Hasil Pengujian

Hasil pengujian yang didapatkan melalui penelitian ini berupa hasil dari proses kompresi dan dekompresi string dengan dua jenis komposisi string yaitu string yang terdiri dari karakter yang sama (String Homogen) dan string yang terdiri dari berbagai macam karakter (String Heterogen).

Hasil pengujian String Homogen dengan metode Even-Rodeh Code dan

Variable Length Binary Encoding (VLBE) dapat dilihat pada Tabel 4.7 dan Tabel 4.8.

Tabel 4.7 Hasil Pengujian String Homogen dengan Even-Rodeh Code

String Homogen Even-Rodeh Code

(46)

Tabel 4.8 Hasil Pengujian String Homogen dengan Variable Length Binary

Encoding (VLBE)

String Homogen Variable Length Binary Encoding (VLBE)

No Jlh.

Dari Tabel 4.7 dan Tabel 4.8 dapat dibuat grafik perbandingan hasil pengujian

String Homogen antara Even-Rodeh Code dan Variable Length Binary Encoding

(VLBE) berdasarkan variable Ratio of Compression (Rc), Compression Ratio (Cr),

Redundancy (Rd), waktu kompresi dan dekompresi seperti pada Gambar 4.15,

Gambar 4.16, Gambar 4.17, Gambar 4.18 dan Gambar 4.19.

(47)

57

Dari grafik pada Gambar 4.15 dapat diambil kesimpulan bahwa Ratio of

Compression hasil kompresi String Homogen dengan Variable Length Binary Encoding (VLBE) lebih baik dibandingkan dengan Even-Rodeh Code.

Gambar 4.16 Grafik Compression Ratio ter hadap String Homogen

Dari grafik pada Gambar 4.16 dapat diambil kesimpulan bahwa Compression

Ratio hasil kompresi String Homogen dengan Variable Length Binary Encoding

(48)

Gambar 4.17 Grafik Redundancy ter hadap String Homogen

Dari grafik pada Gambar 4.17 dapat diambil kesimpulan bahwa Redundancy hasil kompresi String Homogen dengan Variable Length Binary Encoding (VLBE) lebih baik dibandingkan dengan Even-Rodeh Code.

(49)

59

Dari grafik pada Gambar 4.18 dapat diambil kesimpulan waktu yang diperlukan untuk proses kompresi String Homogen dengan Even-Rodeh Code lebih banyak dibandingkan dengan Variable Length Binary Encoding (VLBE).

Gambar 4.19 Gr afik Waktu Dekompr esi ter hadap String Homogen

Dari grafik pada Gambar 4.19 dapat diambil kesimpulan waktu yang diperlukan untuk proses dekompresi String Homogen dengan Even-Rodeh Code lebih banyak dibandingkan dengan Variable Length Binary Encoding (VLBE).

Hasil pengujian String Heterogen dengan metode Even-Rodeh Code dan

Variable Length Binary Encoding (VLBE) dapat dilihat pada Tabel 4.9 dan Tabel

(50)

Tabel 4.9 Hasil Pengujian String Heter ogen dengan Even-Rodeh Code

String Heterogen Even-Rodeh Code

No Jlh.

Tabel 4.10 Hasil Pengujian String Heter ogen dengan Variable Length

Binary Encoding (VLBE)

String Heterogen Variable Length Binary Encoding (VLBE)

No Jlh. pengujian String Heterogen antara Even-Rodeh Code dan Variable Length Binary

Encoding (VLBE) berdasarkan variable Ratio of Compression (Rc), Compression Ratio (Cr), Redundancy (Rd), waktu kompresi dan dekompresi seperti pada Gambar

(51)

61

Gambar 4.20 Grafik Ratio of Compression ter hadap String Heter ogen

Dari grafik pada Gambar 4.20 dapat diambil kesimpulan bahwa Ratio of

Compression hasil kompresi String Heterogen dengan Even-Rodeh Code lebih baik

dibandingkan dengan Variable Length Binary Encoding (VLBE).

(52)

Dari grafik pada Gambar 4.21 dapat diambil kesimpulan bahwa Compression

Ratio hasil kompresi String Heterogen dengan Even-Rodeh Code lebih baik

dibandingkan dengan Variable Length Binary Encoding (VLBE).

Gambar 4.22 Gr afik Redundancy ter hadap String Heter ogen

Dari grafik pada Gambar 4.22 dapat diambil kesimpulan bahwa Redundancy hasil kompresi String Heterogen dengan Even-Rodeh Code lebih baik dibandingkan dengan

(53)

63

Ga mbar 4.23 Gr afik Waktu Kompr esi ter hadap String Heter ogen

Dari grafik pada Gambar 4.23 dapat diambil kesimpulan waktu yang diperlukan untuk proses kompresi String Heterogen Variable Length Binary Encoding (VLBE) lebih banyak dibandingkan dengan Even-Rodeh Code.

(54)

Dari grafik pada Gambar 4.24 dapat diambil kesimpulan waktu yang diperlukan untuk proses dekompresi String Heterogen dengan Variable Length Binary Encoding (VLBE) lebih banyak dibandingkan dengan Even-Rodeh Code.

4.5. Kompleksitas Algor itma

4.5.1. Kompleksitas Algoritma Even-Rodeh Code

Komplekaitas algoritma Even-Rodeh Code dapat dilihat pada tabel 4.11.

Tabel 4.11 Komplek sitas Algor itma Even-Rodeh Code

(55)

65

= (C1 + C2 + C3 + C4 + 6C6 + 2C7 + C8 + C6 + C6 + C9 + C10) n0 + (C5 + C6) n1

= θ (n)

Tabel 4.11 menunjukkan bahwa tabel kompleksitas algoritma dari Even-Rodeh Code, C1, C2, C3, dst merupakan barisan kode. Dimana juga terdapat pseudocode, C sebagai konstanta, # sebagai ukuran masukan dan C dikali #. Untuk mencari Theoritical Running Time (T(n)) atau kompleksitas waktu, maka dijumlahkan hasil dari perkalian C dikali #. Selain itu, diambil pangkat terbesar dari nilai ukuran masukan (#). Karena pangkat n yang terbesar adalah n1, mana T(n) sama dengan θ(n).

4.5.2. Kompleksitas Algoritma Variable Length Binary Encoding (VLBE)

Komplekaitas algoritma Variable Length Binary Encoding (VLBE) dapat dilihat pada tabel 4.12.

Tabel 4.12 Kompleksitas Algor itma Variable Length Binary Encoding (VLBE)

(56)

= (C1 + C2 + C3 + C4 + 2C5 + C6 +C7 + C9) n0 + (C5 + C7 + C8) n1 = θ (n)

(57)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Kesimpulan yang dapat diambil dari penelitian ini adalah:

1. Dalam proses kompresi, algoritma Even-Rodeh Code dan algoritma Variable

Length Binary Encoding (VLBE) dipengaruhi oleh jumlah variasi karakter.

2. Hasil pengujian kompresi file teks *.rtf dengan karakter yang sama (homogen) berdasarkan variabel Ratio of Compression (Rc), Compression Ratio (Cr),

Redundancy (Rd) dan waktu kompresi menunjukkan bahwa metode Variable Length Binary Encoding (VLBE) lebih baik dibandingkan dengan metode Even-Rodeh Code dengan Compression Ratio rata-rata sebesar 16.47%.

3. Hasil pengujian kompresi file teks *.rtf dengan karakter yang berbeda (heterogen) berdasarkan variabel Ratio of Compression (Rc), Compression Ratio (Cr),

Redundancy (Rd) dan waktu kompresi menunjukkan bahwa metode Even-Rodeh Code lebih baik dibandingkan dengan metode Variable Length Binary Encoding

(VLBE) dengan Compression Ratio rata-rata sebesar 60.546 %.

4. Hasil pengujian dekompresi file teks dengan karakter yang sama metode

Even-Rodeh Code dan Variable Length Binary Encoding (VLBE) menunjukkan bahwa Variable Length Binary Encoding (VLBE) memerlukan waktu yang lebih sedikit

untuk mengembalikan file teks hasil kompresi ke file teks semula, dengan rata-rata 0.153 milisekon.

5. Hasil pengujian dekompresi file teks dengan karakter yang berbeda metode

(58)

5.2. Sar an

Saran yang dapat diberikan pada penulis untuk pengembangan dan perbaikan sistem lebih lanjut adalah:

1. Untuk penelitian selanjutnya diharapkan penulis dapat mengkompresi jenis file teks lainnya yang berekstensi *.txt, *.doc, *.docx maupun *.pdf yang dirancang dalam sebuah sistem menggunakan bahasa pemrograman yang lain.

(59)

BAB 2

TINJ AUAN PUSTAKA

2.1 Kompr esi Data

Kompresi data didalam konteks ilmu komputer merupakan ilmu atau seni dalam merepresentasikan informasi yang terdapat pada data ke dalam suatu bentuk yang lebih padat (kecil) (Pu, 2006). Perkembangan komputer dan multimedia mengakibatkan kompresi data menjadi hal yang penting dan berguna dalam teknologi pada saat sekarang ini.

Kompresi data adalah suatu proses yang dapat mengubah sebuah aliran data masukan (data asli) ke dalam aliran data yang lain (data yang dimampatkan) yang memiliki ukuran yang lebih kecil (Salomon & Motta, 2010). Ada sejumlah algoritma kompresi data, yang didedikasikan untuk kompresi format data yang berbeda. Bahkan untuk tipe data tunggal ada sejumlah algoritma kompresi yang berbeda, yang menggunakan pendekatan yang berbeda. Dengan kata lain, menggunakan kompresi data, ukuran file tertentu dapat dikurangi. Hal ini sangat berguna ketika memproses, menyimpan atau mentransfer file besar, yang membutuhkan banyak sumber daya (Kodituwakku, 2005).

Kompresi terdiri dari dua komponen, algoritma encoding yang mengambil pesan dan menghasilkan sebuah representasi "kompresi" (dengan sedikit bit), dan algoritma decoding yang merekonstruksi pesan asli atau perkiraan dari representasi kompresi (Gozali & Mervyn, 2004).

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 di dalam file tersebut tidak berubah.

(60)

data sebelum mereka menyimpan dan mengirimkan data tersebut ke sebuah media penyimpanan. Hal itu dilakukan untuk mempermudah dalam mengatur file dan memperkecil penggunaan media penyimpanan. Selain itu juga membantu dalam mempercepat proses pengiriman file dari satu media ke media lain dimana pada saat sekarang ini telah dikembangkan cloud computing yaitu sebuah media penyimpanan yang terdapat pada media online yang dapat diakses dimana saja dengan memerlukan koneksi internet. Dengan adanya kompresi data maka data yang telah dikompresi akan memperkecil kuota atau bandwith dalam pengiriman data melalui internet (Andika, 2014).

Proses kompresi dan dekompresi data dapat ditunjukkan melalui diagram blok seperti pada Gambar 2.1.

Ga mbar 2.1 Diagr am Blok Pr oses Kompr esi dan Dekompr esi Data (Pu, 2006)

2.2 Teknik Kompr esi

Berdasarkan kemungkinan data yang telah dikompresi dapat dikembalikan ke data sebelum dikompresi atau data aslinya, teknik kompresi data dikelompokkan menjadi dua bagian yaitu kompresi data Lossless dan kompresi data Lossy (Pu, 2006).

2.2.1 Kompresi Lossless (Lossless Compression)

Algoritma kompresi dikatakan lossless adalah teknik kompresi data dimana data yang telah dikompresi dapat dikembalikan ke data yang aslinya tanpa mengurangi informasi yang ada pada data tersebut (Pu, 2006). Losseless 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,

Uncompressed data Compressed data

Compressed data Uncompressed data

Kompresi

(61)

8

spreadsheet dan lain-lain. Teknik ini digunakan jika data tersebut sangat penting, jadi

tidak dimungkinkan untuk menghilangkan beberapa detail. Contoh algoritma losseless pada kompresi data adalah Arithmetic Coding, Huffman Coding, Variable Length

Binary Encoding, Even-Rodeh Code dan lain-lain. Teknik kompresi lossless dapat

digambarkan seperti gambar 2.2.

Gambar 2.2 Teknik Kompr esi Lossless (Pu, 2006)

2.2.2 Kompresi Lossy (Lossy Compression)

Algoritma kompresi dikatakan lossy adalah teknik kompresi data dimana data mengalami sedikit atau banyak kehilangan data pada saat kompresi (Pu, 2006). . Lossy

compression disebut juga dengan irreversible compression karena data asli tidak bisa

dikembalikan dengan sempurna. Oleh karena itu sangat kecil kemungkinan dan bahkan tidak akan pernah bisa data yang dikompresi dengan teknik Lossy dapat dikembalikan seperti data sebelum dikompresi atau data aslinya. Contoh data yang cosok adalah gambar, suara dan video. Karena cara kerja sistem penglihatan dan pendengaran manusia yang terbatas, beberapa detail dapat dihilangkan, sehingga didapat data hasil kompresi yang seolah-olah sama dengan data asli. Contoh algoritma

lossy pada kompresi data adalah Wavelet Compression, Fractal Compression, Wyner-Coding (WZC) dan lain-lain. Teknik kompresi lossy dapat digambarkan seperti

gambar 2.3.

(62)

2.2.3 Padding dan Flag Bits a. Padding

Padding adalah penambahan bit 0 sebanyak kekurangan jumlah bit-bit data pada hasil

proses kompresi sehingga jumlah keseluruhan bit-bit data pada hasil kompresi merupakan kelipatan delapan (habis dibagi delapan). Contoh misalkan dihasilkan bit-bit data hasil kompresi 1100101101010001100001101. Terdapat 25 bit-bit data dalam bilangan biner. Maka dilakukan penambahan bit 0 sebanyak 7 kali agar jumlah bit data tersebut habis dibagi delapan. Sehingga bit-bit data tersebut menjadi 11001011010100011000011010000000 setelah diberikan padding (Andika, 2014).

b. Flag Bits

Flag bits adalah penambahan bilangan biner sepanjang delapan bit setelah padding

dimana flag bits ini adalah sejumlah bilangan yang memberikan sebuah tanda bahwa terdapat n buah padding di dalam bit-bit data hasil dari kompresi. Penambahan flag

bits ini dimaksudkan untuk mempermudah dalam membaca bit-bit data hasil kompresi

pada saat proses dekompresi. Contoh misalkan bit-bit data yang telah diberikan

padding adalah 11001011010100011000011010000000. Karena terdapat 7 bit

penambahan padding maka flag bits-nya adalah bilangan biner dari 7 dengan panjang 8 bit yaitu 00000111. Sehingga bit-bit datanya menjadi 1100101101010001100001101000000000000111 setelah diberikan flag bits. (Andika, 2014).

2.2.4 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 (Salomon & Motta, 2010).

……….….(1)

(63)

10

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).

………...………..(2)

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).

…..………(3)

Misalkan didapat sebuah nilai Redundancy sebesar 14%. Itu berarti besarnya kelebihan data sebelum dikompresi adalah 14%.

4. Waktu Kompresi dan Dekompresi

(64)

2.3 Algor itma

2.3.1 Pengertian Algoritma

Algoritma diambil dari kata Al-Khawarizmi. Al-Khwarizmi adalah bagian dari nama seorang ahli Matematika dan Astronomi yaitu Abu Ja’far Muhammad Ibnu Musa Al- Khawarizmi. 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 (Suarga, 2006).

Algoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis. Langkah-langkah pemecahan masalah bisa dilakukan dengan berbagai cara berbeda-beda (Wahyudi, 2004). Di dalam algoritma berbasis karakter, kode hanya dapat mewakili satu kata yang berisi beberapa karakter (Cheng, et al. 1999).

2.3.2 Ciri-ciri Algoritma

Ada beberapa ciri algoritma, yaitu:

1. Algoritma memiliki awal dan akhir, suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki langkah yang terbatas.

2. Setiap langkah harus didefenisikan dengan tepat sehingga tidak memiliki arti ganda, tidak membingungkan (non ambiguous).

3. Memiliki masukan (input) atau kondisi awal. 4. Memiliki keluaran (output) atau kondisi akhir.

5. Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan persoalan (Suarga, 2006).

2.4 Algor itma Even-Rodeh Code

Algoritma Even-Rodeh Code merupakan algoritma kompresi yang dikembangkan oleh Shimon Even dan Michael Rodeh pada tahun 1978 (Salomon, 2007). Algoritma

(65)

12

dengan menggunakan beberapa rangkaian bit. Pembentukan bit yang mewakili masing-masing karakter dibuat berdasarkan frekuensi kemunculan tiap karakter. Cara untuk membangun kode Even-Rodeh Code adalah sebagai berikut:

1. Hitung panjang bit.

2. Jika panjang bit 0 <= n <= 3 maka nilai n diubah ke biner, tambahkan 0 didepan nilai biner sehingga bit menjadi 3 digit.

3. Jika panjang bit 4 <= n <= 7 maka nilai n diubah ke biner, tambahkan 0 dibelakang nilai biner sehingga bit menjadi 4 digit.

4. Jika panjang bit n >= 8 maka nilai n diubah ke biner, tambahkan 0 dibelakang nilai biner kemudian angka ditambahkan didepan nilai biner sebanyak jumlah digit nilai biner.

Algoritma Even-Rodeh Code adalah kode yang hampir mirip dengan algoritma

Elias Omega Code, tetapi dengan beberapa perbedaan berikut ini:

1. Setiap kelompok diberikan jumlah bilangan dari bit dikelompok berikutnya, tidak untuk jumlah bit 1.

2. Berbeda dengan tata cara awal yang digunakan, dengan pertimbangan khusus untuk 3 kode pertama. Elias Code khusus untuk nilai pertama (Fenwick, 1996). Kode Even-Rodeh dapat dilihat pada tabel 2.2 (Salomon, 2007).

Tabel 2.2 Tabel Kode Omega dan Even-Rodeh Codes

N Omega Even-Rodeh

(66)

Algoritma Variable Length Binary Encoding (VLBE) merupakan algoritma kompresi yang dikembangkan oleh David A Huffman pada tahun 1952 (Salomon, 2007). Algoritma Variable Length Binary Encoding (VLBE) 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 (VLBE) adalah algoritma kompresi data yang mengkodekan tiap karakter dengan mengurutkan karakter berdasarkan frekuensi dan disortir secara stabil sehingga membentuk beberapa rangkaian bit.

Cara untuk membangun kode Variable Length Binary Encoding (VLBE) adalah sebagai berikut:

1. Nilai awal biner dimulai dari 0 sebagai root untuk pembentukan biner selanjutnya. 2. Nilai awal biner sebelumnya ditambahkan dengan angka 1, setiap angka 1

diletakkan didepan nilai awal biner.

3. Jika biner n terakhir maka nilai awal biner diubah menjadi angka 1.

Kode Variable Length Binary Encoding (VLBE) dapat dilihat pada tabel 2.4 (Salomon, 2007).

Tabel 2.4 Tabel Kode Variable Length Binary Encoding (VLBE)

N Variable Length Binary Encoding

1 0

(67)

14

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 (Erdiansyah, 2014). Tabel ASCII dapat dilihat pada Tabel 2.5.

(68)
(69)

16

Kebutuhan untuk dapat mengukur masalah kompleksitas, algoritma atau struktur dan dan memperoleh batas serta hubungan kuantitatif untuk kuantitas muncul di beberapa bidang ilmu disamping Ilmu Komputer, cabang tradisional Matematika, Fisika Statistik, Biologi, dan Kedokteran juga dihadapkan lebih banyak dan lebih sering dengan masalah kompleksitas ini. Dalam Ilmu Komputer, kompleksitas diukur oleh kuantitas sumber daya komputasi (waktu, penyimpanan, program, komunikasi) yang digunakan oleh sebuah tugas tertentu (Gács & Lovász, 1999).

(70)

2.8 Penelitia n yang Relevan

Berikut ini beberapa penelitian yang terkait dengan algoritma Even-Rodeh Code dan

Variable Length Binary Encoding (VLBE):

1. Debora Villiana (2014) dalam skripsi yang berjudul Perbandingan Kinerja

Algoritma Fixed Length Binary Encoding (FLBE) Dengan Variable Length Binary Encoding (VLBE) Dalam Kompresi Text File. Dalam skripsi, dapat disimpulkan

bahwa, secara rata-rata algoritma Fixed Length Binary Encoding (FLBE) menghasilkan rasio file hasil pemampatan yang sama daripada algoritma Variable

Length Binary Encoding (VLBE). Dan juga, secara rata-rata algoritma Fixed Length Binary Encoding (FLBE) membutuhkan waktu pemampatan yang

tersingkat daripada algoritma Variable Length Binary Encoding (VLBE).

2. Umri Erdiansyah (2014) dalam skripsi yang berjudul Perbandingan Algoritma

Elias Delta Code Dengan Levenstein Untuk Kompresi File Teks. Dalam skripsi

(71)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Meningkatnya penggunaan komputer dalam kegiatan sehari-hari, secara tidak langsung membuat kebutuhan akan penyimpanan data semakin meningkat. Data tersebut dapat berupa file teks, gambar, suara, maupun video. Semakin besar ukuran

file, maka semakin besar pula ruang penyimpanan yang dibutuhkan. Untuk kebutuhan

pengiriman data melalui media transmisi, maka akan semakin lama waktu yang dibutuhkan untuk proses pengiriman data tersebut. Salah satu alternatif pemecahan masalah yang akan dilakukan adalah dengan melakukan kompresi pada data sehingga data tersebut menjadi lebih kecil ukurannya dan akibatnya proses transmisi data akan semakin cepat.

Kompresi data adalah suatu proses yang dapat mengubah sebuah aliran data masukan (data asli) ke dalam aliran data yang lain (data yang dimampatkan) yang memiliki ukuran yang lebih kecil (Salomon & Motta, 2010). Banyak situasi yang timbul dalam komunikasi digital dan pengolahan data, string data menampilkan berbagai struktur keteraturan atau sebaliknya persoalan yang lain, dengan cara demikian banyak munculnya teknik penyimpanan dan waktu perpindahan pada kompresi data (Ziv & Lempel, 1977). Hal yang harus diperhatikan dalam kompresi data adalah:

1. Time Process (waktu yang berjalan pada saat data kompresi)

2. Completeness (kelengkapan data setelah file-file tersebut dikompres)

3. Compression Ratio (ukuran data setelah dikompresi)

4. Optimally (perbandingan apakah ukuran file sebelum dikompresi sama atau tidak

dengan file yang telah dikompresi).

(72)

karena kompresi lossless digunakan ketika sumber data asli yang sangat penting tidak terjadi kehilangan sedikitpun detil atau kerusakan pada data (Pu, 2006).

Algoritma Even-Rodeh Code adalah algoritma kompresi yang dikembangkan oleh Shimon Even dan Michael Rodeh. Algoritma Even-Rodeh Code hampir sama dengan Elias Omega Code, namun perbedaan utamanya yaitu panjang akan ditambahkan 3 bit dan menjadi kelompok paling kiri dari kode (Salomon, 2007). Algoritma Even-Rodeh Code merupakan algoritma kompresi data yang mengkodekan setiap karakter dengan menggunakan beberapa rangkaian bit. Pembentukan bit yang mewakili masing-masing karakter dibuat berdasarkan frekuensi kemunculan tiap karakter.

Algoritma Variable Length Binary Encoding (VLBE) merupakan pengkodean biner yang dapat digunakan untuk penyimpanan atau transmisi informasi (Gilbert & Moree, 2013). Variable Length Binary Encoding (VLBE) 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).

Dari pemaparan di atas, maka dilakukan penelitian dengan judul “PERBANDINGAN ALGORITMA EVEN-RODEH CODE DAN ALGORITMA

VARIABLE LENGTH BINARY ENCODING (VLBE) PADA KOMPRESI FILE

TEKS”.

1.2 Rumusan Masalah

Rumusan masalah yang akan dibahas dalam penelitian ini adalah bagaimana memperkecil ukuran file teks guna menghemat pemakaian media penyimpanan dan mempercepat transmisi data dengan menggunakan algoritma Even-Rodeh Code dan algoritma Variable Length Binary Encoding (VLBE).

1.3 Batasan Penelitian

Agar tulisan ini tidak menyimpang dari ruang lingkup pembahasan diperlukan batasan masalah sebagai berikut:

(73)

2. Penelitian ini hanya membahas perbandingan Algoritma Even-Rodeh Code dan Algoritma Variable Length Binary Encoding (VLBE) tanpa membahas algoritma lain.

3. Parameter pembanding yang diukur adalah Compression Ratio (CR), Ratio of

Compression (RC), Redundancy (Rd), Waktu Kompresi (ms), dan Waktu

Dekompresi (ms).

4. Kode teks yang digunakan adalah kode ASCII (American Standard Code for

Information Interchange) 256 karakter (8 bit).

5. Membahas kompleksitas Ө .

6. Menggunakan bahasa pemrograman C#.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah menunjukkan hasil perbandingan algoritma

Even-Rodeh Code dan algoritma Variable Length Binary Encoding (VLBE) dengan

menggunakan parameter rasio, redundancy, waktu kompresi, dan waktu dekompresi.

1.5 Manfaat Penelitian

Manfaat yang diharapkan dapat dihasilkan dari penelitian ini mengetahui algoritma yang baik dalam kompresi file teks di antara algoritma Even-Rodeh Code dan algoritma Variable Length Binary Code (VLBE).

1.6 Metodologi Penelitian

Penelitian ini menerapkan beberapa metode penelitian sebagai berikut: 1. Studi Literatur

Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa buku, jurnal, artikel, situs internet yang berkaitan dengan penelitian ini.

2. Pengumpulan dan Analisis Data

Pada tahap ini dilakukan pengumpulan dan analisa data yang berhubungan dengan penelitian ini seperti fungsi algoritma Even-Rodeh Code dan Variable

Length Binary Encoding (VLBE) bisa bekerja dalam kompresi file teks agar penulis

Gambar

Tabel 4.6 String yang sudah dikompresi dengan Variable Length Binary Encoding
Gambar 4.1 Form Beranda
Gambar 4.2 Form Kompresi
Gambar 4.4 Form Bantuan
+7

Referensi

Dokumen terkait

[r]

menggunakan MS Word untuk bekerja (mengetik).Jendela utama terdiri dari jendela dokumen. (tempat untuk memasukkan teks dan penyuntingan) dan jendela perintah

PENDIDIKAN ANAK USIA DINI DAN PENDIDIKAN MASYARAKAT DIREKTORAT PEMBINAAN PENDIDIKAN ANAK USIA DINI.

2009 Novel: Tegar Bengawan Pemenang I Sayembara Penulisan Buku Pengayaan PUSBUK KEMENDIKBUD 2009 2009 Prophetic Learning Pro-U Media (Cetakan ke-2 pd 2010) 2008 Novel:

Adapun perlindungan hukum bagi konsumen adalah : Pembentukan undang-undang periklanan, penetapan pasal tentang badan sensor iklan media cetak, penetapan pasal yang mewajibkan

Level Kognitif Lingkup Materi Teknik Bengkel &amp; K3LH Manajemen Proyek Sistem Telekomunikasi Teknik Dasar Listrik ( TDL ).

Penelitian yang pernah dilakukan oleh Ratmawati (2016) tentang pengaruh lama penyimpanan ASI pada suhu ruangan terhadap kadar protein ASI menyebutkan bahwa lama

[r]