• Tidak ada hasil yang ditemukan

PERBANDINGAN METODE PUNCTURED ELIAS CODE DAN HUFFMAN PADA KOMPRESI FILE TEXT | Yansyah | JURIKOM (Jurnal Riset Komputer) 1 PB

N/A
N/A
Protected

Academic year: 2018

Membagikan "PERBANDINGAN METODE PUNCTURED ELIAS CODE DAN HUFFMAN PADA KOMPRESI FILE TEXT | Yansyah | JURIKOM (Jurnal Riset Komputer) 1 PB"

Copied!
4
0
0

Teks penuh

(1)

Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015 ISSN 2407-389X (Media Cetak) Hal : 33-36

33

PERBANDINGAN METODE PUNCTURED ELIAS CODE DAN

HUFFMAN PADA KOMPRESI FILE TEXT

Dedek Andri Yansyah

Mahasiswa Teknik Informatika STMIK Budi Darma Jl. Sisingamangaraja No.338 Simpang Limun Medan

ABSTRAK

Kompresi data bertujuan untuk mengurangi ukuran file sebelum menyimpan atau memindahkan data ke dalam media penyimpanan. Huffman dan Punctured Elias Codes adalah dua algoritma yang digunakan untuk proses kompresi pada skripsi ini. Kompresi data dengan ke dua algoritma tersebut digunakan pada kompresi file teks. Pada dasarnya ke dua algoritma ini mempunyai cara kerja yang sama. Dimulai dengan pengurutan karakter berdasarkan frekuensinya, pembentukan pohon biner dan diakhiri dengan pembentukan kode. Pada algoritma Huffman, pohon biner dibentuk dari daun hingga akar dan disebut dengan pembentukan pohon dari bawah ke atas. Sebaliknya, Metode Punctured Elias Codes terdapat dua kode yaitu P1 dan P2. Kompresi file teks dilakukan dengan membaca input String pada file teks (*.txt dan *.doc) dan mengkodekan String menggunakan Punctured Elias Code P1 atau P2, kemudian melakukan proses kompresi. Hasil akhir dari kompresi adalah file berekstensi *.header sebagai informasi kode dan karakter dari string dan *.pec yang merupakan String bit hasil kompresi yang dapat didekompresi.Pada skripsi ini dibuat perangkat lunak yang menggunakan bahasa pemrograman Visual Basic.Net 2008 untuk membandingkan ke dua algoritma kompresi tersebut. Perbandingan dilakukan dalam hal rasio kompresi dan kecepatan proses file teks hasil kompresi.

Kata Kunci: Huffman, Punctured Elias Codes, Kompresi

I. PENDAHULUAN

Pemampatan data (data compression) merupakan salah satu kajian di dalam ilmu komputer yang bertujuan untuk mengurangi ukuran file sebelum menyimpan atau memindahkan data tersebut ke dalam media penyimpanan (storage device). Media penyimpanan seperti floppy disk, hard disk dan CD (Compact Disc) mempunyai kapasitas yang terbatas. Jika data yang akan disimpan pada media penyimpanan semakin bertambahdan berukuran besar, maka media penyimpanan tidak dapat menyimpan data tersebut karena melebihi kapasitas. Oleh karena itu, untuk mengatasi masalah ini digunakan lah pemampatan data.

Kompresi data adalah proses yang mengkonversi sebuah masukan berupa aliran data (the source atau data asli mentah) menjadi suatu aliran data lain (the Output, aliran bit atau aliran sudah dikompres) yang memiliki ukuran lebih kecil. Berdasarkan adanya kemungkinan data setelah dikompres dapat direkonstruksi kembali ke data yang asli, teknik kompresi data dibagi menjadi dua bagian yaitu kompresi lossless dan kompresi Lossy. Kompresi lossless memungkinkan data dapat dikembalikan ke data yang asli secara utuh atau tanpa ada informasi yang hilang dalam data tersebut. Sedangkan kompresi Lossy tidak dapat mengembalikan data yang telah dikompres secara utuh dari data yang asli pada saat proses dekompresi.

Punctured Elias Codes adalah suatu metode yang dirancang oleh Peter Fenwick dalam sebuah percobaan untuk meningkatkan performa the BurrowsWheeler transform. Istilah Punctured datang dari tempat pengawasan eror kode-kode (ECC). ECC terdiri dari data yang asli ditambah sejumlah bilangan dari check bits. Jika beberapa check bits dihilangkan, untuk mempersingkat

serangkaian kode itu, hasil kode ditujukan sebagai Punctured

