• Tidak ada hasil yang ditemukan

Bab 3 Analisis dan Perancangan Sistem

3.5. Perancangan Antarmuka

3.5.5. Form About

Berisikan informasi mengenai informasi pembuatan di dalam sistem. Form Tentang pada aplikasi dapat dilihat pada Gambar 3.14.

Gambar 3.14 Form About pada Sistem

Komponen yang digunakanuntuk perancanganinterfaceHalaman Tentang berdasarkan Gambar 3.14. adalah sebagai berikut:

1. Tool Strip Menu : digunakan untuk memilih menu Home

2. Tool Strip Menu : digunakan untuk memilih menu Compression 3. Tool Strip Menu : digunakan untuk memilih menu Decompression 4. Tool Strip Menu : digunakan untuk memilih menu Help

5. Tool Strip Menu : digunakan untuk memilih menu About

6. Label : berfungsi untuk menampilkan teks berisi judul dari sistem yang telah dibuat.

7. Group Box : berfungsi untuk mengelompokkan Button dan TextBox

dalam sistem.

8. Label : berfungsi untuk menampilkan teks berisi judul dari sistem yang telah dibuat.

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1. Implementasi Algoritma

4.1.1. Implementasi Algoritma Boldi-Vigna ζ1 Code

Proses analisis kompresi file teks dengan menggunakan algoritma Boldi-Vigna ζ1 Code. Di bawah ini adalah contoh proses kompresi file teks dengan menggunakan algoritma Boldi-Vigna ζ1 Code. Terdapat file teks yang berisikan string “KUTU BUKU BACA BUKU KALKULUS”. Dapat dilihat pada Tabel 4.1 untuk mengukur string itu di dalam komputer.

Tabel 4.1 Ukuran String Sebelum Dikompresi Karakter ASCII

Code

ASCII Code (Binary)

Freq Bit Freq*Bit

K 75 01001011 5 8 40

U 85 01010101 8 8 64

T 84 01010100 1 8 8

Sp 32 00100000 4 8 32

B 66 01000010 3 8 24

A 65 01000001 3 8 24

C 67 01000011 1 8 8

L 76 01001100 2 8 16

S 83 01010011 1 8 8

Jumlah Bit 224 Bit

Berdasarkan kode ASCII, satu karakter bernilai delapan bit bilangan biner. Sehingga 28 karakter pada string mempunyai nilai biner sebanyak 224 bit. Sebelum melakukan proses kompresi, karakter terlebih dahulu diurutkan dari frekuensi terbesar ke yang terkecil. Proses kompresi untuk algoritma Boldi-Vigna ζ1 Code dapat dilihat pada tabel 4.2.

Tabel 4.2 Ukuran String Setelah Dikompresi Dengan Boldi-Vigna ζ1 Code N Σ Freq Boldi-Vigna ζ1 Code Bit Freq*Bit

1 U 8 1 1 8

2 K 5 010 3 15

3 Sp 4 011 3 12

4 B 3 00100 5 15

5 A 3 00101 5 15

6 L 2 00110 5 10

7 T 1 00111 5 5

8 C 1 0001000 7 7

9 S 1 0001001 7 7

Jumlah Bit 94 Bit

Berdasarkan tabel diatas, maka didapat string bit sebelum dikompresi yaitu

“01010011110110010010101011001000010100010000010101100100101010110100 01010011001010011010001001” dengan uraian sebagai berikut:

K U T U Sp

010 1 00111 1 011

B U K U Sp

00100 1 010 1 011

B A C A Sp

00100 00101 0001000 00101 011

B U K U Sp

00100 1 010 1 011

K A L K

010 00101 00110 010

U L U S

1 00110 1 0001001

Sebelum ditulis ke sebuah file hasil kompresi dilakukan penambahan bit-bit padding dan flag bits diawal dan diakhir string bit sehingga panjang string bit bisa habis dibagi delapan. Karena jumlah string adalah 94 bit, tentu tidak habis dibagi delapan dan sisanya adalah 6. Sehingga dibutuhkan bit 0 sebanyak 2 kali, maka padding adalah “00”

dan flag bits-nya adalah bilangan biner dari 4 yaitu “00000010”.

Diperoleh:

String bit hasil kompresi =

010100111101100100101010110010000101000100000101011001001010101101000 10100110010100110100010010000000010

Total bit seluruhnya adalah penambahan padding dan flag adalah 94+2+8 = 104.

