• Tidak ada hasil yang ditemukan

Perbandingan Kinerja Algoritma Kompresi Inverted Elias Gamma dan Capocelli Code Pada File Teks

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Kinerja Algoritma Kompresi Inverted Elias Gamma dan Capocelli Code Pada File Teks"

Copied!
103
0
0

Teks penuh

(1)

LAMPIRAN LISTING PROGRAM

private void compressToolStripMenuItem_Click_1(object sender, EventArgs e) {

(2)

// Set the Parent Form of the Child window. newMDIChild.MdiParent = this;

// Display the new form. newMDIChild.Show(); }

private void exitToolStripMenuItem_Click(object sender, EventArgs e) {

Form5 newMDIChild = new Form5(); newMDIChild.MdiParent = this; newMDIChild.Show();

}

private void decompressToolStripMenuItem_Click(object sender, EventArgs e) {

Form3 newMDIChild = new Form3(); newMDIChild.MdiParent = this; newMDIChild.Show();

}

private void aboutMeToolStripMenuItem_Click(object sender, EventArgs e) {

Form4 newMDIChild = new Form4(); newMDIChild.MdiParent = this; newMDIChild.Show();

}

private void helpToolStripMenuItem_Click(object sender, EventArgs e) {

System.Windows.Forms.Application.Exit(); }

(3)

} }

2. Form Kompresi

using System; using System.IO;

using System.Collections.Generic; using System.ComponentModel; using System.Data;

using System.Drawing; using System.Linq; using System.Text;

using System.Windows.Forms;

using System.Runtime.InteropServices.ComTypes;