Algoritma Huffman diperkenalkan oleh David A. Huffman seorang mahasiswa MIT dalam papernya yang berjudul "A Method for the Construction of Minimum- Redundancy Codes" dan diterbitkan pada tahun 1952. Prinsip kode Huffma n adalah karakter yang paling sering muncul di dalam data dikodekan dengan kode yang jumlah bitnya lebih sedikit, sedangkan karakter yang jarang muncul dikodekan dengan kode yang jumlah bitnya lebih panjang. Algoritma Huffma n menggunakan tabel frekuensi kemunculan karakter untuk menggambarkan setiap karakter menjadi kode atau string biner. Kode atau string biner yang digunakan untuk mengkodekan setiap karakter dinamakan kode Huffma n.

II. TEORITIS A. Kompresi Data

(2)

Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015 ISSN 2407-389X (Media Cetak) Hal : 33-36

34 dapat diklasifikasikan sebagai teks, suara, gambar dan video.

B. Punctured Elias Codes

Punctured Elias Codes untuk bilangan integer dirancang oleh Peter Fenwick dalam sebuah percobaan untuk meningkatkan performa the BurrowsWheeler transform. Istilah Punctured datang dari tempat pengawasan eror kode-kode (ECC). ECC terdiri dari data yang asli ditambah sejumlah bilangan dari check bits. Jika beberapa check bits dihilangkan, untuk mempersingkat serangkaian kode itu, hasil kode ditujukan sebagai Punctured (Salomon, 2007).Cara untuk membangun kode Punctured Elias Codes ini adalah sebagai berikut:

1. Ambil bilangan biner dari n,

2. Reversed (balikkan bit-bitnya), dan siapkan flag untuk menunjukkan jumlah bit yang bernilai 1 di dalam n.

3. Untuk setiap bit 1 di dalam n kita siapkan flag dari 1 dan akhiri flag dengan 0.

4. Gabungkan flag dengan bilangan biner yang sudah dibalikkan (reversed).

C. Algoritma Huffman

Algoritma Huffman diperkenalkan oleh David A. Huffman seorang mahasiswa MIT dalam papernya yang berjudul "A Method for the Construction of Minimum- Redundancy Codes" dan diterbitkan pada tahun 1952. Prinsip kode Huffman adalah karakter yang paling sering muncul di dalam data dikodekan dengan kode yang jumlah bitnya lebih sedikit, sedangkan karakter yang jarang muncul dikodekan dengan kode yang jumlah bitnya lebih panjang. Algoritma Huffman menggunakan tabel frekuensi kemunculan karakter untuk menggambarkan setiap karakter menjadi kode atau string biner. Kode atau string biner yang digunakan untuk mengkodekan setiap karakter dinamakan kode Huffman.

D. File teks

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 (Sitorus, 2012). 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, EBCDIC, dan Unicode. ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal. ASCII digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. Kode ASCII memiliki komposisi bilangan biner sebanyak 8 bit, dimulai dari 00000000 hingga 11111111. Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan desimal. 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. Adanya keterbatasan pada kode ASCII dan EBCDIC, dibuat standar kode internasional baru yang merupakan kode 16 bit yang disebut Unicode. Unicode adalah suatu standar industri yang dirancang untuk dimanipulasi secara konsisten oleh komputer

III. ANALISA dan PERANCANGAN A. Analisa Masalah

Pemampatan data (data compression) merupakan salah satu kajian di dalam ilmu komputer yang bertujuan untuk mengurangi ukuran file sebelum menyimpan atau memindahkan data tersebut ke dalam media penyimpanan (storage device). Media penyimpanan seperti floppy disk, hard disk dan CD (Compact Disc) mempunyai kapasitas yang terbatas. Jika data yang akan disimpan pada media penyimpanan semakin bertambahdan berukuran besar, maka media penyimpanan tidak dapat menyimpan data tersebut karena melebihi kapasitas. Oleh karena itu, untuk mengatasi masalah ini digunakan lah pemampatan data.

B. Kompresi Dengan Punctured Elias Codes Analisis proses kompresi file teks dengan metode Punctured Elias Codes Berikut ini adalah contoh proses kompresi file teks dengan metode Punctured Elias Codes.

Misalkan pada sebuah file teks berisi String

“KURA-KURA KAKEKKU LARI KAYAK

KUDA”. Untuk mengukur ukuran String itu di dalam

komputer dapat dilihat pada Tabel 1. Tabel 1. String Yang Belum Dikompresi.

(3)

Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015 ISSN 2407-389X (Media Cetak) Hal : 33-36

35