Dari hasil kompresi dengan algoritma Boldi-Vigna ζ1 Code di atas dapat dihitung

a. Compression Ratio

𝐶𝑅 = 𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝐶𝑅 =104

224 𝐶𝑅 = 0,4643 b. Bitrate

𝐵𝑖𝑡𝑟𝑎𝑡𝑒 =𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑗𝑢𝑚𝑙𝑎ℎ ℎ 𝑘𝑎𝑟𝑎𝑘𝑡𝑒𝑟 𝑢𝑛𝑖𝑘 𝑡𝑒𝑘𝑠 𝐵𝑖𝑡𝑟𝑎𝑡𝑒 =104

9

𝐵𝑖𝑡𝑟𝑎𝑡𝑒 = 11 𝑏𝑖𝑡𝑠 𝑠𝑦𝑚𝑏𝑜𝑙 c. Space Savings (SS)

𝑆𝑆 = (𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 − 𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖

𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 ) × 100%

𝑆𝑆 = (224 − 104

224 ) × 100%

𝑆𝑆 = 53.57%

4.1.2. Implementasi Algoritma Even-Rodeh Code

Proses analisis kompresi file teks dengan menggunakan algoritma Even-Rodeh Code. Di bawah ini adalah contoh proses kompresi file teks dengan menggunakan algoritma Even-Rodeh Code. Terdapat file teks yang berisikan string “KUTU BUKU BACA BUKU KALKULUS”. Dapat dilihat pada Tabel 4.1. untuk mengukur string itu di dalam komputer.

Berdasarkan kode ASCII, satu karakter bernilai delapan bit bilangan biner.

Sehingga 28 karakter pada string mempunyai nilai biner sebanyak 224 bit. Sebelum melakukan proses kompresi, karakter terlebih dahulu diurutkan dari frekuensi terbesar ke yang terkecil. Proses kompresi untuk algoritma Even-Rodeh Code dapat dilihat pada tabel 4.3.

Tabel 4.3 Ukuran String Setelah Dikompresi Dengan Even-Rodeh Code

N Σ Freq Even-Rodeh Code Bit Freq*Bit

0 U 8 000 3 24

1 K 5 001 3 15

2 Sp 4 010 3 12

3 B 3 011 3 9

4 A 3 1000 4 12

5 L 2 1010 4 8

6 T 1 1100 4 4

7 C 1 1110 4 4

8 S 1 10010000 8 8

Jumlah Bit 96 Bit

Berdasarkan tabel diatas, maka didapat string bit sebelum dikompresi yaitu

“00100011000000100110000010000100111000111010000100110000010000100011 0001010001000101000010010000” dengan uraian sebagai berikut:

K U T U Sp

001 000 1100 000 010

B U K U Sp

011 000 001 000 010

B A C A Sp

011 1000 1110 1000 010

B U K U Sp

011 000 001 000 010

K A L K

001 1000 1010 001

U L U S

000 1010 000 10010000

Sebelum ditulis ke sebuah file hasil kompresi dilakukan penambahan bit-bit padding dan flag bits diawal dan diakhir string bit sehingga panjang string bit bisa habis dibagi delapan. Karena jumlah string adalah 96 bit, tentu habis dibagi delapan. Sehingga tidak diperlukan untuk menambahkan padding bit 0 dan flag bits-nya adalah bilangan biner dari 0 yaitu “00000000”.

Diperoleh:

String bit hasil kompresi =

001000110000001001100000100001001110001110100001001100000100001000110 00101000100010100001001000000000000

Total bit seluruhnya adalah penambahan padding dan flag adalah 96+8 = 104.

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

a. Compression Ratio

𝐶𝑅 = 𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝐶𝑅 =104

224 𝐶𝑅 = 0,4643

b. Bitrate

𝐵𝑖𝑡𝑟𝑎𝑡𝑒 =𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖

𝑗𝑢𝑚𝑙𝑎ℎ ℎ 𝑘𝑎𝑟𝑎𝑘𝑡𝑒𝑟 𝑢𝑛𝑖𝑘 𝑡𝑒𝑘𝑠 × 100%

𝐵𝑖𝑡𝑟𝑎𝑡𝑒 =104 9

𝐵𝑖𝑡𝑟𝑎𝑡𝑒 = 11 𝑏𝑖𝑡𝑠 𝑠𝑦𝑚𝑏𝑜𝑙 c. Space Savings (SS)

𝑆𝑆 = (𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 − 𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖

𝑢𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 ) × 100%

𝑆𝑆 = (224 − 104

224 ) × 100%

