2.4 Algoritma Boldi- Vigna ζ
4
Z
eta ζ kode juga dikenal sebagai Boldi-Vigna code, diperkenalkan oleh Paolo Boldi
dan Sebastiano Vigna sebagai keluarga Variable-Length Code yang merupakan
pilihan terbaik untuk kompresi. Dimulai dengan hukum Zipf, seorang kuasa hukum
empiris [Zipf 07] diperkenalkan oleh Linguis George K. Zipf. Menyatakan bahwa frekuensi setiap kata dalam bahasa alami kira-kira berbanding terbalik dengan
posisinya dalam tabel frekuensi.
Boldi-Vigna kode zeta dimulai dengan bilangan bulat k positif yang menjadi menyusut oleh Faktor kode. Himpunan semua bilangan bulat positif dibagi menjadi
[2 , 2
k
- 1], [2
k
, 2
2k
- 1], [2
2k
, 2
3k
- 1], dan secara umum [2
hk
, 2
h + 1 k
- 1]. Panjang setiap interval adalah 2
h + 1 k
- 2
hk
Salomon, 2007. Diberikan interval [0, z-1] dan sebuah integer x di interval ini, pertama kita
hitung s =[ log
2
z]. Jika x 2
s
- z, dikodekan sebagai unsur xth elemen pada interval ini, pada s - 1 bit. Jika tidak, maka dikodekan sebagai x - z - 2
s
th elemen pada interval di s bit. Dengan latar belakang ini, di sini dibahas bagaimana kode zeta
dibangun. Mengingat bilangan bulat n akan dikodekan, kami mempekerjakan k untuk menentukan interval di mana n berada. Salah satu yang diketahui, nilai-nilai h dan k
yang digunakan dengan cara yang sederhana untuk membangun kode zeta n dalam dua bagian, nilai h + 1 di unary sebagai nol h diikuti dengan 1, diikuti oleh minimal
kode biner dari n - 2
hk
dalam interval [0, 2
h + 1 k
- 2
hk
- 1] Salomon, 2007.
Contoh:
Diberikan k = 3 dan n = 16, kita tentukan dulu n yang terletak di interval [2
3
, 2
6
-1], yang sesuai dengan h = 1. Dengan demikian, h + 1 = 2 dan kode unary dari 2 adalah
01. Kode biner minimal 16 - 2
3
= 8 dibangun dalam langkah-langkah berikut. Panjang z dari interval [2
3
, 2
6
-1] adalah 56. Ini berarti bahwa s =[ log
2
56] = 6. Nilai 8 akan dikodekan 8 = 26 - 56, sehingga dikodekan sebagai x - z - 2
s
= 8- 56-2
6
= 16 dalam enam bit, sehingga 010000. Dengan demikian,
kode ζ
3
dari n = 16 adalah 010000111 Salomon, 2007.
Contoh daftar kode Boldi-Vigna
ζ
4
dapat dilihat pada tabel 2.1 dibawah ini :
Universitas Sumatera Utara
Tabel 2.1 Kode Daftar Boldi-Vigna ζ
4
Contoh : Diberikan string = “ERNA LESTARI”
Σ = { E, R, N, A, sp, L, S, T, I } , dengan sp = spasi
Maka dibuat sebuah tabel untuk menghitung bit setelah di kompresi. Tabel bisa dilihat pada tabel 2.2 dibawah ini :
Tabel 2.2 Kompresi Dengan Boldi-Vigna ζ
4
Σ Freq
Boldi- Vigna ζ
4
Bit FreqBit
E 2
1000 4
8 R
2 10010
5 10
A 2
10011 5
10 N
1 10100
5 5
Sp 1
10101 5
5 L
1 10110
5 5
S 1
10111 5
5 T
1 11000
5 5
I 1
11001 5
5
Jumlah Bit 58 Bit
n ζ
4
1 1000
2 10010
3 10011
4 10100
5 10101
6 10110
7 10111
8 11000
9 11001
10 11010
11 11011
12 11100
13 11101
14 11110
15 11111
16 010000111
Universitas Sumatera Utara
2.5 Parameter pembanding Ada 3 parameter pembanding yang digunakan dalam peneltiaan ini, yaitu Ratio of
Compression R
C
, Compression Ratio C
R
, dan Redudancy Rd.
1. Ratio of Compression Rc
Ratio of Compression Rc adalah perbandingan antara ukuran data sebelum dikompresi dengan ukuran data setelah dikompresi Salomon, 2007.
� = …………...……………1
2. Compression Ratio Cr
Compression Ratio Cr adalah persentasi besar data yang telah dikompresi yang didapat dari hasil perbandingan antara ukuran data setelah dikompresi dengan
ukuran data sebelum dikompresi Salomon, 2007.
� = �
...…………….. 2
3. Redudancy Rd
Redundancy Rd adalah kelebihan yang terdapat di dalam data sebelum dikompresi. Jadi setelah data dikompresi dapat dihitung Redundancy data yaitu
persentasi dari hasil selisih antara ukuran data sebelum dikompresi dengan data setelah dikompresi Salomon, 2007.
� = − � …………………………………..…...... 3
2.6 Penelitian Yang Relevan