Implementasi Algoritma Elias Delta Code

Hasil kompresi yaitu: 53 1 64 1 121 1 73 1 30 1 65 1 149 1 193 1 173 1 72 1 115 1 208 1 104 1 197 1 107 1 74 1 198 1 222 1 177 1 42 1 39 1 62 1 111 1 54 1 32 1 Dari hasil kompresi algoritma Run-Length Encoding di atas dapat dihitung dengan parameter perbandingan, yaitu: Ukuran citra sebelum dikompres = 1120 bit. Ukuran citra setelah dikompres = 88 bit Compression Ratio = 88 1120 X 100 = 7.866 Ratio of Compression = 1120 88 = 12.73 Redundancy Data = 100 - 7.59 = 6.86

4.1.2 Implementasi Algoritma Elias Delta Code

Berikut ini adalah contoh proses kompresi citra dengan algoritma Elias Delta Code pada gambar 4.1 Tabel 4.2 Proses Pengkodean Algoritma Elias Delta Code PIXEL KETERANGAN KODE DELTA 53 1 1 64 2 = 10 2 2 bit, Hapus angka 1 paling kiri dan tambahkan 2 = 10 2 bit, sehingga menjadi 10 | 0. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 0100. 0100 121 3 = 11 2 2 bit, Hapus angka 1 paling kiri dan tambahkan 2 = 10 2 bit, sehingga menjadi 10 | 1. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 0101. 0101 73 4 = 100 2 3 bit, Hapus angka 1 paling kiri dan tambahkan 3 = 11 2 bit, sehingga menjadi 11 01100 Universitas Sumatera Utara | 00. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 01100. 30 5 = 101 2 3 bit, Hapus angka 1 paling kiri dan tambahkan 3 = 11 2 bit, sehingga menjadi 11 | 01. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 01101. 01101 65 6 = 110 2 3 bit, Hapus angka 1 paling kiri dan tambahkan 3 = 11 2 bit, sehingga menjadi 11 | 10. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 01110. 01110 149 7 = 111 2 3 bit, Hapus angka 1 paling kiri dan tambahkan 3 = 11 2 bit, sehingga menjadi 11 | 11. 2 bit dikurang dengan 1 sama dengan 1. Tambahkan 1 nol paling kiri menjadi 01111. 01111 193 8 = 1000 3 4 bit, hapus angka 1 paling kiri dan tambahkan 4 = 100 3 bit, sehingga menjadi 100 | 000. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 00100000. 00100000 173 9 = 1001 3 4 bit, hapus angka 1 paling kiri dan tambahkan 4 = 100 3 bit, sehingga menjadi 100 | 001. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 00100001. 00100001 72 10 = 1010 3 4 bit, hapus angka 1 paling kiri dan tambahkan 4 = 100 3 bit, sehingga menjadi 100 | 010. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 00100010. 00100010 Universitas Sumatera Utara 115 11 = 1011 3 4 bit, hapus angka 1 paling kiri dan tambahkan 4 = 100 3 bit, sehingga menjadi 100 | 011. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 00100011. 00100011 208 12 = 1100 3 4 bit, hapus angka 1 paling kiri dan tambahkan 4 = 100 3 bit, sehingga menjadi 100 | 100. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 00100100. 00100100 104 13 = 1101 3 4 bit, hapus angka 1 paling kiri dan tambahkan 4 = 100 3 bit, sehingga menjadi 100 | 101. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 00100101. 00100101 197 14 = 1110 3 4 bit, hapus angka 1 paling kiri dan tambahkan 4 = 100 3 bit, sehingga menjadi 100 | 110. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 00100110. 00100110 107 15 = 1111 3 4 bit, hapus angka 1 paling kiri dan tambahkan 4 = 100 3 bit, sehingga menjadi 100 | 111. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 00100111. 00100011 74 16 = 10000 3 5 bit, hapus angka 1 paling kiri dan tambahkan 5 = 101 3 bit, sehingga menjadi 101 | 0000. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 001010000. 001010000 Universitas Sumatera Utara 198 17 = 10001 3 5 bit, hapus angka 1 paling kiri dan tambahkan 5 = 101 3 bit, sehingga menjadi 101 | 0001. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 001010001. 001010001 222 18 = 10010 3 5 bit, hapus angka 1 paling kiri dan tambahkan 5 = 101 3 bit, sehingga menjadi 101 | 0010. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 001010010. 001010010 177 19 = 10011 3 5 bit, hapus angka 1 paling kiri dan tambahkan 5 = 101 3 bit, sehingga menjadi 101 | 0011. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 001010011. 001010011 42 20 = 10100 3 5 bit, hapus angka 1 paling kiri dan tambahkan 5 = 101 3 bit, sehingga menjadi 101 | 0100. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 001010100. 001010100 39 21 = 10101 3 5 bit, hapus angka 1 paling kiri dan tambahkan 5 = 101 3 bit, sehingga menjadi 101 | 0101. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 001010101. 001010101 62 22 = 10110 3 5 bit, hapus angka 1 paling kiri dan tambahkan 5 = 101 3 bit, sehingga menjadi 101 | 0110. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 001010110. 001010110 Universitas Sumatera Utara 111 23 = 10111 3 5 bit, hapus angka 1 paling kiri dan tambahkan 5 = 101 3 bit, sehingga menjadi 101 | 0111. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 001010111. 001010111 54 24 = 11000 3 5 bit, hapus angka 1 paling kiri dan tambahkan 5 = 101 3 bit, sehingga menjadi 101 | 1000. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 001011000. 001011000 32 25 = 11001 3 5 bit, hapus angka 1 paling kiri dan tambahkan 5 = 101 3 bit, sehingga menjadi 101 | 1001. 3 bit dikurang dengan 1 sama dengan 2. Tambahkan 2 nol paling kiri menjadi 001011001. 001011001 Proses kompresi untuk algoritma Elias Delta Code dapat dilihat pada tabel 4.3. Tabel 4.3 Citra Yang Terkompresi Dengan Algoritma Elias Delta Code PIXEL FREKUENSI KODE DELTA BIT FREQ X BIT 53 1 1 1 1 64 1 0100 4 4 121 1 0101 4 4 73 1 01100 5 5 30 1 01101 5 5 65 1 01110 5 5 149 1 01111 5 5 193 1 00100000 8 8 173 1 00100001 8 8 72 1 00100010 8 8 155 1 00100011 8 8 208 1 00100100 8 8 Universitas Sumatera Utara 104 1 00100101 8 8 197 1 00100110 8 8 107 1 00100111 8 8 74 1 001010000 9 9 198 1 001010001 9 9 222 1 001010010 9 9 177 1 001010011 9 9 42 1 001010100 9 9 39 1 001010101 9 9 62 1 001010110 9 9 111 1 001010111 9 9 54 1 001011000 9 9 32 1 001011001 9 9 JUMLAH BIT 183 Sebelum ditulis ke file hasil kompresi, maka dilakukan penambahan padding bit dan flag bit di akhir string bit. Bit tersebut dihasilkan dari panjang string bit itu sendiri apakah habis dibagi 8 dan berapa sisanya jika dibagi 8. Karena jumlah string bit 192 tidak habis dibagi 8 dan sisanya adalah 1. Maka dibuatlah padding bit-nya adalah “0” dan flag bit- nya adalah “00000001” menjadi “10100010101100011010111001111001000000010000100100010001000110010010 000100101001001100010011100101000000101000100101001000101001100101010 0001010101001010110001010111001011000001011001000000001 ”, sehingga total bit keseluruhannya adalah 50 bit. Dengan uraian hasil kompresi sebagai berikut: 10100010 10110001 10101110 01111001 00000001 00001001 00010001 00011001 162 177 174 121 1 9 17 25 00100001 00101001 00110001 00111001 01000000 10100010 01010010 00101001 33 41 49 57 64 162 82 41 Universitas Sumatera Utara 10010101 00001010 10100101 01100010 10111001 01100000 1011001 00000001 149 10 165 98 185 96 178 1 Hasil kompresi yaitu: 162, 177, 174 ,121, 1, 9, 17, 25, 33, 41, 49, 57, 64, 162, 82, 41, 149, 10, 165, 98, 185, 132, 96, 178, 1 Dari hasil kompresi algoritma Elias Delta Code di atas dapat dihitung dengan parameter perbandingan, yaitu: Ukuran citra sebelum dikompres = 1120 bit. Ukuran citra setelah dikompres = 54 bit. Compression Ratio = 54 1120 X 100 = 4.82 Ratio of Compression = 1120 54 = 20.74 Redundancy Data = 100 - 4.82 = 3.82 Dari hasil perhitungan antara kedua algoritma tersebut, dapat diketahui bahwa algoritma Elias Delta Code lebih baik dibandingkan dengan Run-Length Encoding. Dilihat dari hasil R c dan R d dari Elias Delta Code lebih kecil dibandingkan dengan Run-Length Encoding.

4.2 Implementasi Sistem