𝑆𝑆 = 53.57%

4.2. Implementasi Sistem

Pada tahap ini sistem dibangun menggunakan bahasa pemrograman C# dan menggunakan aplikasi Sharp Develop 5.1, pada proses membangun sistem ini akan dibagi lima form dalam bahasa C# di antaranya ada form Beranda, Tab Kompresi, Tab Dekompresi, Tab Bantuan dan Tab Tentang.

4.2.1. Form Home

Form home adalah tampilan pertama kali muncul saat aplikasi dijalankan. Form home dapat dilihat pada Gambar 4.1.

Gambar 4.1 Tampilan Halaman Awal Form Home

4.2.2. Form Compression

Form compression adalah Tab yang menampilkan proses kompresi. Tampilan form compression dapat dilihat pada Gambar 4.2. Ada beberapa fungsi dari interface form compression di bawah ini :

1. Button Open berfungsi untuk memanggil atau menampilkan lokasi file yang akan di kompresi.

2. Text Box merupakan informasi tempat pengambilan dari file yang akan dikompresi.

3. Rich Text Box untuk menampilkan isi file yang telah di panggil dari direktori.

4. Group Box digunakan untuk mengelompokkan Rich Text Box yang berfungsi untuk menampilkan file teks yang telah dipanggil.

5. Button Kompresi berfungsi sebagai tombol perintah untuk mengkompresi file text.

6. Radio Button digunakan untuk menentukan inputan metode atau algoritma apa yang akan digunakan.

7. Group Box informasi digunakan untuk mengelompokkan setiap Label dan Text Box yang berfungsi untuk menampilkan hasil dari Compression Ratio (CR), Bitrate, Space Saving dan Waktu Kompresi pada saat proses kompresi bejalan.

8. Tombol Button Reset berfungsi untuk menghapus hasil dari tampilan file teks yang telah dipanggil, menghapus karakter unik dari hasil kompresi, menghapus informasi parameter tanpa menghapus file terkompresi yang sudah disimpan.

Gambar 4.2 Tampilan Form Compression 4.2.3. Form Decompression

Form Decompression adalah form yang digunakan untuk melakukan proses dekompresi. Tampilan form decompression dapat dilihat pada Gambar 4.3. Ada beberapa fungsi interface di form decompression dibawah ini:

1. Tombol Button open berfungsi untuk memanggil atau menampilkan lokasi file yang sudah dikompresi.

2. Group Box Hasil digunakan untuk mengelompokkan Rich Text Box yang berfungsi untuk menampilkan simbol unik hasil dari kompresi.

3. Tombol Button decompress adalah tombol perintah untuk mendekompresi file teks (simbol unik) yang sudah dikompresi terlebih dahulu, sehingga yang muncul tidak lagi simbol unik melainkan file teks sebelum dikompresi.

4. Group Box Informasi digunakan untuk mengelompokkan setiap Label, Rich Text Box, dan Text Box yang berfungsi untuk menampilkan waktu dan hasil dari dekompresi.

5. Tombol Button Reset berfungsi untuk menghapus hasil dari tampilan file teks yang telah dipanggil, menghapus karakter unik dari hasil kompresi, menghapus informasi waktu dan hasil dekompresi.

Gambar 4.3 Tampilan Form Decompression

4.2.4. Form Help

Form Help berfungsi sebagai informasi tentang cara pengoperasian sistem yang dibuat

Gambar 4.4 Tampilan Form Help

4.2.5. Form About

Form About adalah form yang digunakan hanya untuk menampilkan informasi sistem yang dibuat dan informasi tentang penulis.

Gambar 4.5 Tampilan Form About 4.3. Pengujian Sistem

Tahap ini merupakan proses mengidentifikasi hasil dari implementasi sistem apakah sistem telah berjalan sesuai dengan fungsi yang sebelumnya telah ditentukan pada tahap analisis dan perancangan sistem. Tahap pengujian sistem ini dilakukan pada file teks dengan format *.txt. Proses utama dari sistem ini adalah proses pengujian kompresi dan proses pengujian dekompresi.

4.3.1. Pengujian Proses Kompresi

Tahap awal untuk melakukan proses kompresi adalalah menekan Tab Kompresi. Ketika tampilan form kompresi muncul selanjutnya lakukan langkah-langkah berikut ini untuk melakukan kompresi :

1. Klik tombol Buka untuk membuka File Dialog, dan pilih file teks (*.txt) sebagai file yang akan dikompresi.

