Algoritme LZ77 adalah algoritme pemampatan data (Data Compression) yang bersifat lossless. Algoritme ini ditemukan oleh Abraham Lempel dan Jacob Ziv. Algoritme LZ77 termasuk algoritme pengkodean yang disebut sebagai dictionary based encoding dan juga dikenal sebagai algoritme LZ1.
Pada prosesnya, algoritme LZ77 menggunakan 2 buffer yaitu Lookahead Buffer dan Dictionary Buffer. Kegunaan dari look ahead buffer adalah untuk menyimpan simbol karakter yang akan dikodekan, sedangkan kegunaan dari dictionary buffer adalah untuk menyimpan simbol karakter yang baru saja dikodekan.
Keluaran dari proses pengkodean menggunakan algoritme LZ77 akan terdiri dari 3 bagian yaitu (p, l dan c) dimana p adalah nilai posisi yang cocok diantara dictionary buffer dan lookahead buffer, l adalah panjang karakter yang cocok diantara dictionary buffer dan lookahead buffer dan c adalah karakter berikutnya yang tidak cocok antara dictionary buffer dan lookahead buffer.
Gambar 1 menunjukkan contoh proses pengkodean dengan menggunakan algoritme LZ77. Pada contoh tersebut, string yang akan dikodekan adalah "abracadabrarray", sedangkan window yang digunakan adalah window dengan ukuran 14 dan terdiri dari dictionary buffer (search buffer) yang berukuran 8 serta lookahead buffer yang berukuran 6.
Gambar 2 dibawah ini menunjukkan proses penerjemahan data yang telah dikodekan sebelumnya dengan menggunakan algoritme LZ77.
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H