Char Ascii Code Ascii Code (Binary) Bit Frek Bit x Frek

L 76 01001100 8 1 8

I 73 01001001 8 1 8

Y 89 01011001 8 1 8

D 68 01000100 8 1 8

a. Ratio of compression (Rc)

Rc = ukuran data sebelum dikompresi ukuran data setelah dikompresi

Rc = 264 bit 136 bit

Rc = 1.94

b. Compression ration (Cr)

Cr = ukuran data setelah dikompresi x 100% ukuran data sebelum dikompresi

Cr = 36 bit x 100% 64 bit

Cr = 51.51 % c. Redundancy (Rd) Rd = 100% - Cr Rd = 100% - 51.51% Rd = 48.49%

C. Proses Kompresi Huffman

Sebagai contoh sederhana sebuah kompresi, dalam kode ASCII string 7 huruf “AB ACC DA” membutuhkan representasi 7 x 7 bit = 49 bit , dengan rincian seperti pada Tabel 3.4.

Tabel 2. Frekuensi Kemunculan Karakter pada Data.

Maka dari Tabel 2 pembentukan pohon Huffman untuk proses kompresi yang dapat terjadi deperlihatkan pada Gambar 2. Seluruh karakter beserta frekuensi kemunculannya dapat dilihat pada gambar 3.1(a), lalu dua buah karakter dengan

frekuensi terkecil yaitu “B ” dan “D ” digabungkan

serta tambahk an kode “0” untuk nodepertama “B”

dan kod e “1 ” untuk node kedua “D ”. Hal in i dapat

dilihat pada Gambar 3.1(b). Kemudian gabungan karakter tersebut digabungkan dengan karakter dengan frekuensi yang paling mendekati yaitu “C ”, karakter gabungan tersebut yang terlihat pada Gambar 3.1(c). Kemudian karakter gabungan tersebut di gabungkan lagi dengan karakter “A” seperti pada Gambar 3.1(d).

Tabel 3. Hasil Kompresi Menggunakan Algoritma Huffman

Karakter Frekuensi Kemunculan

Kode Huffman

A 3 0

B 1 110

C 2 10

D 1 111

Dari Tabel 3 dapat diketahui bahwa dibutuhkan representasi (3x1) + (1x3) + (2x2) + (1x3) = 13 bit. Maka dapat diperoleh persentase kompresi dengan menggunakan persamaan 4.1 sebesar:

49 - 13

x 100% = 73,46% 9

IV. IMPLEMENTASI

Tahap implementasi sistem merupakan tahap pembuatan perangkat lunak, tahap lanjut dari tahap perancangan sistem pengujian. Tahap yang dilakukan untuk menterjemahkan perancangan berdasarkan hasil analisis pengujian dalam bahasa yang dimengerti oleh komputer serta penerapan perangkat lunak pada keadaan yang sebenarnya.

Form ini adalah form yang digunakan untuk melakukan proses kompresi dan dekompresi Dalam form ini pertama sekali kita melakukan penginputan terhadap file text yang akan diproses. File yang akan diproses ini adalah form dengan format text. Adapun prosesnya dengan mengklik tombol buka file untuk mencari file yang akan diproses. Selanjutnya klik tombol kompresi untuk melakukan kompres terhadap file text tersebut. Adapun tampilanya dapat dilihat pada form dibawah ini Tampilannya dapat dilihat pada gambar 1 dan 2 dibawah ini

Gambar 1. Proses Input File Karakter Frekuensi

Kemunculan

Kode Ascii

A 3 1000001

B 1 1000010

C 2 1000011

(4)

Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015 ISSN 2407-389X (Media Cetak) Hal : 33-36

36 Gambar 2. Proses Kompres File

Form ini adalah form yang digunakan untuk melakukan proses dekompresi dan Dalam form ini pertama sekali kita melakukan penginputan terhadap file yang telah terkompres yang akan diproses. File yang akan diproses ini adalah form dengan format huf. Adapun prosesnya dengan mengklik tombol buka file untuk mencari file yang akan diproses. Tampilannya dapar dilihat pada gambar 3 dibawah ini

Gambar 3. Proses Dekompresi

Form ini adalah form yang digunakan untuk melakukan proses kompresi dan dekompresi Dalam form ini pertama sekali kita melakukan penginputan terhadap file text yang akan diproses. File yang akan diproses ini adalah form dengan format text. Adapun prosesnya dengan mengklik tombol buka file untuk mencari file yang akan diproses. Selanjutnya klik tombol kompresi untuk melakukan kompres terhadap file text tersebut. Adapun tampilanya dapat dilihat pada form dibawah ini Tampilannya dapat dilihat pada gambar 4. dan 5 dibawah ini