2. Setelah dipilih file yang akan dikompresi, isi file yang dipilih akan muncul di Rich Text Box yang berada di dalam Group Box File Teks.

3. Klik tombol Compress untuk melakukan proses kompresi, otomatis akan ditampilkan jumlah bit awal sebelum terkompresi, jumlah bit terkompresi, dari Algoritma Boldi-Vigna ζ1 Code dan Algoritma Even-Rodeh Code yang akan muncul di Text Box.

4. Klik tombol Reset apabila user akan mengulangi proses kompresi, dan tampilan data hasil file yang telah terkompresi akan terhapus.

Gambar 4.6 Tampilan Proses Kompresi

Dari Gambar 4.6. Pada saat proses kompresi, akan ditampilkan secara otomatis jumlah bit awal sebelum terkompresi, jumlah bit terkompresi dan parameter dari Algoritma Even-Rodeh Code dan Algoritma Boldi-Vigna ζ1 Code yang akan muncul di Text Box.

Gambar 4.7 Tampilan Kotak Dialog Save File Pada Proses Kompresi Gambar 4.7 adalah kotak dialog untuk menentukan direktori dan menyimpan file yang telah terkompresi.

Gambar 4.8 Proses Kompresi Setelah Di Atur Ulang

Gambar 4.8 adalah form untuk mengulangi proses kompresi, apabila user mengklik tomol atur ulang maka semua hasil kompresi yang di tampilkan pada Gambar 4.7 akan terhapus.

4.3.2. Pengujian Proses Dekompresi

Tahap awal untuk melakukan proses dekompresi adalah menekan Tab Dekompresi. Ketika tampilan form Dekompresi muncul, selanjutnya lakukan langkah-langkah berikut ini untuk melakukan proses dekompresi :

1. Klik tombol Buka untuk menampilkan lokasi kotak dialog, dan pilih file hasil kompresi (*.bvc atau *.erc) sebagai masukan. Setelah dipilih file hasil kompresi, akan muncul hasil kompresi di Rich Text Box.

2. Klik tombol Dekompresi untuk melakukan proses dekompresi.

Klik tombol Buka untuk menampilkan lokasi kotak dialog, dan pilih file hasil kompresi (*.bvc atau *.erc) sebagai masukan. Setelah dipilih file hasil kompresi, akan muncul hasil kompresi di Rich Text Box di dalam Group Box Hasil Kompresi.

Gambar 4.9 Tampilan Menu Dekompresi

Gambar 4.10 Tampilan Kotak Dialog Save File Pada Proses Dekompresi Gambar 4.10 adalah kotak dialog untuk menentukan direktori dan menyimpan file yang telah didekompresi.

Gambar 4.11 Proses Dekompresi

Gambar 4.11 adalah tampilan proses dekompresi dari file hasil kompresi dari file teks yang telah kita pilih sebelumnya..

4.3.3. Hasil Pengujian

Dari hasil pengujian penelitian ini adalah proses kompresi dan dekompresi yang telah dilakukan terhadap string dengan dua jenis yang berbeda, yaitu string dengan karakter yang sama (String Homogen) dan string yang terdiri dari beberapa jenis karakter yang berbeda (String Heterogen). File yang akan digunakan untuk String Heterogen dan String Homogen terdapat pada Tabel 4.4 dan Tabel 4.5.

Tabel 4.4 File Berisi String Homogen

Frekuensi Karakter String Homogen

1 G

10 GGGGGGGGGG

100 GGGGGGGGGGGGGGGGGGGGGGGGGGGGG

GGGGGGGGG…G

1000

GGGGGGGGGGGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGGGGGGGGGGG GGGGG…G

10000

GGGGGGGGGGGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGGGGGGGGGGG GGGGG…G

Tabel 4.5 File Berisi String Heterogen

Frekuensi Karakter

Jenis Karakter

String Heterogen

1 1 0

10 10 012345ABCDE

100 10

012345ABCDE012345ABCDE012345ABCDE 012345ABCDE012345ABCDE012345ABCDE 012345ABCDE012345ABCDE012345ABCDE 012345ABCDE

1000 10

012345ABCDE012345ABCDE012345ABCDE 012345ABCDE012345ABCDE012345ABCDE 012345ABCDE012345ABCDE012345ABCDE 012345ABCDE012345ABCDE….ABCDE

10000 10

