Algorima Run-Length-Encoding RLE Algoritma Lempel-Ziv-Welch LZW

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