Gambar 4. Proses Kompresi Punctured Elias Code

Form ini adalah form yang digunakan untuk melakukan proses dekompresi dan Dalam form ini pertama sekali kita melakukan penginputan terhadap file yang telah terkompres yang akan diproses. Adapun prosesnya dengan mengklik tombol buka file untuk mencari file yang akan diproses, kemudian klik tombol dekompres. Tampilannya dapar dilihat pada gambar 5 dibawah ini

Gambar 5. Proses Dekompresi Punctured Elias Code V. KESIMPULAN

Secara keseluruhan mulai dari perancangan, realisasi dan pengujian, dapat ditarik beberapa kesimpulan, antara lain:

1. Pada Kompresi dengan menggunakan kode Huffman akan lebih optimal jika variasi karakter dari informasi tersebut tidak terlalu banyak walaupun frekuensi kemunculannya tinggi karena pohon Huffman yang akan terbentuk tidak terlalu panjang sehingga kode Huffman yang mewakili karakter tersebut menjadi lebih singkat.

2. Berdasarkan pengujian kompresi terhadap file teks dengan karakter tidak berulang, dapat disimpulkan bahwa kompresi dengan metode Huffman jauh lebih efektif dibanding dengan metode Punctured Elias Code

3. Pada metode Punctured Elias Code khusus untuk File teks yang berekstensi *.doc hasil Output dekompresi telah diatur dengan Format perataan teks justify dan jenis font Times New Roman dengan ukuran font 12.

VI. DAFTAR PUSTAKA

1. Adi Nugroho.2010. Rekayasa Perangkat Lunak Berbasis Objek

dengan Metode. USDP. Andi. Yogyakarta

2. Booch,G.Rumbaugh,J.Jacobsoon, I. (2005). Unified Modelling Language User Guide. Addison-Wesley Professional. 3. Darma, Putra, 2006. Pengolahan Citra Digital,

AndiOffset,Yogyakarta

4. Indrajani, S.Kom, MM. 2011. Perancangan Basis Data Dalam

Allin1. Elex Media. Komputindo. Jakarta

5. Pu,I.M.2006.Fundamental Data Compression. London: Butterworth Heinemann

6. Riyanto, Rahmat, 2009, Langsung Bisa Visual Basic.Net 2008, Andi, Yogyakarta.

7. Salomon, D. 2007. Data Compression : The Complete Reference. Third Edition.

8. Sitorus,EunikeJohana. 2012. Studi Perbandingan Kompresi

Menggunakan Metode. Shannon Fano Dan Unary Coding

Gambar

Tabel 1. String Yang Belum Dikompresi. Ascii Code (Binary) Bit Frek
Tabel 2. Frekuensi Kemunculan Karakter pada Data.
Gambar 2. Proses Kompres File

Referensi

Dokumen terkait

Pengaruh Model Kooperatif Tipe Make A Match Terhadap Hasil Belajar Matematika Siswa Kelas VII SMP Negeri 9 Lubuklinggau Pengaruh Model Pembelajaran Kooperatif Tipe Make

Penjual : Kalau ambil tige kasi harge lime puloh ribu satu boneka.. Penjual : Mau mukenah warna

Meningkatkan Kematangan Emosioal dengan Teknik Role Play Siswa Kelas X Teknik Mesin SMK Saraswati Salatiga Semester Genap Tahun Pelajaran.. Skripsi Salatiga FKIP-

trust in brand dan switching cost sebagai salah satu variabel yang berpengaruh harus tetap dapat dikendalikan secara langsung oleh perusahaan.Tujuan penelitian ini adalah untuk

ROLE BASED ACCESS CONTROL SISTEM PENILAIAN AKADEMIK ONLINE BERBASIS WEB DENGAN MENGGUNAKAN FRAMEWORK CODEIGNITER PADA FAKULTAS TEKNOLOGI INDUSTRI UPN ”VETERAN”

juga adanya model pembelajaran kooperatif tipe snowball drilling dapat menjadi pedoman guru dalam memberikan model pembelajaran yang sesuai dan tepat kepada siswanya

Dari diagram diatas, maka dapat disimpulkan bahwa alternatif jawaban yang paling banyak dipilih oleh responden adalah alternatif jawaban C (kadang- kadang) sebanyak 35%

We adopt the SORTIE model in this work to sim- ulate forest succession; the process is cy- clic, and the simulation flow of one time step is divided into six submodels: