2.2.2. Algorima Run-Length-Encoding RLE
Kompresi data teks dilakukan jika ada beberapa huruf yang sama yang ditampilkan berturut-turut.
Contoh: Data : ABCCCCCCCCDEFGGGG = 17 Karakter
RLE tipe 1 min. 4 huruf sama : ABC8DEFG4 = 14 Karakter
RLE ada yang menggunakan suatu karakter yang tidak digunakan dalam teks tersebut, seperti misalnya ‘’ untuk menandai. Kelemahan RLE jika ada karakter
angka, membedakan mana tanda mulai dan akhir menjadi rancu. Contoh: Data : ABCCCCCCCCDEFGGGG
= 14 Karakter RLE tipe 2
: -2AB8C-3DEF4G = 12 Karakter
Contoh: Data : AB12CCCCDEEEF = 13 Karakter
RLE tipe 2 : -4AB124CD3EF
= 12 Karakter RLE ada yang menggunakan flag bilangan negatif untuk menandai batas
sebanyak jumlah karakter tersebut. Berguna untuk data yang memiliki kesamaan, misal teks yang memiliki banyak kesamaan pola. Kondisi terbaik untuk RLE tipe 2
adalah ketika terdapat 127 karakter yang sama sehingga akan dikompres menjadi 2 byte
saja. Dan kondisi terburuk untuk RLE tipe 2 adalah ketika terdapat 127 karakter yang bebeda semua, maka terdapat 1 byte tambahan sebagai tanda jumlah karakter
yang tidak sama tersebut.
2.2.3. Algoritma Lempel-Ziv-Welch LZW
Menurut Linawati 2007, Algoritma LZW dikembangkan dari metode kompresi yang dibuat oleh Ziv dan Lempel pada tahun 1977. Algoritma ini
melakukan kompresi dengan menggunakan dictionary, di mana fragmen-fragmen teks digantikan dengan indeks yang diperoleh dari sebuah “kamus”. Pendekatan ini
bersifat adaptif dan efektif kaena banyak karakter dapat dikodekan dengan mengacu pada string yang telah muncul sebelumnya dalam teks. Prinsip kompresi tercapai
dalam bentuk pointer dapat disimpan dalam jumlah bit yang lebih sedikit dibandingkan string aslinya.
Sebagai contoh, string “ABBABABAC” akan dikompresi dengan LZW. Isi dictionary
pada awal proses diset dengan tiga karakter dasar yang ada: “A”, “B”, “C”. Tahapan proses kompresi ditunjukkan pada tabel 2.3.
Tabel 2.3. Tahapan Proses Kompresi LZW
Kolom posisi menyatakan posisi sekarang dari stream karakter dan kolom karakter menyatakan karakter yang terdapat pada posisi tersebut. Kolom dictionary
menyatakan string baru yang sudah ditambahkan ke dalam dictionary dan nomor indeks untuk string tersebut ditulis dalam kurung siku. Kolom output menyatakan
kode output yang dihasilkan oleh langkah kompresi. Hasil proses kompresi ditunjukkan pada gambar 2.5
Gambar 2.5. Hasil Proses Kompresi LZW String ”ABBABABAC”
2.3. Komunikasi Nirkabel Wireless