Analisis Perbandingan Algoritma Elias Delta Code Dan Algoritma Unary Coding Dalam Mengkompresi File Text
BAB 2
LANDASAN TEORI
2.1 Kompresi Data
Kompresi data telah dimanfaatkan dalam berbagai aspek multimedia. gambar, audio
maupun video yang kita dapatkan dari web merupakan file yang telah terkompresi.
TV-HD juga merupakan hasil kompresi MPEG-2, kebanyakan modem juga
melakukan proses kompresi data, dan beberapa sistem berkas otomatis mengkompresi
data ketika data tersimpan (Blelloch, 2013). Sehingga alasan kita membutuhkan
kompresi data yaitu karena tegnologi ini memudahkan kita mendapat informasi atau
data yang berkualitas dan tidak menghabiskan ruang penyimpanan kita.
Kompresi data merupakan seni atau ilmu yang memberikan informasi dalam
bentuk yang padat menggunakan struktur yang ada pada data asli dengan tujuan untuk
mengurangi jumlah bit pada data yang terkompresi (Sayood, 2016).
Data dapat
berupa karakter dalam file text, maupun nomor yang merupakan representasi dari file
gambar. Kompresi data terdiri dari 2 komponen yaitu sebuah algoritma encoding yaitu
algoritma yang membuat pesan atau text menjadi terkompresi sehingga jumlah bit
yang ada dalam file tersebut menjadi lebih sedikit, dan algoritma decoding yaitu
algoritma yang merekonstruksi file terkompresi menjadi file asli.
Kompresi data adalah proses mengkonversi atau mengubah data input atau data
asli menjadi data yang memiliki ukuran yang lebih kecil. Kompresi data menjadi
popular dikarenakan dua hal yakni perilaku manusia yang suka menumpuk data dan
tidak suka membuangnya dan ketidak senangan manusia dalam menunggu transfer
data yang lama (Salomon, 2007). Dalam melakukan kompresi dilakukan 2 metode
yaitu Kompresi dan Decompresi. Kompresi merupakan metode atau algoritma untuk
mencapai tujuan kompresi pada data asli. Dibalik setiap algoritma terdapat ide, model
Universitas Sumatera Utara
6
matematika atau teknik implementasi untuk mencapai tujuan dalam mengkompresi
data dengan mempertimbangkan aspek efisiensi dan keefektifan kompresi.
Dekompresi merupakan teknik untuk mengembalikan data yang telah dikompresi
supaya data dapat kembali ke dalam bentuk yang semula atau data awal (Pu, 2016)
Gambar 2.1 Skema Proses Kompresi File (Pu, 2016)
2.1.1. Jenis-Jenis Kompresi Data
Berdasarkan hasil kompresi atau ouput yang dihasilkan, kompresi data dibedakan
menjadi dua bagian yaitu kompresi Loseless dan kompresi Lossy (Pu, 2016)
a. Kompresi Loseless
Kompresi Loseless merupakan kompresi data yang tidak kehilangan detail informasi
yang dimiliki oleh data tersebut. Algoritma Loseless biasanya digunakan untuk data
yang penting, di mana rincian data tidak boleh ada yang hilang misalnya data text,
gambar medis dan data penting lainnya. Kompresi loseless disebut juga kompresi
reveresibel karena data asli dapat dibangun dengan sempurna saat proses dekompresi.
Universitas Sumatera Utara
7
Gambar 2.2 Ilustrasi Kompresi Loseless (Pu, 2016)
b. Kompresi Lossy
Kompresi Lossy merupakan kompresi data yang tidak memungkinkan untuk
mengembalikan data seperti data awal, artinya akan ada data yang hilang setelah data
dikompresi. Kompresi Lossy biasanya digunakan untuk mengkompresi file audio,
video dan gambar karena data tersebut terkait pada penglihatan dan pendengaran
manusia.
Gambar 2.3 Ilustrasi Kompresi Lossy (Pu, 2016)
2.2
File Text
File Text merupakan baris data yang tersusun atas karakter berupa huruf, angka
maupun simbol yang merupakan hasil representasi dari kode ASCII. File text dapat
diidentifikasi berdasarkan extensi yang tercantum pada nama file tersebut, seperti
extensi .doc maupun .txt. Karakter merupakan semua data yang tersimpan dengan
format 0 dan 1. Dalam fungsi Boolean 0 didefinisikan sebagai False dan 1 sebagai
True. Namun dalam kode Binary nilai 1 dan 0 disebut sebagai bit karakter.
Universitas Sumatera Utara
8
ASCII (American Standard Code for Information Interchange) dan EBCDIC
(Extended Binary Coded Decimal Interchange Code) merupakan cikal bakal dari set
karakter lainnya. ASCII terdiri dari 128 buah karakter yang masing-masing memiliki
lebar 7-bit atau tujuh angka 0 dan 1, dari 0000000 sampai dengan 1111111. Mengapa
7-bit? Karena komputer pada awalnya memiliki ukuran memori yang sangat terbatas,
dan 128 karakter dianggap memadai untuk menampung semua huruf Latin dengan
tanda bacanya, dan beberapa karakter kontrol. ASCII telah dibakukan oleh ANSI
(American National Standards Institute) menjadi standar ANSI X3.4-1986. EBCDIC
merupakan set karakter yang merupakan ciptaan dari IBM. Salah satu penyebab IBM
menggunakan set karakter di luar ASCII sebagai standar pada komputer ciptaan IBM
adalah karena EBCDIC lebih mudah dikodekan pada punch card yang pada tahun
1960-an masih jamak digunakan. Penggunaan EBCDIC pada mainframe IBM masih
terbawa hingga saat ini, walaupun punch card sudah tidak digunakan lagi. Seperti
halnya ASCII, EBCDIC juga terdiri dari 128 karakter yang masing-masing berukuran
7-bit. Hampir semua karakter pada ASCII juga terdapat pada set karakter EBCDIC.
(Sudewa, 2003).
2.2.1 Format Teks
Secara umum, format data text dibagi menjadi tiga bagian, yaitu (Rahmat,Roswanto,
2005):
a. Plain Text (Unformatted Text)
Teks adalah data dalam bentuk karakter. Teks dalam hal ini adalah kode ASCII dan
ASCII extension seperti UNICODE murni. Tiap-tiap karakter direpresentasikan oleh 7
bit “binary digit” (desimal = 0-127) . Plain text dapat berupa text yang kita ketik
menggunakan Notepad (.txt). Plain Text tidak mengandung embedded information,
seperti informasi font, link, dan inline-image.
b. Formatted Text (Rich Text Format)
Formatted Text merupakan serangkaian karakter format yang telah didefinisikan. rich
text dapat berupa file berformat Wordpad (.rtf). Pada Wordpad plain text telah
Universitas Sumatera Utara
9
diformat sedemikian rupa dengan menggunakan aturan (tag/tanda) tertentu sehingga
text tersebut dapat di-bold, italics, underline, diwarna, diganti font, dan lain-lain.
c. Hypertext
Hypertext adalah text yang memiliki fasilitas linking.
Contoh hypertext :
1. HTML (Hypertext Markup Language)
Merupakan standard bahasa yang digunakan untuk menampilkan document web.
Yang bisa kita lakukan dengan HTML yaitu:
- Mengontrol tampilan dari web page dan contentnya.
- Mempublikasikan document secara online sehingga bisa di akses dari seluruh dunia.
- Membuat online form untuk menangani pendaftaran, transaksi secara online.
- Menambahkan objek-objek seperti image, audio, video dan juga java applet..
- Mendukung link (sebuah hubungan dari satu dokumen kedokumen lain).
2. XML (eXtensible Markup Language)
Keunggulan dan keuntungan dari XML adalah:
- Simple, karena XML tidak serumit HTML, strukturnya jelas, dan sederhana.
- Intelligence, karena XML mampu menangani berbagai komplesitas markup.
- Portable, karena memisahkan data dan presentasi
- Fast, pencarian data cepat
- Extensible, dapat ditukar/digabung dengan dokumen XML lain.
- Linking, XML dapat melakukan linking yang lebih baik daripada HTML
- Maintenance, XML mudah untuk diatur dan dipelihara, karena hanya berupa data,
stylesheet dan link terpisah dari XML.
2.3
Algoritma
Algoritma merupakan urutan logis langkah-langkah penyelesaian masalah yang
disusun secara sistematis (Munir, 2005). Ditinjau dari sisi sejarah, kata Algoritma
Universitas Sumatera Utara
10
awalnya disebut algorism yang berarti orang yang menggunakan angka Arab. Kata
algorism berasal dari nama penulis buku Arab yaitu Abu Ja’Far Muhammad Ibnu
Musa Al-Khuarizmi (Al-Khuarizmi dibaca orang Barat menjadi algorism). AlKhuarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Mukabala, yang artinya
“Buku Pemugaran Dan Pengurangan”. Perubahan kata algorism menjadi algoritm
muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –
sm berubah menjadi –thm. Karena perhitungan dengan angka arab sudah menjadi hal
yang biasa, maka kata algorithm
berangsur-angsur dipakai sebagai metode
perhitungan secara umum. Dalam bahasa Indonesia, kata algorithm diserap menjadi
algoritma.
2.3.1. Algoritma Elias Delta Code
Algoritma Elias Delta Code merupakan terobosan yang dibuat oleh Piter Elias sebagai
algoritma yang lebih canggih yang menerapkan Elias Gamma Code sebagai dasar
algoritmanya (Figueiredo, 2010).
Langkah-langkah encoding pada algoritma Elias Delta Code adalah sebagai
berikut:
1. Tulis bilangan dalam bentuk biner
2. Buang bit paling kiri pada bentuk biner bilangan.
3. Hitung sisa bit pada langkah 2 ditambah 1 dan tuliskan hasilnya dalam bentuk biner
di depan bilangan pada langkah 2.
4. Hitung jumlah bit pada langkah 3 dikurang 1 dan tuliskan jumlahnya dalam bentuk
biner 0 lalu sisipkan bilangan tersebut pada awalan bilangan pada langkah 3.
Sebagai contoh kasus pada bilangan 36.
1. 36 100000
2. Buang bit paling kiri maka 00000
3. Sisa bit pada langkah 2 + 1 5 + 1 = 6 dalam bentuk biner ditulis 110, maka
bilangan sementara adalah 110 | 00000
Universitas Sumatera Utara
11
4. Jumlah bit pada bilangan 110 adalah 3, maka 3-1= 2. Maka bilangan biner dari
langkah ini adalah 00 dimasukkan kedalam bilangan pada langkah 3, sehingga
didapat 00 | 110 | 00000 atau 001100000
Langkah untuk mendecoding algoritma Elias Delta Code adalah sebagai berikut:
1. Baca bilangan biner 0 sampai di temukan angka 1
2. Jumlahkan jumlah biner 0 dengan 1 atau n’+1
3. Baca bit bilangan setelah biner 0 sesuai hasil yang didapatkan pada langkah 2. Lalu
kurangkan dengan 1 sehingga didapatkan n.
4. Dapatkan bilangan encodenya dengan menjumlahkan 2^n + x, x merupakan
bilangan yang sisa
Contoh kasus pada langkah encoding dari algoritma ini dapat kita terapkan pada
bilangan yang telah di decode sebelumnya yaitu 0011000000
1. Baca bilangan 0011000000, maka pada bilangan terdapat bolangan 0 sebanyak 2
buah.
2. Jumlahkan n’+1, maka 2+1=3
3. Selanjutnya adalah membaca 3 bit selanjutnya dari bilangan 0 yaitu 110 = 6 lalu
dikurangkan dengan 1 maka n = 6 -1 = 5
4. Maka bilangan encodenya adalah (2^5) + 0 = 32
Tabel 2.1. Tabel Elias Delta Code (Salomon, 2010)
1 = 20 + 0 → |L| = 0 → 1
10 = 23 + 2 → |L| = 3 → 00100010
2 = 21 + 0 → |L| = 1 → 0100
11 = 23 + 3 → |L| = 3 → 00100011
3 = 21 + 0 → |L| = 1 → 0101
12 = 23 + 4 → |L| = 3 → 00100100
4 = 22 + 0 → |L| = 2 → 01100
13 = 23 + 5 → |L| = 3 → 00100101
5 = 22 + 1 → |L| = 2 → 01101
14 = 23 + 6 → |L| = 3 → 00100110
6 = 22 + 2 → |L| = 2 → 01110
15 = 23 + 7 → |L| = 3 → 00100111
7 = 22 + 3 → |L| = 2 → 01111
16 = 24 + 0 → |L| = 4 → 001010000
8 = 23 + 0 → |L| = 3 → 00100000
17 = 24 + 1 → |L| = 4 → 001010001
9 = 23 + 1 → |L| = 3 → 00100001
18 = 24 + 2 → |L| = 4 → 001010010
Universitas Sumatera Utara
12
2.3.2. Algoritma Unary Coding
Unary Coding merupakan metode yang diinspirasi dari Neuroscience, di mana data
yang ada biasanya dikodekan secara spasial, sehingga lokasi menunjukkan letak data
tersebut. Hal ini dilakukan dengan menandai slot tertentu atau ditandai dengan symbol
yang berbeda untuk menjukkan nilai atau data yang ada pada slot tersebut (Kak,
2014).
Unary Coding umumnya direpresentasikan dalam sebuah string dari n bit 1
diikuti dengan satu bit 0 yang mengakhiri yang didefenisikan sebagai n-1 bit 1diikuti
satu bit 0, sebagaimana terlihat pada tabelTabel 1.2 Atau sebaliknya sebagai alternatif
dapat juga secara ekuivalen dimulai dari n bit 0 diikuti dengan bit 1 yang mengakhiri
yang didefenisikan sebagai n-1 bit 0 diikuti dengan satu bit 1 (Johana,2012).
Tabel 2.2 Tabel Unary Coding (Salomon, 2007)
2.4
N
Kode
Kode Alternatif
1
0
1
2
10
01
3
110
001
4
1110
0001
5
11110
00001
Pengukuran Kinerja Kompresi Data
Parameter yang digunakan untuk membandingkan kinerja dari kompresi data terdapat
4 bagian yaitu :
Universitas Sumatera Utara
13
a. Ratio Of Compression (RC)
Ratio of Compression (RC) merupakan hasil perbandingan antara data sebelum
dikompresi dengan data setelah dikompresi (Salomon, 2007)
RC=
b. Compression Ratio (CR)
Compression Ratio (CR) merupakan persentase besar data setelah dilakukan kompresi
(Salomon, 2007).
CR =
c. Space Saving (SS)
Space Saving adalah persentase selisih antara data yang belum dikompresi dengan
besar data yang dikompresi.
SS = 100% – CR
d. Waktu Kompresi
Waktu Kompresi merupakan waktu yang dibutuhkan suatu algoritma dalam
menjalankan proses kompresi terhadap suatu file. Apabila waktu yang dibutuhkan
untuk melakukan proses kompresi sedikit, maka hal tersebut akan menjadi indikator
efisien tidaknya suatu algoritma.
Universitas Sumatera Utara
LANDASAN TEORI
2.1 Kompresi Data
Kompresi data telah dimanfaatkan dalam berbagai aspek multimedia. gambar, audio
maupun video yang kita dapatkan dari web merupakan file yang telah terkompresi.
TV-HD juga merupakan hasil kompresi MPEG-2, kebanyakan modem juga
melakukan proses kompresi data, dan beberapa sistem berkas otomatis mengkompresi
data ketika data tersimpan (Blelloch, 2013). Sehingga alasan kita membutuhkan
kompresi data yaitu karena tegnologi ini memudahkan kita mendapat informasi atau
data yang berkualitas dan tidak menghabiskan ruang penyimpanan kita.
Kompresi data merupakan seni atau ilmu yang memberikan informasi dalam
bentuk yang padat menggunakan struktur yang ada pada data asli dengan tujuan untuk
mengurangi jumlah bit pada data yang terkompresi (Sayood, 2016).
Data dapat
berupa karakter dalam file text, maupun nomor yang merupakan representasi dari file
gambar. Kompresi data terdiri dari 2 komponen yaitu sebuah algoritma encoding yaitu
algoritma yang membuat pesan atau text menjadi terkompresi sehingga jumlah bit
yang ada dalam file tersebut menjadi lebih sedikit, dan algoritma decoding yaitu
algoritma yang merekonstruksi file terkompresi menjadi file asli.
Kompresi data adalah proses mengkonversi atau mengubah data input atau data
asli menjadi data yang memiliki ukuran yang lebih kecil. Kompresi data menjadi
popular dikarenakan dua hal yakni perilaku manusia yang suka menumpuk data dan
tidak suka membuangnya dan ketidak senangan manusia dalam menunggu transfer
data yang lama (Salomon, 2007). Dalam melakukan kompresi dilakukan 2 metode
yaitu Kompresi dan Decompresi. Kompresi merupakan metode atau algoritma untuk
mencapai tujuan kompresi pada data asli. Dibalik setiap algoritma terdapat ide, model
Universitas Sumatera Utara
6
matematika atau teknik implementasi untuk mencapai tujuan dalam mengkompresi
data dengan mempertimbangkan aspek efisiensi dan keefektifan kompresi.
Dekompresi merupakan teknik untuk mengembalikan data yang telah dikompresi
supaya data dapat kembali ke dalam bentuk yang semula atau data awal (Pu, 2016)
Gambar 2.1 Skema Proses Kompresi File (Pu, 2016)
2.1.1. Jenis-Jenis Kompresi Data
Berdasarkan hasil kompresi atau ouput yang dihasilkan, kompresi data dibedakan
menjadi dua bagian yaitu kompresi Loseless dan kompresi Lossy (Pu, 2016)
a. Kompresi Loseless
Kompresi Loseless merupakan kompresi data yang tidak kehilangan detail informasi
yang dimiliki oleh data tersebut. Algoritma Loseless biasanya digunakan untuk data
yang penting, di mana rincian data tidak boleh ada yang hilang misalnya data text,
gambar medis dan data penting lainnya. Kompresi loseless disebut juga kompresi
reveresibel karena data asli dapat dibangun dengan sempurna saat proses dekompresi.
Universitas Sumatera Utara
7
Gambar 2.2 Ilustrasi Kompresi Loseless (Pu, 2016)
b. Kompresi Lossy
Kompresi Lossy merupakan kompresi data yang tidak memungkinkan untuk
mengembalikan data seperti data awal, artinya akan ada data yang hilang setelah data
dikompresi. Kompresi Lossy biasanya digunakan untuk mengkompresi file audio,
video dan gambar karena data tersebut terkait pada penglihatan dan pendengaran
manusia.
Gambar 2.3 Ilustrasi Kompresi Lossy (Pu, 2016)
2.2
File Text
File Text merupakan baris data yang tersusun atas karakter berupa huruf, angka
maupun simbol yang merupakan hasil representasi dari kode ASCII. File text dapat
diidentifikasi berdasarkan extensi yang tercantum pada nama file tersebut, seperti
extensi .doc maupun .txt. Karakter merupakan semua data yang tersimpan dengan
format 0 dan 1. Dalam fungsi Boolean 0 didefinisikan sebagai False dan 1 sebagai
True. Namun dalam kode Binary nilai 1 dan 0 disebut sebagai bit karakter.
Universitas Sumatera Utara
8
ASCII (American Standard Code for Information Interchange) dan EBCDIC
(Extended Binary Coded Decimal Interchange Code) merupakan cikal bakal dari set
karakter lainnya. ASCII terdiri dari 128 buah karakter yang masing-masing memiliki
lebar 7-bit atau tujuh angka 0 dan 1, dari 0000000 sampai dengan 1111111. Mengapa
7-bit? Karena komputer pada awalnya memiliki ukuran memori yang sangat terbatas,
dan 128 karakter dianggap memadai untuk menampung semua huruf Latin dengan
tanda bacanya, dan beberapa karakter kontrol. ASCII telah dibakukan oleh ANSI
(American National Standards Institute) menjadi standar ANSI X3.4-1986. EBCDIC
merupakan set karakter yang merupakan ciptaan dari IBM. Salah satu penyebab IBM
menggunakan set karakter di luar ASCII sebagai standar pada komputer ciptaan IBM
adalah karena EBCDIC lebih mudah dikodekan pada punch card yang pada tahun
1960-an masih jamak digunakan. Penggunaan EBCDIC pada mainframe IBM masih
terbawa hingga saat ini, walaupun punch card sudah tidak digunakan lagi. Seperti
halnya ASCII, EBCDIC juga terdiri dari 128 karakter yang masing-masing berukuran
7-bit. Hampir semua karakter pada ASCII juga terdapat pada set karakter EBCDIC.
(Sudewa, 2003).
2.2.1 Format Teks
Secara umum, format data text dibagi menjadi tiga bagian, yaitu (Rahmat,Roswanto,
2005):
a. Plain Text (Unformatted Text)
Teks adalah data dalam bentuk karakter. Teks dalam hal ini adalah kode ASCII dan
ASCII extension seperti UNICODE murni. Tiap-tiap karakter direpresentasikan oleh 7
bit “binary digit” (desimal = 0-127) . Plain text dapat berupa text yang kita ketik
menggunakan Notepad (.txt). Plain Text tidak mengandung embedded information,
seperti informasi font, link, dan inline-image.
b. Formatted Text (Rich Text Format)
Formatted Text merupakan serangkaian karakter format yang telah didefinisikan. rich
text dapat berupa file berformat Wordpad (.rtf). Pada Wordpad plain text telah
Universitas Sumatera Utara
9
diformat sedemikian rupa dengan menggunakan aturan (tag/tanda) tertentu sehingga
text tersebut dapat di-bold, italics, underline, diwarna, diganti font, dan lain-lain.
c. Hypertext
Hypertext adalah text yang memiliki fasilitas linking.
Contoh hypertext :
1. HTML (Hypertext Markup Language)
Merupakan standard bahasa yang digunakan untuk menampilkan document web.
Yang bisa kita lakukan dengan HTML yaitu:
- Mengontrol tampilan dari web page dan contentnya.
- Mempublikasikan document secara online sehingga bisa di akses dari seluruh dunia.
- Membuat online form untuk menangani pendaftaran, transaksi secara online.
- Menambahkan objek-objek seperti image, audio, video dan juga java applet..
- Mendukung link (sebuah hubungan dari satu dokumen kedokumen lain).
2. XML (eXtensible Markup Language)
Keunggulan dan keuntungan dari XML adalah:
- Simple, karena XML tidak serumit HTML, strukturnya jelas, dan sederhana.
- Intelligence, karena XML mampu menangani berbagai komplesitas markup.
- Portable, karena memisahkan data dan presentasi
- Fast, pencarian data cepat
- Extensible, dapat ditukar/digabung dengan dokumen XML lain.
- Linking, XML dapat melakukan linking yang lebih baik daripada HTML
- Maintenance, XML mudah untuk diatur dan dipelihara, karena hanya berupa data,
stylesheet dan link terpisah dari XML.
2.3
Algoritma
Algoritma merupakan urutan logis langkah-langkah penyelesaian masalah yang
disusun secara sistematis (Munir, 2005). Ditinjau dari sisi sejarah, kata Algoritma
Universitas Sumatera Utara
10
awalnya disebut algorism yang berarti orang yang menggunakan angka Arab. Kata
algorism berasal dari nama penulis buku Arab yaitu Abu Ja’Far Muhammad Ibnu
Musa Al-Khuarizmi (Al-Khuarizmi dibaca orang Barat menjadi algorism). AlKhuarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Mukabala, yang artinya
“Buku Pemugaran Dan Pengurangan”. Perubahan kata algorism menjadi algoritm
muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –
sm berubah menjadi –thm. Karena perhitungan dengan angka arab sudah menjadi hal
yang biasa, maka kata algorithm
berangsur-angsur dipakai sebagai metode
perhitungan secara umum. Dalam bahasa Indonesia, kata algorithm diserap menjadi
algoritma.
2.3.1. Algoritma Elias Delta Code
Algoritma Elias Delta Code merupakan terobosan yang dibuat oleh Piter Elias sebagai
algoritma yang lebih canggih yang menerapkan Elias Gamma Code sebagai dasar
algoritmanya (Figueiredo, 2010).
Langkah-langkah encoding pada algoritma Elias Delta Code adalah sebagai
berikut:
1. Tulis bilangan dalam bentuk biner
2. Buang bit paling kiri pada bentuk biner bilangan.
3. Hitung sisa bit pada langkah 2 ditambah 1 dan tuliskan hasilnya dalam bentuk biner
di depan bilangan pada langkah 2.
4. Hitung jumlah bit pada langkah 3 dikurang 1 dan tuliskan jumlahnya dalam bentuk
biner 0 lalu sisipkan bilangan tersebut pada awalan bilangan pada langkah 3.
Sebagai contoh kasus pada bilangan 36.
1. 36 100000
2. Buang bit paling kiri maka 00000
3. Sisa bit pada langkah 2 + 1 5 + 1 = 6 dalam bentuk biner ditulis 110, maka
bilangan sementara adalah 110 | 00000
Universitas Sumatera Utara
11
4. Jumlah bit pada bilangan 110 adalah 3, maka 3-1= 2. Maka bilangan biner dari
langkah ini adalah 00 dimasukkan kedalam bilangan pada langkah 3, sehingga
didapat 00 | 110 | 00000 atau 001100000
Langkah untuk mendecoding algoritma Elias Delta Code adalah sebagai berikut:
1. Baca bilangan biner 0 sampai di temukan angka 1
2. Jumlahkan jumlah biner 0 dengan 1 atau n’+1
3. Baca bit bilangan setelah biner 0 sesuai hasil yang didapatkan pada langkah 2. Lalu
kurangkan dengan 1 sehingga didapatkan n.
4. Dapatkan bilangan encodenya dengan menjumlahkan 2^n + x, x merupakan
bilangan yang sisa
Contoh kasus pada langkah encoding dari algoritma ini dapat kita terapkan pada
bilangan yang telah di decode sebelumnya yaitu 0011000000
1. Baca bilangan 0011000000, maka pada bilangan terdapat bolangan 0 sebanyak 2
buah.
2. Jumlahkan n’+1, maka 2+1=3
3. Selanjutnya adalah membaca 3 bit selanjutnya dari bilangan 0 yaitu 110 = 6 lalu
dikurangkan dengan 1 maka n = 6 -1 = 5
4. Maka bilangan encodenya adalah (2^5) + 0 = 32
Tabel 2.1. Tabel Elias Delta Code (Salomon, 2010)
1 = 20 + 0 → |L| = 0 → 1
10 = 23 + 2 → |L| = 3 → 00100010
2 = 21 + 0 → |L| = 1 → 0100
11 = 23 + 3 → |L| = 3 → 00100011
3 = 21 + 0 → |L| = 1 → 0101
12 = 23 + 4 → |L| = 3 → 00100100
4 = 22 + 0 → |L| = 2 → 01100
13 = 23 + 5 → |L| = 3 → 00100101
5 = 22 + 1 → |L| = 2 → 01101
14 = 23 + 6 → |L| = 3 → 00100110
6 = 22 + 2 → |L| = 2 → 01110
15 = 23 + 7 → |L| = 3 → 00100111
7 = 22 + 3 → |L| = 2 → 01111
16 = 24 + 0 → |L| = 4 → 001010000
8 = 23 + 0 → |L| = 3 → 00100000
17 = 24 + 1 → |L| = 4 → 001010001
9 = 23 + 1 → |L| = 3 → 00100001
18 = 24 + 2 → |L| = 4 → 001010010
Universitas Sumatera Utara
12
2.3.2. Algoritma Unary Coding
Unary Coding merupakan metode yang diinspirasi dari Neuroscience, di mana data
yang ada biasanya dikodekan secara spasial, sehingga lokasi menunjukkan letak data
tersebut. Hal ini dilakukan dengan menandai slot tertentu atau ditandai dengan symbol
yang berbeda untuk menjukkan nilai atau data yang ada pada slot tersebut (Kak,
2014).
Unary Coding umumnya direpresentasikan dalam sebuah string dari n bit 1
diikuti dengan satu bit 0 yang mengakhiri yang didefenisikan sebagai n-1 bit 1diikuti
satu bit 0, sebagaimana terlihat pada tabelTabel 1.2 Atau sebaliknya sebagai alternatif
dapat juga secara ekuivalen dimulai dari n bit 0 diikuti dengan bit 1 yang mengakhiri
yang didefenisikan sebagai n-1 bit 0 diikuti dengan satu bit 1 (Johana,2012).
Tabel 2.2 Tabel Unary Coding (Salomon, 2007)
2.4
N
Kode
Kode Alternatif
1
0
1
2
10
01
3
110
001
4
1110
0001
5
11110
00001
Pengukuran Kinerja Kompresi Data
Parameter yang digunakan untuk membandingkan kinerja dari kompresi data terdapat
4 bagian yaitu :
Universitas Sumatera Utara
13
a. Ratio Of Compression (RC)
Ratio of Compression (RC) merupakan hasil perbandingan antara data sebelum
dikompresi dengan data setelah dikompresi (Salomon, 2007)
RC=
b. Compression Ratio (CR)
Compression Ratio (CR) merupakan persentase besar data setelah dilakukan kompresi
(Salomon, 2007).
CR =
c. Space Saving (SS)
Space Saving adalah persentase selisih antara data yang belum dikompresi dengan
besar data yang dikompresi.
SS = 100% – CR
d. Waktu Kompresi
Waktu Kompresi merupakan waktu yang dibutuhkan suatu algoritma dalam
menjalankan proses kompresi terhadap suatu file. Apabila waktu yang dibutuhkan
untuk melakukan proses kompresi sedikit, maka hal tersebut akan menjadi indikator
efisien tidaknya suatu algoritma.
Universitas Sumatera Utara