012345ABCDE012345ABCDE012345ABCDE 012345ABCDE012345ABCDE012345ABCDE 012345ABCDE012345ABCDE012345ABCDE 012345ABCDE012345ABCDE012345ABCDE 012345ABCDE ….ABCDE

4.3.4. Pengujian String Homogen

Hasil dari uji String Homogen yang dilakukan oleh algoritma Boldi-Vigna ζ1

Code dan algoritma Even-Rodeh Code dapat dilihat pada Tabel 4.6 dan Tabel 4.7.

Tabel 4.6 Hasil Pengujian String Homogen dengan Boldi-Vigna ζ1 Code

String Homogen Boldi-Vigna ζ1 Code

Jumlah

Tabel 4.7 Hasil Pengujian String Homogen dengan Even-Rodeh Code

String Homogen Even-Rodeh Code

Jumlah

Dari hasil pengujian Tabel 4.6 dan Tabel 4.7 dapat dibuat grafik perbandingan hasil pengujian String Homogen algoritma Boldi-Vigna ζ1 Code dan algoritma Even-Rodeh Code berdasarkan variabel: Compression Ratio (CR), Bitrate, Space Saving, Waktu Kompresi, dan Waktu Dekompresi seperti pada Gambar 4.12, Gambar 4.13, Gambar 4.14, Gambar 4.15, dan Gambar 4.16.

Gambar 4.12 Grafik Compression Ratio terhadap String Homogen

Dari Gambar 4.12. Grafik Compression Ratio dapat disimpulkan bahwa algoritma Even-Rodeh Code lebih efisien dalam hal Compression Ratio. Jika algoritma yang memiliki nilai CR lebih besar maka algoritma tersebut lebih baik untuk digunakan dalam proses kompresi file dengan jumlah karakter yang sangat besar dengan string yang sama (homogen).

0 0.5 1 1.5 2 2.5

1 10 100 1000 10000

Compression Ratio

Panjang String

Grafik Compression Ratio terhadap String Homogen

Boldi-Vigna ζ1 Code Even-Rodeh Code

Gambar 4.13 Grafik Bitrate terhadap String Homogen

Dari Gambar 4.13 Grafik Bitrate dapat disimpulkan bahwa algoritma Boldi-Vigna ζ1

Code lebih efisien dalam segi Bitrate dibandingkan dengan algoritma Even-Rodeh Code. Hal ini dikarenakan nilai Bitrate yang dimiliki oleh algoritma Boldi-Vigna ζ1

Code lebih rendah.

Gambar 4.14 Grafik Space Savings terhadap String Homogen

0

1 10 100 1000 10000

Bitrate

Panjang String

Grafik Bitrate terhadap String Homogen

Boldi-Vigna ζ1 Code Even-Rodeh Code

-150

1 10 100 1000 10000

Space Savings

Panjang String

Grafik Penghematan Ruang Penyimpanan (Space Savings) terhadap String Homogen

Boldi-Vigna ζ1 Code Even-Rodeh Code

Dari Gambar 4.14. Grafik Space Savings dapat disimpulkan bahwah algoritma Boldi-Vigna ζ1 Code lebih baik dan efisien dalam melakukan Space Savings (penghematan ruang) dalam proses kompresi file dengan jumlah karakter yang besar dengan string yang sama (homogen).

Gambar 4.15 Grafik Waktu Kompresi terhadap String Homogen

Dari Gambar 4.15. Grafik Waktu Kompresi dapat disimpulkan bahwa algoritma Boldi-Vigna ζ1 Code tidak memerlukan waktu yang lebih lama untuk melakukan proses kompresi file. Sedangkan algoritma Even-Rodeh Code memerlukan waktu yang lama untuk melakukan proses kompresi file teks dengan string yang sama (homogen).

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

1 10 100 1000 10000

Waktu Kompresi

Panjang String

Grafik Waktu Kompresi terhadap String Homogen

Boldi-Vigna ζ1 Code Even-Rodeh Code

Gambar 4.16 Grafik Waktu Dekompresi terhadap String Homogen Dari Gambar 4.16. Grafik Waktu Dekompresi dapat disimpulkan bahwa algoritma Boldi-Vigna ζ1 Code relatif lebih lama sedangkan algoritma Even-Rodeh Code relatif lebih cepat, akan tetapi ke dua algoritma baik dan efisien untuk melakukan kompresi file teks dengan string yang sama (homogen) di karenakan ujung garis grafik kedua algoritma sejajar.

4.3.5. Pengujian String Heterogen

Hasil dari uji String Heterogen yang dilakukan oleh algoritma Boldi-Vigna ζ1

Code dan algoritma Even-Rodeh Code dapat dilihat pada Tabel 4.8 dan Tabel 4.9.

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04

1 10 100 1000 10000

Waktu Dekompresi

Panjang String

Grafik Waktu Dekompresi terhadap String Homogen

Boldi-Vigna ζ1 Code Even-Rodeh Code

Tabel 4.8 Hasil Pengujian String Heterogen dengan Boldi-Vigna ζ1 Code

String Heterogen Boldi-Vigna ζ1 Code

Jumlah

Tabel 4.9 Hasil Pengujian String Heterogen dengan Even-Rodeh Code

String Heterogen Even-Rodeh Code

Jumlah

Dari hasil pengujian Tabel 4.8 dan Tabel 4.9 dapat dibuat grafik perbandingan hasil pengujian String Homogen algoritma Boldi-Vigna ζ1 Code dan algoritma Even-Rodeh Code berdasarkan variabel Compression Ratio (CR), Bitrate, Space Saving, Waktu Kompresi, dan Waktu Dekompresi seperti pada Gambar 4.17, Gambar 4.18, Gambar 4.19, Gambar 4.20 dan Gambar 4.21.

Gambar 4.17 Grafik Compression Ratio terhadap String Heterogen

Dari Gambar 4.17. Grafik Compression Ratio dapat disimpulkan bahwa algoritma Even-Rodeh Code lebih efisien dalam hal Compression Ratio. Hal ini dikarenakan jika sebuah algoritma yang memiliki nilai CR lebih besar maka algoritma tersebut lebih baik untuk digunakan dalam proses kompresi file dengan jumlah karakter yang sangat besar dengan string yang berbeda (heterogen).

0 0.5 1 1.5 2 2.5

1 10 100 1000 10000

Compression Ratio

Panjang String

Grafik Compression Ratio terhadap string heterogen

Boldi-Vigna ζ1 Code Even-Rodeh Code

Gambar 4.18 Grafik Bitrate terhadap String Heterogen

Dari Gambar 4.18 Grafik Bitrate dapat disimpulkan bahwa algoritma Even-Rodeh Code lebih efisien dalam segi Bitrate dibandingkan dengan algoritma Boldi-Vigna ζ1 Code. Dikarenakan nilai Bitrate yang dimiliki oleh algoritma Even-Rodeh Code lebih rendah dalam proses kompresi file dengan jumlah karakter yang sangat besar dengan string yang berbeda (heterogen).

0 1000 2000 3000 4000 5000 6000

1 10 100 1000 10000

Bitrate

Panjang String

Grafik Bitrate terhadap String Heterogen

Boldi-Vigna ζ1 Code Even-Rodeh Code

-150 -100 -50 0 50 100

1 10 100 1000 10000

Space Savings

Panjang String

Grafik Penghematan Ruang Penyimpanan (Space Savings) terhadap String Heterogen

Boldi-Vigna ζ1 Code Even-Rodeh Code

Dari Gambar 4.19. Grafik Space Saving dapat disimpulkan bahwah algoritma Boldi-Vigna ζ1 Code lebih baik dan efisien dalam melakukan Space Saving (penghematan ruang) dalam proses kompresi file dengan jumlah karakter yang besar dengan string yang berbeda (heterogen) jika dibandingkan dengan algoritma Even-Rodeh Code.

Gambar 4.20 Grafik Waktu Kompresi terhadap String Heterogen

Dari Gambar 4.20. Grafik Waktu Kompresi dapat disimpulkan bahwa algoritma Boldi-Vigna ζ1 Code tidak memerlukan waktu yang lebih lama untuk melakukan proses kompresi file. Sedangkan algoritma Even-Rodeh Code memerlukan waktu yang lebih lama untuk melakukan proses kompresi file teks dengan string yang berbeda (heterogen).

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16

1 10 100 1000 10000

Waktu Kompresi

Panjang String

Grafik Waktu Kompresi terhadap String Heterogen

Boldi-Vigna ζ1 Code Even-Rodeh Code

Gambar 4.21 Grafik Waktu Dekompresi terhadap String Heterogen Dari Gambar 4.21. Grafik Waktu Dekompresi dapat disimpulkan bahwa algoritma Boldi-Vigna ζ1 Code tidak memerlukan waktu yang lebih lama untuk melakukan proses kompresi file. Sedangkan algoritma Even-Rodeh Code memerlukan waktu yang lebih lama untuk melakukan proses dekompresi file teks dengan string yang berbeda (heterogen).

4.3.6. Pengujian Corpus

Pengujian sistem ini juga dilakukan terhadapa file Corpus. Dimana file Corpus yang digunakan ialah Artificial Corpus. Artificial Corpus berisi file yang dikembangkan khusus untuk pengujian kinerja algoritma kompresi berdasarkan kemampuannya untuk merepresentasikan hasil kinerja algoritma kompresi. Artificial Corpus terdiri dari empat file uji. Isi dari keempat file uji dipaparkan pada Tabel 4.10.

Tabel 4.10 File Uji Artificial Corpus

File Isi file Frek Karakter Keterangan

a.txt a 1 Huruf ‘a’

aaa.txt aaa… 100000 Huruf ‘a’ yang diulang

alphabet.txt alphabet 100000 Alphabet yang diulang random.txt Karater acak 100000 100000 karakter random

0

1 10 100 1000 10000

Waktu Dekompresi

Panjang String

Grafik Waktu Dekompresi terhadap String Heterogen

Boldi-Vigna ζ1 Code Even-Rodeh Code

Hasil pengujian Boldi-Vigna ζ1 Code dan Even-Rodeh Code terhadap Artificial Corpus dipaparkan pada Tabel 4.11 dan Tabel 4.12.

Tabel 4.11 Hasil Pengujian Boldi-Vigna ζ1 Code terhadap File Artificial Corpus

Artificial Corpus Boldi-Vigna ζ1 Code

Jumlah

Tabel 4.12 Hasil Pengujian Even-Rodeh Code terhadap File Artificial Corpus

Artificial Corpus Even-Rodeh Code

Jumlah

4.4. Kompleksitas Algoritma

Kompleksitas algoritma dari algoritma Boldi-Vigna ζ1 Code dan Even-Rodeh Code yang akan diuji dan dijelaskan pada Tabel 4.13 dan Tabel 4.14 berikut :

Tabel 4.13 Kompleksitas Algoritma Boldi-Vigna ζ1 Code

Pseudocode Algoritma C # C.#

Function BoldiVignaCodes(n)

k ← 1 C1 1 C1

h ← 0 C1 1 C1

hMax ← Math.Pow(2, (h + 1) * k) – 1 C1 1 C1

while (n > hMax) do C2 n C2n

h ← h + 1 C1 n C1n

hMax ← Math.Pow(2, (h + 1) * k) – 1 C1 n C1n

end while

unary ← "1".PadLeft(h + 1, '0') C1 1 C1

minBinCodeorX ← n - Math.Pow(2, h * k) C1 1 C1

z ← Math.Pow(2, (h + 1) * k) -Math.Pow(2,

h * k)

C1 1 C1

s ← Math.Ceiling(Math.Log(z,2) C1 1 C1

encodeValue ← minBinCodeorX C1 1 C1

encodeBin ← “” C1 1 C1

Berdasarkan data pada Tabel 4.13, nilai kompleksitas algoritma Boldi-Vigna ζ1 Code dapat dihitung sebagai berikut.

T(n) = ∑( Ci . #i )

= 12C1 + 2C1n+ C2n + C3 + C4

= 12C1 + (2C1 + C2)n + C3 + C4

= θ (n)

Pseudocode Algoritma C # C.#

if minBinCodeorX >= Math.Pow(2, s) – z C3 1 C3

encodeValue ←Math.Abs(Math.Abs

(minBinCodeorX - z) - Math.Pow(2, s))

C1 1 C1

encodeBin ← DecToBin(encodedValue).

PadLeft(s,'0').Substring(0,s)

C1 1 C1

Else C3 1 C3

encodeBin ← DecToBin(encodedValue)

.PadLeft(s – 1, '0').Substring(0, s-1)

C1 1 C1

return unary+""+encodeBin C4 1 C4

Tabel 4.14Kompleksitas Algoritma Even-Rodeh Code

Pseudocode Algoritma C # C.#

Function EvenRodehCodes(n)

if n < 4 C1 1 C1

c ← DecToBin(n) C2 1 C2

int lc ← c.Length C2 1 C2

for i ← 0 to 3 – lc do C3 n C3n

code.Append(“0”) C4 n C4n

end for

code.Append(“c”) C4 1 C4

else if (n >= 4 && n < 8) C1 1 C1

c ← DecToBin(n) C2 1 C2

code.Append(“c”) C4 1 C4

code.Append(“0”) C4 1 C4

else C1 1 C1

c ← DecToBin(n) C2 1 C1

code.Append(DecToBin(c.Length)) C4 1 C4

code.Append(“c”) C4 1 C4

code.Append(“0”) C4 1 C4

return code C5 1 C5

Berdasarkan data pada Tabel 4.14, nilai kompleksitas algoritma Even-Rodeh Code dapat dihitung sebagai berikut.

T(n) = ∑( Ci . #i )

= 3C1 + 4C2 + C3n + C4n + 6C4 + C5

= 3C1 + 4C2 + (C3 + C4)n + 6C4 + C5

= θ (n)

BAB 5

KESIMPULAN DAN SARAN 5.1. Kesimpulan

Berdasarkan hasil dari pengujian yang dilakukan pada penelitian ini, diperoleh beberapa kesimpulan yang berkaitan dengan perbandingan kinerja kompresi dari algoritma Boldi-Vigna ζ1 Code dan algoritma Even-Rodeh Code. Di antaranya sebagai berikut:

1. Pada pengujian kompresi file teks yang berisi string homogen algoritma Boldi-Vigna ζ1 Code memilki kinerja yang lebih baik dibandingkan Even-Rodeh Code karena memilki nilai space savings yang lebih tinggi, bit rate yang lebih kecil serta waktu kompresi yang lebih cepat.

2. Dilihat dari nilai compression ratio yang diperoleh dari pengujian terhadap string homogen dan heterogen diketahui bahwa compression ratio algoritma Even-Rodeh Code lebih baik pada string homogen dan string heterogen.

3. Berdasarkan nilai space savings yang didapat dari uji coba sistem terhadap string homogen dan heterogen diketahui bahwa space savings algoritma Boldi-Vigna ζ1

Code lebih baik pada file string homogen dan file string heterogen

4. Dilihat dari bit rate yang didapat dari hasil pengujian terhadap file string homogen dan string heterogen menunjukkan bahwa bit rate Boldi-Vigna ζ1 Code lebih baik pada file berisi string homogen, sedangkan Even-Rodeh Code lebih baik pada file berisi string heterogen.

5. Dilihat dari hasil pengujian terhadap string homogen dan heterogen diketahui bahwa proses kompresi menggunakan Boldi-Vigna ζ1 Code lebih cepat pada string homogen dan string heterogen

6. Hasil pengujian terhadap file berisi string homogen menunjukkan bahwa waktu yang dibutuhkan untuk proses dekompresi algoritma Even-Rodeh Code lebih sedikit dibandingkan algoritma Boldi-Vigna ζ1 Code. Sementara hasil pengujian file string heterogen menunjukkan bahwa waktu yang dibutuhkan algoritma

Boldi-Vigna ζ1 Code Code lebih sedikit dibandingkan algoritma Even-Rodeh Code untuk proses dekompresi.

7. Berdasarkan perhitungan yang dilakukan nilai kompleksitas algoritma yang didapat dalam penelitian ini yaitu, nilai kompleksitas algoritma Boldi-Vigna ζ1 Code dan algoritma Even-Rodeh Code adalah sebesar 𝛳(𝑛).

5.2. Saran

Berdasarkan penelitian yang dilakukan, beberapa saran yang dapat dipertimbangkan untuk penelitian selanjutnya adalah adalah sebagai berikut:

1. Pada penelitian ini proses kompresi hanya dilakukan terhadap file teks yang berekstensi .txt, untuk itu diharapkan pada penelitian selanjutnya mampu mengkompresi file teks dengan ekstensi lainnya, seperti .docx dan lain-lain.

2. Pada penelitian ini kompresi hanya dilakukan pada file teks, setelahnya diharapkan dapat mengkompresi bentuk file lain seperti file audio, video, dan lain-lain.

3. Pada penelitian ini, sistem dibangun dengan menggunakan bahasa pemrograman C#, diharapkan setelahnya dapat menggunakan bahasa pemrograman yang lain seperti Java, Python dan lain-lain.

4. Pada penelitian ini, sistem yang dibangun hanya dapat barjalan pada platform desktop, untuk itu pada penelitian berikutnya sistem diharapkan dapat berjalan pada platform android.

DAFTAR PUSTAKA

Abdullah, A. R. (2016). Perbandingan Algoritma Even-Rodeh dan Algoritma

Abdullah, A. R. (2016). Perbandingan Algoritma Even-Rodeh dan Algoritma

Dokumen terkait