Rice Code TINJAUAN PUSTAKA

Compression Ratio = ������������� ������������ ��� 2. Compression Factor Compression Factor merupakan kebalikan dari Compression Ratio, dimana perbandingan antara file asli sebelum terkompresi dengan file setelah terkompresi, dimana: Compression Factor = ���������������� ������������� 3. Saving Percentage Saving Percentage menghitung penyusutan setelah file terkompresi dari file asli sebagai persentase, dimana: Saving Percentage= ���� ������ ����������� −���� ����� ���������� � ���� ������ ����������� x 100 4. Compression Time Waktu yang dibutuhkan untuk kompresi dan dekompresi harus dipertimbangkan secara terpisah. Jika waktu yang dibutuhkan suatu algoritma untuk kompresi dan juga dekompresi kecil atau masih dalam level yang dapat diterima, hal itu menunjukkan bahwa algoritma tersebut dapat diterima untuk masing-masing faktor waktunya. Dengan perkembangan kecanggihan komputer saat ini, maka membuat compression time bernilai sangat kecil dan tergantung pada performa dari komputer yang digunakan.

2.6 Rice Code

Rice Codeadalah salah satu algoritma kompresi yang dapat memperkecil ukuran data yang lebih kecil dari ukuran sebelumnya. Sebelum adanya Rice Code, terdapat algoritma yang disebut sebagai Golomb Codes yang merupakan familydengan Rice Code karena memiliki persamaan yang bergantung pada pemilihan parameter m, dimana m adalah himpunan dari 2 m = 2 k . Rice Codedisebut juga sebagai Golomb- Rice Code, yang diberi nama sesuai dengan penciptanya yaitu Robert F. Rice pada tahun 1979 Salomon, 2007. Rice Code merupakan special case dari Golomb Codes yang mana nilai x dikodekan k pertama digeser kekanan untuk mendapatkan nilai unary coded. Kemudian urutan terendah dari k nilai asli dari x dilanjutkan sebagai k yang bernilai biner Moffat Turpin 2002. Rice Code menunjukkan penggunaan sebuah subset Universitas Sumatera Utara dari turunan Golomb Code untuk menghasilkan sebuah kode yang sederhana dan mudah diimplementasikan dalam kasus aritmatika biner secara efisien, dan keduanyadigunakan pada beberapa metode untuk kompresi audio lossless. Di dalam algortima Rice, ada sebuah nilai k yang artinya adalah banyaknya angka 1 pada suffix dari kode terkompresi. Dalam proses encode, dilakukan pemisahan pada prefix dan suffix. Ketika proses decode, decoder membaca sign bit dan lompat ke angka 0 pertama dari sebelah kiri, yang mana akan berlanjut kembali untuk penambahan bit pada k selanjutnya. Untuk nilai k dalam proses kompresi menggunakan Rice Code, dapat dilihat pada tabel 2.4 berikut ini. Tabel 2.4 Nilai k Rice Code Sayood, 2006 n k=0 k=1 k=2 k=3 k=4 k=5 0 | 0 | 0 0 | 00 0 | 000 0 | 0000 0 | 00000 1 10 | 0 | 1 0 | 01 0 | 001 0 | 0001 0 | 00001 2 110 | 0 10 | 0 0 | 10 0 | 010 0 | 0010 0 | 00010 3 110 | 1 10 | 1 0 | 11 0 | 011 0 | 0011 0 | 00011 4 1110 | 00 110 | 00 10 | 00 0 | 100 0 | 0100 0 | 00100 5 1110 | 01 110 | 01 10 | 01 0 | 101 0 | 0101 0 | 00101 6 1110 | 10 110 | 10 10 | 10 0 | 110 0 | 0110 0 | 00110 7 1110 | 11 110 | 11 10 | 11 0 | 111 0 | 0111 0 | 00111 8 11110 | 000 1110 | 000 10 | 000 10 | 000 0 | 1000 0 | 01000 9 11110 | 001 1110 | 001 110 | 001 10 | 001 0 | 1001 0 | 01001 10 11110 | 010 1110 | 010 110 | 010 10 | 010 0 | 1010 0 | 01010 11 11110 | 011 1110 | 011 110 | 011 10 | 011 0 | 1011 0 | 01011 12 11110 | 100 1110 | 100 110 | 100 10 | 100 0 | 1100 0 | 01100 13 11110 | 101 1110 | 101 110 | 101 10 | 101 0 | 1101 0 | 01101 14 11110 | 110 1110 | 110 110 | 110 10 | 110 0 | 1110 0 | 01110 15 11110 | 111 1110 | 111 110 | 111 10 | 111 0 | 1111 0 | 01111 16 111110 | 0000 11110 | 0000 1110 | 0000 110 | 0000 10 | 0000 0 | 10000 Universitas Sumatera Utara Misalkan, terdapat string “RAJA ARIF”, dimana : | String | = 9 Ʃ = {R, A, J, sp, I, F}|Ʃ | = 6 Tabel 2.5 Tabel String “RAJA ARIF” Ʃ ASCII Code ASCII Binary Bit ASCII Frekuensi Frek x Bit R 82 01010010 8 bit 2 16 A 65 01000001 8 bit 3 24 J 74 01001010 8 bit 1 8 sp 32 00100000 8 bit 1 8 I 73 01001001 8 bit 1 8 F 70 01000110 8 bit 1 8 Jumlah 72 Setelah dibuat seperti pada tabel 2.5, kemudian terlebih dahulu diurutkan berdasarkan jumlah frekuensi terbanyak descending order, maka urutannya dimulai dari A, R, J, sp, I, F. Dengan menggunakan Rice Code dengan nilai k=2, maka hasilnya seperti pada tabel 2.6: Tabel 2.6 Tabel String “RAJA ARIF” setelah dikompresi Ʃ Rice Code Bit Frekuensi Frek x Bit A 000 3 3 9 R 001 3 2 6 J 010 3 1 3 sp 011 3 1 3 I 1000 4 1 4 F 1001 4 1 4 Jumlah 29 Universitas Sumatera Utara

BAB 1 PENDAHULUAN