namespace WindowsFormsApplication1 {

public partial class Form2 : Form {

public string kalimat; public string nwkalimat; public Form2()

{

InitializeComponent();

(4)

private void Form2_Load(object sender, EventArgs e) {

}

private void button1_Click(object sender, EventArgs e) {

public static String readingfiledoc(String kode) {

Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();

object miss = System.Reflection.Missing.Value;

Microsoft.Office.Interop.Word.Document docs = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);

(5)

docs.Close(); word.Quit(); }

private void button2_Click(object sender, EventArgs e) { invertedeliasgamma.runInvertedEliasGamma(target, namafolder, namafile);

(6)

}

if (result == System.Windows.Forms.DialogResult.OK) {

(7)

s.Append(c);

(8)
(9)

r = dec % 2;

(10)

{

for (int i = 0; i < t; i++) sb.Append(s); return sb;

}

(11)

egc[c] = s;

public static void runInvertedEliasGamma(string target, string folder, string nama){ "Compressed_bits = " + compressed_bits + "\n" + "Uncompressed_bits = " + uncompressed_bits + "\n" + "Compression Ratio = " + CR + " : 1" + "\n" + "Space Savings = " + SS + " %" + "\n Compressi Success 100%";

string text = stb;

(12)
(13)

for (int i = 0; i < n; i++)

vreq[i] = CountChar(st, charset[i]); return vreq;

}

(14)
(15)
(16)

int MAX = 20;

public static void RunCapocelliCompression(string target, string folder, string nama)

{

(17)

string content=Form2.readingfiledoc(target);

(18)

using System.ComponentModel;

this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;

}

private void Form3_Load(object sender, EventArgs e) {

}

(19)

} }

public static String readingfiledoc(String kode) {

Microsoft.Office.Interop.Word.Document docs = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);

string totaltext = "";

private void button2_Click(object sender, EventArgs e) {

string target = textBox1.Text;

(20)
(21)

private void kotakpesan(string msg) {

string message = msg; string caption = "Warning";

MessageBoxButtons buttons = MessageBoxButtons.OK; DialogResult result;

// Displays the MessageBox.

result = MessageBox.Show(message, caption, buttons);

if (result == System.Windows.Forms.DialogResult.OK) {

// Closes the parent form. // this.Close();

} } }

public class CapocelliDecompression {

private static int[] vr; private static String ass; public static String klm; public static String kalimat; private static String[] vc;

private static String GetCharSet(String st) {

(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)

}

private static StringBuilder MultiAppend(StringBuilder sb, String s, int t) {

for (int i = 0; i < t; i++) sb.Append(s); return sb;

(34)
(35)

s3.Append("1");

public static void RunDecompressionIeg(String target, string target1, string folder, string nama) content) + "\n" + "Decompressi Success 100%";

(36)

DAFTAR PUSTAKA

Andika, R. 2014. Implementasi Metode Punctured Elias Codes Pada Kompresi File Text. Skripsi. Universitas Sumatera Utara.

Budiharto, W. 2006. Visual Basic. NET 2005. ANDI: Yogyakarta.

Leong, M. 2006. Dari Programmer untuk Programmer Visual Basic. ANDI : Yogyakarta.

Lubis, W.A. 2015. Penyediaan Data Teks Dengan Algoritma Algamal Dan Algoritma Kompresi Data Dengan Algoritma Elias Gamma Code. Skripsi. Universitas Sumatera Utara.

Napitupulu, N. & Sihombing, N. S. 2010. Struktur Data Dan Algoritma. USU press: Medan.

Purwanto, E. B. 2008. Perancangan & Analisis Algoritma. Graha Ilmu : Serpong Ramadhan, F. 2015. Kompresi Data Teks Menggunakan Algoritma Sequitur. Skripsi.

Program Studi Teknik Informasi, Malang.

Salomon, D. 2004. Data Compression: The Complete Reference. Third Edition. Springer:USA.

Salomon, D. 2007. Variable-length Codes for Data Compression. London: Springer. Sitorus, E.J. 2012. Studi Perbandingan Kompresi Menggunakan Metode Shannon

Fano Dan Unary Coding Pada File Teks. Skripsi. Universitas Sumatera Utara. Siagian, P. 2015. Analisis Perbandingan Kinerja Algoritma Fixed Length Binari

Encoding (FLBE) Dengan Algoritma Sequitur Dalam Kompresi File Teks. Skripsi. Universitas Sumatera Utara.

(37)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini penulis memaparkan analisis permasalahan yang diangkat yang disajikandengan diagram dan flowchart serta dipaparkan juga perancangan sistem yang akandibangun, baik yang berupa perangkat keras ataupun perangkat lunak, cara melakukan pengujian dan bentuk topologi.

3.1. Analisis Sistem

Analisis sistem ialah proses identifikasi mengenai hal-hal yang dibutuhkan dan harus ada pada sistem, agar sistem tersebut dapat berjalan sesuai dengan tujuan utama. Analisis sistem dapat dilakukan dengan menentukan apa-apa saja yang menjadi input dari sistem, proses apa yang dilakukan sistem dan apa yang menjadi output dari sistem tersebut (Salomon, 2004).Untuk menganalisis sebuah sistem ada beberapa hal yang biasa dilakukan, yaitu sebagai berikut:

3.1.1. Identifikasi Masalah

(38)

Capocellidalam mengkompresi file teks dengan menggunakan analisis kompresi. Kompresi data menggunakan algoritma Inverted Elias Gamma dan algoritma Capocelli yang dipengaruhi oleh jumlah karakter yang berada dalam file yang akan dimampatkan. Pada penelitian ini file teks yang digunakan yaitu file *.doc.

Diagram Ishikawa adalah diagram yang menunjukkan penyebab – penyebab dari sebuah event yang spesifik. Pemakaian diagram Ishikawa yang paling umum adalah untuk mencegah efek dari suatu sistem serta mengembangkan kualitas produk. Analisa masalah lebih jelas melalui diagram Ishikawa yang dapat dilihat pada

Gambar 3.1. Diagram Ishikawa Analisis Masalah

3.1.2.Analisis Kebutuhan Sistem

(39)

3.1.2.1.Kebutuhan fungsional

Kebutuhan fungsional adalah fungsi-fungsi yang harus dipenuhi pada aplikasi yang dirancang. Kebutuhan fungsional yang harus dipenuhi aplikasi yang dirancang adalah sebagai berikut:

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

2. Sistemharus mampu melakukan kompresi datamenggunakan algoritma Inverted Elias Gammadan Capocelli secara sempurna.

3. Sistem harus mampu melakukan dekompresi data dengan algoritma Inverted Elias Gammadan Capocellisecara sempurna.

4. Sistem harus mampu menghitung yaitu Ratio of Compression (RC), Compression Ratio (CR), Space Savings (SS), waktu kompresi dan dekompresi data.

5. Sistem harus mampu menyimpan file dekompresi dalam ekstensi file yang berbeda dengan ekstensi file asli.

3.1.2.2. Kebutuhan Non-Fungsional

Kebutuhan non-fungsional adalah kebutuhan yang harus dipenuhi agar aplikasi yang dirancang mendapat umpan-balik yang baik dari pengguna aplikasi. Kebutuhan non-fungsional yang harus dipenuhi aplikasi yang dirancang adalah sebagai berikut (Salomon, 2004):

1. Performa

Setiap tugas harus bisa dilaksanakan sistem secara utuh dengan ukuran data input yang diberikan dalam selang waktu yang tidak terlalu lama.

2. Informasi

(40)

3. Ekonomi

Penggunaan perangkat keras dan perangkat lunak tanpa harus dikeluarkan biaya tambahan harus bisa bekerja dengan baik oleh sistem.

4. Kontrol

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

5. Mudah digunakan (User friendly)

Artinya bahwa sistem mudah digunakan oleh user dengan tampilan (interface) yang sederhana dan mudah dimengerti (user friendly).

6. Pelayanan

Bagi pihak-pihak yang ingin mengembangkan sistem,sistem yang telah dirancang bisa dikembangkan ke tingkat yang lebih kompleks lagi.

3.1.3.Analisis Proses

Tujuan dari tahap analisis proses adalah mengetahui tahapan dan cara kerja dari sistem yang digunakan secara spesifik. Analisis proses dilakukan pada tahapan pemodelansistem. Hal ini dilakukan guna mengetahui apa saja yang harus dilakukan oleh sistemsehingga dengan mudah melakukan pemrograman pada sistem yang akan dibangun.

(41)

dibuat.Kemudian sistem melakukan proses kompresi berdasarkan tabel karakter dan tabelkode yang telah dibangkitkan itu. Pada proses dekompresi, awalnya sistem membacafile hasil kompresi. Setelah mendapatkan bit-bit string hasil kompresi dan tabelkarakter dan kodenya, kemudian sistem melakukan proses dekompresi denganmengubah bitstring itu ke dalam bentuk karakter semula berdasarkan tabelkarakter dan tabel kode yang telah dibuat pada proses kompresi.

3.1.3.1.Analisis Proses Kompresi File Teks dengan Metode Inverted Elias Gamma

Berikut ini adalah contoh proses kompresi file teks dengan metodeInverted Elias Gamma.Terdapat file teks yang berisikan string “CACA CICI CICIPI CUKA”. Untuk mengukur ukuran String itu di dalam komputer dapat dilihat pada pada

Tabel 3.1 String yang belum di kompresi

n Char ASCII Biner Bit Frek Bit x

Frek

1 C 01000011 8 7 56

2 A 01000001 8 3 24

3 Sp 00100000 8 3 24

4 I 01001001 8 5 40

5 P 01010000 8 1 8

6 U 01010101 8 1 8

7 K 01001011 8 1 8

Jumlah 168

(42)

C berdasarkan kode ASCII dikodekan dengan 01000011 A berdasarkan kode ASCII dikodekan dengan 01000001 Spberdasarkan kode ASCII dikodekan dengan 00100000 I berdasarkan kode ASCII dikodekan dengan 01001001 Pberdasarkan kode ASCII dikodekan dengan 01010000 Uberdasarkan kode ASCII dikodekan dengan 01010101 K berdasarkan kode ASCII dikodekan dengan 01001011

Kemudian jumlah bit dari karakter yang dikodekan dikalikan dengan frequency kemunculan dari karakter tersebut:

C yang dikodekan dengan 01000011 mempunyai 8bit dan frequency kemunculan sebanyak 7 kali, maka bit x frequency = 56

A yang dikodekan dengan 01000001 mempunyai 8bit dan frequency kemunculan sebanyak 3 kali, maka bit x frequency = 24

Sp yang dikodekan dengan 00100000 mempunyai bit dan frequency kemunculan sebanyak 3 kali, maka bit x frequency = 24

I yang dikodekan dengan 01001001 mempunyai 8bit dan frequency kemunculan sebanyak 5 kali, maka bit x frequency = 40

P yang dikodekan dengan01010000mempunyai 8bit dan frequency kemunculan sebanyak 1 kali, maka bit x frequency = 8

U yang dikodekan dengan 01010101 mempunyai 8bit dan frequency kemunculan sebanyak 1 kali, maka bit x frequency = 8

K yang dikodekan dengan 01001011mempunyai 8bit dan frequency kemunculan sebanyak 1 kali, maka bit x frequency = 8

(43)

1. β(110) = 12 1. β(210) = 102

Maka dapat kita tentukan jumlah bit dari string “CACA CICI CICIPI CUKA” setelah di kompresi menggunakan algoritma InvertedElias Gamma sebagai berikut:

Tabel 3.2 String yang sudah dikompresi

Tahap selanjutnya adalah menyusun kembali kode-kode yang telah dibuatdalam tabel sesuai dengan posisi karakter pada string. String yang telah dibacaadalah “CACA CICI CICIPI CUKA”

(44)

C I C I Sp

Dari Tabel 3.2 dapat dibentuk string bit dari string sebelum dikompresi yaitu “CACA CICI CICIPI CUKA” menjadi string bit “0110011010001111001111010001 1110011110111001111010001011010100110”.

Sebelum ditulis ke sebuah file hasil kompresi dilakukan penambahan bitpadding dan flag diawal dan akhir string bit. Bit itu dihasilkan dari panjang string bit itu sendiri apakah habis dibagi delapan dan berapa sisanya jika dibagi delapan. Karena jumlah string bit 65 tidak habis dibagi delapan dan sisanya adalah satu. Maka dapat dibuat padding “0000000” dan flagnya adalah “00000111”. Sehingga total bit seluruhnya setelah penambahan padding dan flagging adalah 80 bits.

3.1.3.2. Analisis Proses Kompresi File Teks dengan Metode Capocelli

Berikut ini adalah contoh proses kompresi file teks dengan metode Capocelli.Terdapat file teks yang berisikan string “CACA CICI CICIPI CUKA”. Untuk mengukur ukuran String itu di dalam komputer dapat dilihat pada Tabel 3.3.

Tabel 3.3 String yang belum di kompresi

(45)

6 U 01010101 8 1 8

7 K 01001011 8 1 8

Jumlah 168

Suffix = ‘0’ + r * ‘1’

Untuk r = 2, maka suffix = ‘011’

Maka dapat dilakukan kompresi data pada string “CACA CICI CICIPI CUKA” sebagai berikut:

(46)

Dari Tabel 3.4 dapat dibentuk string bit dari string sebelum dikompresi yaitu “CACA CICI CICIPI CUKA” menjadi string bit:

“01100011011000111001101100001101100001110011011000011011000011001011 0000111001101101001110001100011.”

Sebelum ditulis ke sebuah file hasil kompresi dilakukan penambahan bit padding dan flag diawal dan akhir string bit. Bit itu dihasilkan dari panjang string bit itu sendiri apakah habis dibagi delapan dan berapa sisanya jika dibagi delapan. Karena jumlah string bit 86 tidak habis dibagi delapan dan sisanya adalah enam. Maka dapat dibuat padding “00” dan flagnya adalah “00000010”. Sehingga total bit seluruhnya setelah penambahan padding dan flagging adalah 96 bits.

3.1.3.3.Analisis Proses menghitung Parameter Pembanding Ratio of Compression (RC), Compression Ratio (CR), dan Space Saving (SS).

1. Ratio of Compression (RC)

Ratio of Compression dari contoh menggunakan algoritma Inverted Elias Gamma dihasilkan dari jumlah ukuran data sebelum dikompresi lalu dibagikan dengan jumlah ukuran data setela dikompresi menggunakan algoritma Inverted Elias Gamma.

=

=

168

65

(47)

Ratio of Compression dari contoh menggunakan algoritma Capocelli dihasilkan dari jumlah ukuran data sebelum dikompresi lalu dibagikan dengan jumlah ukuran data setela dikompresi.

=

=

168

86

= 1,95

2. Compression Ratio (CR)

Compression Ratio dari contoh menggunakan algoritma Inverted Elias Gamma di hasilkan dari ukuran data setelah dikompresi menggunakan algoritma Inverted Elias Gamma di bagi ukuran data sebelum dikompresi lalu dibagi 100% .

=

100 %

=

65

168

100 %

= 38,6 %

Compression Ratio dari contoh menggunakan algoritma Capocelli dihasilkan dari ukuran data setelah dikompresi menggunakan algoritma Capocelli dibagi ukuran data sebelum dikompresi lalu dibagi100%.

$% =

100 %

=

86

168

100 %

(48)

3. Space Saving (SS)

Space Savings dari contoh menggunakan algoritma Inverted Elias Gamma dihasilkan dari persentase data yang belum dikompresi dikurangi dengan Compression Ratio dari kompresi menggunakan algoritma Inverted Elias Gamma.

= 100% −

= 100% − 38,6%

= 61,4%

Space Savings dari contoh menggunakan algoritma Capocelli dihasilkan dari persentase data yang belum dikompresi dikurangi dengan Compression Ratio dari kompresi menggunakan algoritma Capocelli.

= 100% −

= 100% − 51%

= 49%

3.1.3.4.Proses Dekompresi

Dalam skripsi saya ini saya menggunakan dekompresi yang secara umum bisa

digunakan dengan menggunakan algoritma apa saja. Adapun bentuk dekompresi pada skripsi saya ini yaitu;

t = table :

Char Code

C 0

A 01

Sp 110

Sb = String bit = “01100110 . . . .” function decompress (t, sb) {

(49)

buff = sb[0] l = length(sb) for (i=1 to l) {

if (buff not in t) {

buff = buff + sb[i] }

else {

String = string + t[buff] buff = ""

} }

return sb }

3.2. Pemodelan Sistem

Pemodelan sistem adalah penggambaran bagian-bagian atau komponen-komponen yang terdapat dalam sistem yang akan dirancang sesuai dengan spesifikasi dan kebutuhan sistem tersebut. Pada penelitian ini proses pemodelan sistem akan dilakukan dengan menggunakan Use-Case Diagram, Activity Diagram, Sequence Diagram.

3.2.1. Diagram Use Case

(50)

Gambar 3.2.Gambar Diagram Use case

1. Use case

Simbol yang digunakan untuk menunjukkan fungsi sistem secara umum. Dilambangkan dengan simbol oval dengan teks yang menunjukkan fungsi sistem di dalamnya.

2. Actor.

Simbol yang digunakan untuk mewakili seseorang/sesuatu (misal: organisasi, sistem yang lain, dll) yang berinteraksi dengan sistem.

3. Association.

(51)

3.2.2. Diagram Activity

Activity diagram menggambarkan alur dari proses yang terjadi dalam sebuah use case. Activity diagram juga digunakan untuk menggambarkan logika dari sebuah sistem. Notasi/simbol yang akan digunakan di dalam Activity diagram yaitu:

1. Initial node.

Lingkaran hitam penuh yang menggambarkan awal dari proses.

2. Actions.

Persegi panjang dengan sudut lengkung yang menampilkan langkah/step dari proses.

3. Flow.

Panah yang menampilkan alur dari actions.

4. Decision.

Belah ketupat (diamond) dengan satu panah masuk dan dua panah keluar, menampilkan kondisi.

5. Merge.

Belah ketupat (diamond) dengan banyak panah masuk dan satu panah keluar, menggabungkan alur program yang sebelumnya terpisah dengan sebuah kondisi.

6. Fork.

Baris hitam dengan satu panah masuk dan dua atau lebih panah keluar, menunjukkan sebuah proses yang terjadi secara bersamaan.

7. Join.

(52)

8. Activity final.

Lingkaran hitam penuh di dalam lingkaran hitam lain yang kosong, menggambarkan proses selesai.

Berikut ini adalah Activity diagram pada sistem yang akan dibangun :

1. Diagram Activity Buka File

Gambar 3.3.Gambar Diagram Activity Buka File Teks

2. Diagram Activity Simpan file Terkompresi.

(53)

3. Diagram Activity Pengkodean Algoritma

(54)

4. Diagram Activity Buka File Pada Proses Dekompresi

Gambar 3.6.Gambar Diagram Activity Buka File Dekompresi

5. Diagram Activity Simpan Dekompres

(55)

6. Diagram Activity Pengkodean Dekompresi

(56)

3.2.3. Diagram Sequence

Sequence diagram menggambarkan bagaimana objek saling berinteraksi melalui message dalam eksekusi operation, untuk satu buah use case. Diagram ini mengilustrasikan bagaimana message dikirim dan diterima diantara objek, dan di urutan yang mana. Sequence membantu untuk menggambarkan data yang masuk dan keluar sistem. Notasi/simbol yang akan digunakan di dalam Sequence diagram yaitu:

1. Actor.

Seseorang atau sesuatu yang berinteraksi dengan sistem, sama seperti pada use case.

2. System.

Kotak yang menunjukkan sebuah sistem sebagai black box atau secara keseluruhan.

3. Lifelines.

Garis putus vertikal di bawah aktor dan sistem, menunjukkan berjalannya sistem.

4. Activation bars.

Garis membentuk kotak panjang di bawah lifelines, menunjukkan waktu ketika objek aktif di dalam interaksi.

5. Input messages.

Garis panah horizontal dari aktor ke sistem yang menunjukkan Input. Cara penulisannya adalah diawali dengan huruf kecil, dan setiap kata setelahnya tetap digabung (tanpa spasi) namun diawali huruf kapital. Jika mengandung parameter, ditulis dengan cara yang sama, dan setiap parameter diawali dengan koma.

6. Output messages.

Garis panah putus-putus horizontal dari sistem ke aktor yang menunjukkan message yang dikirim dari sistem ke actor.

7. Receiver actor.

(57)

8. Frame

Sebuah kotak yang dapat menutup satu atau lebih message untuk membagi sequence. Frame ini dapat menunjukkan loop, pilihan lain.

Berikut ini adalah sequence diagram pada sistem yang akan dibangun :

1. Diagram Sequence Pada Proses Kompresi

(58)

2. Diagram Sequence Pada Proses Dekompresi

Gambar 3.10. Gambar Diagram Sequence Proses Dekompresi

3.3. Perancangan Sistem Secara Umum

(59)

3.3.1. Bagan Alir Sistem (Flowchart)

(60)
(61)

Gambar 3.13. Gambar Flowchart Sistem Secara Umum Pada Aplikasi yang Akan Dirancang

3.3.2. Perancangan Antar Muka Sistem

(62)

1. Form Untuk Halaman Utama

Gambar 3.14. Gambar Form Home

Keterangan :

1. Judul dari aplikasi yang telah di rancang.

2. Merupakan MenuStrip1 sebagai menu untuk form utama.

3. Merupakan MenuStrip2 sebagai menu untuk form proses kompresi. 4. Merupakan MenuStrip3 sebagai menu untuk form proses dekompresi 5. Merupakan MenuStrip4 sebagai menu untuk form informasi dari penulis. 6. Merupakan Panel1 untuk tampilan di form Home.

(63)

2. Form Untuk Halaman Compression

Gambar 3.15. Gambar Form Compression

Keterangan:

1. Judul dari aplikasi yang telah di rancang.

2. Merupakan MenuStrip1 sebagai menu untuk form utama.

3. Merupakan MenuStrip2 sebagai menu untuk form proses kompresi. 4. Merupakan MenuStrip3 sebagai menu untuk form proses dekompresi 5. Merupakan MenuStrip4 sebagai menu untuk form informasi dari penulis. 6. Merupakan Panel1 untuk menu pilih file.

(64)

8. Merupakan TextBox2 untuk menampilkan direktori yang dituju untuk menyimpan file hasil kompresi.

9. Merupakan Button1 untuk proses pilih file yang akan dikompresi. 10. Merupakan Button2 untuk proses simpan file yang telah dikompresi. 11. Merupakan Button3 untuk proses kompresi.

12. Merupakan Button4 untuk proses hapus tampilan sebelumnya.

13. Merupakan Panel2 untuk kumpulan hasil algoritma Inverted Elias Gamma. 14. Merupakan Label1 untuk tulisan kompresi Inverted Elias Gamma.

15. Merupakan Panel3 untuk hasil dari RC,CR,SS,Waktu dari algoritma Inverted Elias Gamma.

16. Merupakan Label2 untuk tulisan algoritma Capocelli.

17. Merupakan Panel4 untuk kumpulan hasil algoritma Capocelli,

18. Merupakan Panel5 untuk hasil dari RC,CR,SS,Waktu dari algoritma Capocelli.

3. Form Untuk Halaman Decompression

(65)

Keterangan :

1. Judul dari aplikasi yang telah di rancang.

2. Merupakan MenuStrip1 sebagai menu untuk form utama.

3. Merupakan MenuStrip2 sebagai menu untuk form proses kompresi. 4. Merupakan MenuStrip3 sebagai menu untuk form proses dekompresi 5. Merupakan MenuStrip4 sebagai menu untuk form informasi dari penulis. 6. Merupakan Panel1 untuk menu pilih file.

7. Merupakan TextBox1 untuk menampilkan alamat file yang dipilih untuk didekompresi.

8. Merupakan TextBox2 untuk menampilkan direktori yang dituju untuk menyimpan file hasil dekompresi.

9. Merupakan Button1 untuk proses pilih file yang akan didekompresi. 10. Merupakan Button2 untuk proses simpan file yang telah didekompresi. 11. Merupakan Button3 untuk proses dekompresi.

12. Merupakan Button4 untuk proses hapus tampilan sebelumnya. 13. Merupakan Label1 untuk tampilan tulisan “Hasil”.

14. Merupakan Panel2 untuk hasil perhitungan waktu dekompresi. 15. Merupakan Label2 untuk tampilan tulisan “Waktu Dekompresi”.

(66)

4. Form Untuk Halaman About Me

Gambar 3.17. Gambar Form Halaman About Me

Keterangan :

1. Judul dari aplikasi yang telah di rancang.

2. Merupakan MenuStrip1 sebagai menu untuk form utama.

3. Merupakan MenuStrip2 sebagai menu untuk form proses kompresi. 4. Merupakan MenuStrip3 sebagai menu untuk form proses dekompresi 5. Merupakan MenuStrip4 sebagai menu untuk form informasi dari penulis. 6. Merupakan Panel1 untuk tampilan informasi.

7. Merupakan Label1 untuk Judul skripsi penulis.

(67)

10. Merupakan Label4 untuk tampilan nama penulis. 11. Merupakan Label5 untuk tampilan nim penulis skripsi. 12. Merupakan PictureBox1 untuk tampilan lambang usu. 13. Merupakan Label6 untuk tampilan program studi. 14. Merupakan Label7 untuk tampilan fakultas. 15. Merupakan Label8 untuk tampilan Universitas.

(68)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1. Implementasi Sistem

Sistem yang telah dirancang terdiri dari 5 form dalam bahasa C# dan 1 menu keluar, di antaranya yaitu Form Home untuk, Form Compress, Form Decompress, Form Help, Form About.

4.1.1. Form Home

Form Home pada aplikasi dapat dilihat pada gambar 4.1.

(69)

4.1.2. Form Compression

Form compression dapat dilihat pada gambar 4.2.

Gambar 4.2. Gambar Tampilan Form Compression

4.1.3. Form Decompression

Form decompression dapat dilihat pada gambar 4.3.

(70)

4.2. Pengujian Sistem

4.2.1.Pengujian Proses Kompresi

Gambar 4.4. Gambar Tampilan Open Dialog File

(71)

Tahap selanjutnya adalah melakukan kompresi dengan menekan tombol Compress. Hasil parameter dari proses kompresi akan muncul seperti pada gambar 4.10.

Gambar 4.6. Gambar Tampilan Hasil Parameter Pada Proses Kompresi Pada Menit Pertama

(72)

4.2.2.Pengujian Proses Dekompresi

Gambar 4.8. Gambar Tampilan Proses Decompression

(73)

4.3. Hasil Pengujian

Pengujian file dari proses kompresi dan dekompresi string dengan dua jenis string yaitu string yang terdiri dari karakter yang sama “AAAAA”dan string yang terdiri dari berbagai macam karakter “ABABAAB”. Pengujian dilakukan terhadap 5 file dengan string “AAAA” berekstensi *.txt dan 5 file dengan string “ABABAB” yang berekstensi *.doc yang ukuran filenya berbeda. yang ukuran filenya berbeda. Kemudian terhadap 5 file dengan string “AAAAA” yang berekstensi *.txt dengan ukuran file berbeda dan 5 file dengan string “ABABAB” yang berekstensi *.doc yang ukuran filenya juga berbeda.

Tabel 4.1. Pengujian String “AAAAAA” (*.txt) Dengan Inverted Elias Gamma

No. Uk. File *.txt

3. 4kb 5064 0,04107424960 -2334,615384615 208

Tabel 4.2. Pengujian String “AAAAAA” (*.txt) Dengan Capocelli

No. Uk. File *.doc

1. 1kb 168 1,76190476190476 43,2432432432432432 296

2. 2kb 8264 1,98160696999032 49,5359062042013 16376

3. 4kb 17168 1,94734398561976 48,648001914336 33432

Tabel 4.3. Pengujian String “ABABAB” (*.txt) Dengan Inverted Elias Gamma

No. Uk. File *.doc

1. 13kb 840 0,27619047619047 -262,068965517241 232

2. 14kb 63592 0,00364825764247 -27310,3448275862 232

(74)

Tabel 4.4. Pengujian String “ABABAB” (*.doc) Dengan Capocelli

1. 13kb 1016 1,32283464566929 24,4047619047619 1344

2. 14kb 13288 1,35744202676474 26,332028,982541 106304 3. 15kb 157704 1,34246436361792 25,5101269649335 211712

Dari Tabel 4.1, Tabel 4.2, Tabel 4.3, Tabel 4.4, dapat dibuat grafik perbandingan hasil pengujian string berdasarkan variable Rc, Cr, Ss, waktu kompresi, dan waktu dekompresi seperti pada gambar 4.21, gambar 4.22, gambar 4.23, gambar 4.24, dan gambar 4.25.

(75)

Gambar 4. 11. Grafik Hasil Parameter Homogen dan Heterogen *.doc Inverted Elias

Gamma Capocelli

Compress bits 130152 157704

Uncompress bits 0 134,246,436,361,792

Cr -5600 255,101,269,649,335

Ss 232 211712

-5E+13 0 5E+13 1E+14 1.5E+14 2E+14 2.5E+14 3E+14

Compress bits

Uncompress bits

Cr

(76)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Kesimpulan yang dapat diambil dari penelitian ini adalah:

1. Aplikasi yang dirancang telah mampu melakukan kompresi dan dekompresi string dengan menggunakan algoritma Inverted Elias Gamma dan Capocelli. 2. Berdasarkan pengujian yang dilakukan dengan menggunakan String yang tidak

mengandung perulangan frase, diperoleh kesimpulan yang menunjukkan bahwa algoritma Inverted Elias Gamma lebih unggul dibandingkan algoritma Capocelli dalam melakukan proses kompresi.

3. Dalam proses dekompresi, algoritma Capocelli membutuhkan real running time yang lebih sedikit dibandingkan algoritma Invertde Elias Gamma.

5.2. Saran

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

1. Aplikasi yang di rancang diharapkan dapat mengkompresi jenis file teks lainnya seperti *.rtf dan *.pdf

2. Aplikasi yang dirancang diharapkan dapat mendeteksi apakah file tersebut mengandung frase yang berulang atau tidak.

(77)

BAB 2

TINJAUAN PUSTAKA

Pada bab ini penulis memaparkan teori-teori ilmiah yang didapat dari metode pencarian fakta yang digunakan untuk mendukung penulisan skripsi ini dan sebagai dasar pengembangan sistem sehingga dapat diimplementasikan dengan baik dan benar.

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

(78)

2.1.1.Teknik Kompresi Data

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

1. Kompresi Data Losless

Kompresi data lossless adalah teknik kompresi data dimana data yang telah dikompresi dapat dikembalikan ke data aslinya dengan tidak mengurangi informasi yang ada pada data tersebut. Dalam teknik kompresi ini, pada saat proses kompresi dihasilkan sebuah data yang berbeda dengan data aslinya. Karena setiap bit yang terdapat pada data di-encode sehingga dihasilkan bit yang baru yang lebih pendek. Data tersebut dikembalikan ke data aslinya (data sebelum dikompresi) pada saat proses dekompresi. Teknik kompresi lossless digunakan pada data yang tergolong penting sehingga tidak boleh ada banyak atau sebagian informasi yang hilang. Seperti misalnya pada file teks, jika terdapat sedikit saja perubahan pada data itu maka akan sangat mudah kelihatan.

Gambar 2.1. Kompresi Lossless (Pu, 2006)

(79)

2. Kompresi Data Lossy

Kompresi data Lossy adalah teknik kompresi data dimana data mengalami sedikit atau banyak kehilangan pada saat proses kompresi.Sama seperti data aslinya hanya saja ada perubahan kerapatan ataupun resolusi pada data tersebut. Oleh karena itu sangat kecil kemungkinan dan bahkan tidak akan pernah bisa data yang telah dikompresi dengan teknik kompresi Lossy dapat dikembalikan seperti data sebelum dikompresi atau data aslinya. Perubahan yang terjadi pada data pada saat proses kompresi tidaklah terlalu kelihatan. Teknik kompresi ini biasanya digunakan pada data berupa gambar, suara dan video. Karena pada data tersebutlah kehilangan akan informasi yang detail itu mungkin tidak dapat dirasakan oleh sistem kerja indera penglihatan dan pendengaran manusia. Contoh algoritma kompresi Lossy adalah Fractal Compression, Wavelet Compression, Wyner-Ziv Coding (WZC), dan lain-lain.

Gambar 2.2. Ilustrasi Kompresi Lossy(Sayood, 2006)

Contoh aplikasi lossy compression : aplikasi pengkompres suara (mp3 compressor),ambar (adobe photoshop, paint), video (xilisoft). Contoh format file lossy compression yaitu MP3, JPEG, MPEG

2.1.2.Pengukuran Kinerja Kompresi Data

(80)

1. Ratio of Compression (Rc)

Ratio of Compression (Rc) adalah perbandingan antara ukuran data sebelum dikompresi dengan ukuran 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.

=

100 %

3. Space Savings (SS)

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

= 100 % −

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.2. Text File

(81)

Decimal Interchange Code (EBCDIC) merupakan cikal bakal dari set karakter lainnya. 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. Format file teks yang akan digunakan dalam penelitian ini adalah :

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 adalah ukuran datanya yang kecil karena tiadanya fitur untuk memformat tampilan teks. Saat ini perangkat lunak yang paling banyak digunakan untuk memanipulasi format data ini adalah Notepad. (Pramilo, 2008)

2. Format data dokumen

(82)

2.3. Algoritma Inverted Elias Gamma

Inverted Elias Gamma adalah kebalikan dari Elias Gamma Code. Elias Gamma Code

adalah salah satu kode yang universal yang dipelopori oleh Peter Elias yang digunakan untuk encode dan decode bilangan bulat positif n bahkan dalam kasus di

mana integer terbesar yang tidak diketahui sebelumnya (Salomon, 2007). Juga, kode ini tumbuh perlahan-lahan, untuk itu baik untuk mengompresi data integer dimana jumlah bilangan bulat kecil lebih besar maka bilangan bulat besar.Adapun aturan untuk kode nomor dengan menggunakan kodeEliasGammaadalah sebagai berikut (Salomon, 2007) :

1. Menulis dalam biner.

2. Kurangi 1 dari jumlah bit yang ditulis dalam langkah 1 dan tambahkan bahwa banyak angka nol.

Ada cara yang setara dengan lengkah di atas (Salomon, 2007):

1. Pisahkan integer ke dalam kekuasaan tertinggi 2 mengandung (2N) dan N digit biner yang tersisah dari integer.

2. Encode N di unary, yaitu sebagai N nol diikuti oleh satu-satu

3. Menambahkan N digit biner yang tersisa untuk representasi ini N.

Tabel 2.1 Tabel Kode Elias Gamma (Salomon, 2007) 1 = 20 + 0 = 1 10 = 23 + 2 = 0001010

(83)

Tabel 2.2 Tabel KodeInverted Elias Gamma (Salomon, 2007)

Berikut adalah langkah-langkah untuk memecahkan kode bilangan bulat berdasarkan algoritma Elias Gamma Kode (Salomon, 2007):

1. Bacalah bit string sampai Anda mencapai pertama 1. Panggil 1 sebagai p dan menyebut jumlah ini nol dengan n.

2. Lanjutkan membaca setelah p dari n.

3. Ganti kode dengan karakter menurut tabel Elias Gamma Code.

2.4. Algoritma Capocelli

(84)

011. Secara umum codeword x. . . x0101y. . . y | 011 akan diikuti oleh x. . . x1000y. . . y | 011 bukan oleh x. . . x0110y. . . y | 011. codeword tersebut memiliki baik bentuk 0β | 011 (di mana β tidak berisi dua berturut-turut 1) atau bentuk 1γ | 011 (di mana γ tidak mengandung 011).

Misalnya, hanya 12 dari 16 prefiks 4-bit dapat digunakan oleh kode ini, karena empat prefiks 0011, 0110, 0111, dan 1011 mengandung pola 011. Secara umum, jumlah codeword panjang N + 3 di S (3, 011) adalah FN + 3 - 1. Untuk N = 4 (codeword dari 4-bit awalan dan 3-bit akhiran), jumlah codeword adalah F4 + 3 -1 = F7 - 1 = 12 (Salomon, 2007).

Tabel 2.3. Kode S ( 3 , 011 ) untuk Integer N dan Strings BS (Salomon, 2007).

2.5. Visual Basic .NET

Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa

(85)

BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line. Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET. Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework. Peluncurannya mengundang kontroversi, mengingat banyak sekali perubahan yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel dengan versi terdahulu (Leong, 2006).

VB.NET adalah salah satu bahasa pemrograman Komputer Tingkat Tinggi. Bahasa Pemrograman adalah perintah-perintah yang dimengerti oleh computer untuk melakukan tugas-tugas tertentu bahasa pemrograman VB.NET dikembangkan oleh Microsoft , Merupakan Salah Satu bahasa Pemrograman Yang Object Oriented Program(OOP) atau Pemrograman yang berorientasi pada Object. Kata “Visual” menunjukkan cara yang digunakan untuk membuat Graphical User Interface (GUI). Dengan Cara ini, kita tidak perlu lagi menuliskan instruksi pemrograman dalam kode-kode baris hanya untuk membuat sebuah Desaign Form/Aplikasi. Tetapi dengan sangat mudah yakni kita cukup melakukan Drag and drop object-object yang akan kita gunakan. VB.Net dapat kita jadikan alat bantu untuk membuat berbagai macam program computer (Leong, 2006).

2.6. Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah sebuah “bahasa” yang telah menjadistandar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem (Yasin, 2012).

(86)

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 syntaxmendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady BoochOOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). (Yasin, 2012) 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 pekerjaanpekerjaan

tertentu.(Yasin, 2012)

2. Activity Diagram

(87)

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 dimensihorizontal (objek-objek yang terkait). Sequence diagram 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, message, specification execution(Yasin, 2012).

4. Class Diagram

(88)

BAB 1

PENDAHULUAN

1.1.Latar Belakang

Kompresi data (pemampatan data) merupakan suatu teknik untuk memperkecil jumlah ukuran data (hasil kompresi) dari data aslinya. Pemampatan data umumnya diterapkan pada mesin komputer, hal ini dilakukan karena setiap simbol yang dimunculkan pada komputer memiliki nilai bit-bit yang berbeda. Pemampatan data digunakan untuk mengurangkan jumlah bitbit yang dihasilkan dari setiap simbol yang muncul. Dengan pemampatan ini diharapkan dapat mengurangi (memperkecil ukuran data) dalam ruang penyimpanan. Pengkodean dengan metode Inverted Elias Gamma dibangun dari panjang variabel kode-kode yang disusun dari bit-bit. Simbol dengan probabilitas yang tinggi akan memperoleh kode-kode paling pendek sedangkan simbol dengan probabilitas paling rendah akan memproleh kode terpanjang.

Apabila ukuran data dapat dikompres menjadi lebih kecil dari ukuran aslinya, maka secara otomatis memory dapat menyimpan data lebih banyak lagi dan dari segi pengiriman pun akan semakin cepat. Pada saat ini banyak sekali perangkat lunak yang digunakan untuk menangani masalah kompresi data. Perangkat lunak tersebut digunakan untuk mengefisienkan kapasitas penyimpanan data,selain itu juga kompresi data dapat mencegah kerusakan data.

(89)

Judul skripsi tersebut adalah PERBANDINGAN KINERJA ALGORITMA INVERTED ELIAS GAMMA DAN CAPOCELLI CODE.

1.2.Rumusan Masalah

Rumusan masalah yang akan dibahas pada penelitian tugas akhir ini adalah :

1. Membandingkan kinerja dari algoritma Inverted Elias Gamma dan Capocelli Code berdasarkan parameter rasio(Rc, Cr), Space Savings (Ss), Redundancy data (Rd), waktu kompresi dan dekompresi.

2. Memperkecil size data pada file teks melalui proses kompresi dengan menerapkan algoritma Inverted Elias Gamma dan algoritma Capocelli Code.

1.3.Batasan Masalah

Batasan masalah yang dibutuhkan dalam pembuatan tugas akhir ini adalah :

1. Parameter yang digunakan dalam perbandingan metode ini adalah parameter rasio (Rc, Cr), Space savings (Ss), Redundancy data (Rd), waktu yang dibutuhkan selama proses kompresi dan dekompresi.

2. Input yang digunakan dalam aplikasi ini hanyalah String yang terdapat dalam File doc (*.doc) antara lain: huruf, angka, simbol, baris baru, tab, spasi, dan karakter lain yang dapat ditampilkan di layar dalam bentuk String dan terdapat pada Tabel ASCII 256 karakter. Komponen lain seperti Tabel atau Gambar yang terdapat di dalam Text File maupun dokumen yang digunakan akan diabaikan 3. Bahasa pemograman yang di gunakan adalah Visual Basic.Net dan Microsoft

(90)

1.4.Tujuan Penelitian

Tujuan dari penelitian ini adalah :

1. Mengetahui hasil perbandingan dari algoritma Inverted Elias Gamma dan Capocelli Code berdasarkan parameter rasio(Rc, Cr), Space Savings (Ss), waktu kompresi, dan waktu dekompresi.

2. Membuat aplikasi yang mampu melakukan proses kompresi dan dekompresi file teks dan menampilkan hasil perbandingan dari metode kompresi yang penulis gunakan.

1.5. Manfaat Penelitian

Manfaat yang diharapkan dari penelitian ini antara lain:

1. Untuk mengetahui algoritma kompresi yang lebih baik diantara algoritma Elias Delta Code dengan Capocelli Code pada kompresi loseless.

2. Memperluas kapasitas penyimpanan data yang digunakan dengan mengurangi ukuran data yang akan disimpan

1.6. Sistematika Penulisan

Sistematika dalam penulisan skripsi ini disusun menjadi beberapa bab, diantaranya yaitu:

BAB 1: PENDAHULUAN

Bab ini berisi mengenai latar belakang masalah, rumusan masalah, batasan masalah, tujuan & manfaat dari penelitian, metode penelitian dan sistematika penulisan.

BAB 2: LANDASAN TEORI

(91)

BAB 3: PERBANDINGAN DAN PERANCANGAN SISTEM

Bab ini terdiri dari tahap analisis sistem dan desain/model perancangan dari program yang akan dibuat, dalam hal ini termasuk juga algoritma dari program tersebut.

BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi mengenai implementasi dan pengujian dari program yang sebelumnya telah dirancang dan dianalisis sistemnya.

BAB 5: KESIMPULAN DAN SARAN

(92)

ABSTRAK

Ukuran data yang besar mengakibatkan lambatnya proses pemindahan data dan pemborosan pada memory. Kompresi bertujuan untuk mengurangi ukuran data tersebut menjadi sekecil mungkin. Pemampatan data digunakan untuk mengurangkan jumlah bit yang dihasilkan dari setiap simbol yang muncul. Penelitian ini bertujuan untuk mengetahui kinerja antara algoritma Inverted Elias Gamma dan algoritma Capocelli yang mana akan diukur kinerjanya dengan rasio pembanding adalahCompression Ratio (CR), Ratio of Compression (RC), Redundancy (RD),waktu kompresi (sekon) dan waktu dekompresi (sekon) pada file teks.Algoritma Elias Gamma Code yang bekerja berdasarkan teknik pengkodean bilangan bulat menjadi bentuk biner yang lebih sederhana. Input yang digunakan dalam aplikasi ini hanyalah String yang terdapat dalam File doc(*.doc)antara lain: huruf, angka, simbol, baris baru, tab, spasi, dan karakter lain yang dapat ditampilkan di layar dalam bentuk String dan terdapat pada Tabel ASCII 256 karakter. Keluaran dari hasil dekompresi adalah sebuah file asli yang disimpan dengan ekstensi file *.doc

(93)

THE COMPARISON OF ALGORITHM PERFORMANCE OF

INVERTED ELIAS GAMMA AND CAPOCELLI IN

TEXT FILE COMPRESSION

ABSTRACT

Large data sizes result in slow data transfer process and waste the memory. Compression aims to reduce the data size as small as possible. Data compression is used to reduce the number of bits generated from each symbol appears. This study aims to determine the performance of the algorithm Inverted Elias Gamma and algorithms Capocelli which will be performances measured by the ratio of the comparison is the Compression Ratio (CR), Ratio of Compression (RC), Redundancy (RD), the compression time (second) and the decompression time ( second) in a text file. Elias Gamma Code algorithm that works by encoding technique integers into a binary form that is much simpler. Inputs used in this application is only String contained in doc files (* .doc), among others: letters, numbers, symbols, new lines, tabs, spaces, and other characters that can be displayed on the screen in the form of string and contained in the ASCII table 256 characters. The output of the decompression is an original file stored with the file extension * .doc

(94)

PERBANDINGAN KINERJA ALGORITMA KOMPRESI INVERTED

ELIAS GAMMA DAN CAPOCELLI CODE PADA FILE TEKS

SKRIPSI

OGIANA 141421115

PROGRAM STUDI S1 ILMU KOMPUTER EKSTENSI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN

(95)

PERBANDINGAN KINERJA ALGORITMA KOMPRESI INVERTED ELIAS GAMMA DAN CAPOCELLI PADA FILE TEKS

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah SarjanaIlmuKomputer

OGIANA 141421115

PROGRAM STUDI S1 ILMU KOMPUTER EKSTENSI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN

(96)

ABSTRAK

Ukuran data yang besar mengakibatkan lambatnya proses pemindahan data dan pemborosan pada memory. Kompresi bertujuan untuk mengurangi ukuran data tersebut menjadi sekecil mungkin. Pemampatan data digunakan untuk mengurangkan jumlah bit yang dihasilkan dari setiap simbol yang muncul. Penelitian ini bertujuan untuk mengetahui kinerja antara algoritma Inverted Elias Gamma dan algoritma Capocelli yang mana akan diukur kinerjanya dengan rasio pembanding adalahCompression Ratio (CR), Ratio of Compression (RC), Redundancy (RD),waktu kompresi (sekon) dan waktu dekompresi (sekon) pada file teks.Algoritma Elias Gamma Code yang bekerja berdasarkan teknik pengkodean bilangan bulat menjadi bentuk biner yang lebih sederhana. Input yang digunakan dalam aplikasi ini hanyalah String yang terdapat dalam File doc(*.doc)antara lain: huruf, angka, simbol, baris baru, tab, spasi, dan karakter lain yang dapat ditampilkan di layar dalam bentuk String dan terdapat pada Tabel ASCII 256 karakter. Keluaran dari hasil dekompresi adalah sebuah file asli yang disimpan dengan ekstensi file *.doc

(97)

THE COMPARISON OF ALGORITHM PERFORMANCE OF

INVERTED ELIAS GAMMA AND CAPOCELLI IN

TEXT FILE COMPRESSION

ABSTRACT

Large data sizes result in slow data transfer process and waste the memory. Compression aims to reduce the data size as small as possible. Data compression is used to reduce the number of bits generated from each symbol appears. This study aims to determine the performance of the algorithm Inverted Elias Gamma and algorithms Capocelli which will be performances measured by the ratio of the comparison is the Compression Ratio (CR), Ratio of Compression (RC), Redundancy (RD), the compression time (second) and the decompression time ( second) in a text file. Elias Gamma Code algorithm that works by encoding technique integers into a binary form that is much simpler. Inputs used in this application is only String contained in doc files (* .doc), among others: letters, numbers, symbols, new lines, tabs, spaces, and other characters that can be displayed on the screen in the form of string and contained in the ASCII table 256 characters. The output of the decompression is an original file stored with the file extension * .doc

(98)
(99)

3.1.1. Identifikasi Masalah ...16

3.1.2. Analisis Kebutuhan Sistem ...17

3.1.2.1. Kebutuhan Fungsional ...18

3.1.2.2. Kebutuhan Non-Fungsional ...18

3.1.3. Analisis Proses ...19

3.1.3.1. Analisis Proses Kompresi File Teks dengan Metode Inverted Elias Gamma ...20

3.1.3.2. Analisis Proses Kompresi File Teks dengan Metode Capocelli ...23

(100)

BAB 5 KESIMPULAN DAN SARAN

(101)

DAFTAR TABEL

Halaman

Tabel 2.1. Tabel Kode Elias Gamma...10

Tabel 2.2. Tabel Kode InvertedElias Gamma...11

Tabel 2.3. Kode (3, D11) Untuk Integer N12 dan Strings BS...19

Tabel 3.1. String yang belum di kompresi ...20

Tabel 3.2. String yang sudah di kompresi...22

Tabel 3.3. String yang belum di kompresi...23

Tabel 3.4.String yang sudah di kompresi Algoritma Capocelli...24

Tabel 4.1. Pengujian String “AAAAAA” (*.txt) dengan Inverted Elias Gamma...52

Tabel 4.2. Pengujian String “AAAAAA” (*.doc) dengan Capocelli...52

Tabel 4.3. Pengujian String “ABABAB” (*.txt) dengan Inverted Elias Gamma...52

(102)

DAFTAR GAMBAR

Halaman

Gambar 2.1. Kompresi Lossles...6

Gambar 2.2. Ilustrasi Kompresi Lossy...7

Gambar 3.1. Diagram Ishikawa Analisis Masalah ...17

Gambar 3.2. Gambar Diagram Use Case...29

Gambar 3.3. Gambar Diagram Activity Buka File Teks...31

Gambar 3.4. Gambar Diagram Activity Simpan File Terkompresi...31

Gambar 3.5. Gambar Diagram Activity Pengkodean Algoritma...32

Gambar3.6. Gambar Diagram Activity Buka File Dekompresi...33

Gambar3.7. Gambar Diagram Activity Simpan Dekompresi ...33

Gambar3.8. Gambar Diagram Activity Pengkodean Dekompresi ...34

Gambar3.9.Gambar Diagram Sequence Proses Kompresi ...36

Gambar3.10.Gambar Diagram Sequence Proses Dekompresi ...37

Gambar3.11.Gambar Flowchart Secara Umum Menggunakan Algoritma Inverted Elias Gamma...38

Gambar3.12.Gambar Flowchart SistemSecara Umum Menggunakan Algoritma Capocelli...39

(103)

Gambar4.5.Gambar Tampilan Setelah Input File...49

Gambar4.6.Gambar Tampilan Hasil Parameter Pada Proses Kompresi Pada Menit pertama...50

Gambar4.7.Gambar Tampilan Hasil Parameter Pada Proses Kompresi Pada Menit berikutnya...50

Gambar4.8.Gambar Tampilan Proses Decompression...51

Gambar4.9.Gambar Tampilan Hasil Dari Proses Decompression...51

Gambar4.10. Grafik Hasil Parameter Homogen dan Heterogen *.txt...53

Gambar

Gambar 3.1. Diagram Ishikawa Analisis Masalah
Tabel 3.1 String yang belum di kompresi
Tabel 3.2 String yang sudah dikompresi
Tabel 3.3 String yang belum di kompresi
+7

Referensi

Dokumen terkait

Penelitian ini mengangkat masalah submodul (A,B)-invarian dan submodul ketercapaian yang muncul dari suatu masalah dalam teori sistem linear atas daerah ideal utama (d.i.u) yang

bahwa berdasarkan pertimbangan sebagaimana dimaksud dalam huruf a, perlu menetapkan Keputusan Bupati Bantul tentang Perubahan Atas Keputusan Bupati Bantul Nomor

Microsoft Power Point akan membantu sebuah gagasan menjadi lebih menarik dan jelas tujuannya jika dipresentasikan karena Microsoft Power Point akan membantu dalam pembuatan

Teknologi Mekanik, Mekanika Teknik dan Elemen Mesin 144 C3.. Teknik Mekanik Mesin

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

bahwa berdasarkan pertimbangan sebagaimana dimaksud dalam huruf a, perlu menetapkan Keputusan Bupati Bantul tentang Pembentukan Forum Kelompok Kerja Operasional Desa

Badan adalah sekumpulan orang danatau modal yang merupakan kesatuan, baik yang melakukan usaha maupun yang tidak melakukan usaha yang meliputi perseroan

Sebelumnya pada pasal 6 ayat 2 dinyatakan bahwa “Guru yang belum memperoleh nilai sebagaimana dimaksud dalam Pasal 5 ayat (4) dapat mengikuti Ujian Ulang PLPG paling banyak 4