53
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
3.3 Analisis Algoritma LZW
Algortima LZW merupakan salah satu algoritma yang menggunakan metode dictionary. Algoritma ini mereduksi jumlah token yang dibutuhkan menjadi satu
simbol saja. Simbol ini merujuk kepada indeks dalam dictionary. LZW memulai isi kamus dengan nilai-nilai ASCII, yaitu dari 0-255. Berarti kamus dalam LZW secara
otomatis sudah terisi sebanyak 256 karakter.
Prinsip kerja LZW dimulai dengan membaca karakter masukan satu persatu dan diakumulasikan pada sebuah string i. Lalu dilakukan pencarian dalam dictionary,
apakah terdapat string i. selama string i ditemukan di dalam kamus, string ini akan ditambahkan dengan satu karakter berikutnya, setelah diperiksa di dalam kamus, maka
tidak ditemukan karakter tersebut. Maka akan diambil karakter sebelumnya sebagai output dan karakter yang baru tersebut ditambahkan ke dalam kamus. Berikut
merupakan langkah-langkah dalam melakukan kompresi LZW :
a. Proses pertama yang dilakukan adalah menginputkan berkas yang akan
dikompresi. b.
Selanjutnya menginisialisasi 256 pertama dari kamus dengan karakter-karakter ASCII.
c. Baca karakter pertama dari berkas sumber, selanjutnya baca karakter berikutnya,
jika karakter kedua terdapat dalam kamus, maka lanjutkan dengan membaca karakter berikutnya, akan tetapi jika karakter kedua tidak ada dalam kamus, maka
tambahkan kedua karakter tersebut ke dalam kamus. Maka yang akan diambil sebagai outputnya adalah adalah karakter pertama, sedangkan karakter kedua
dijadikan karakter pertama pada proses berikutnya. d.
Proses tersebut akan berlanjut sampai karakter terkahir dari berkas diproses.
54
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
Gambar3.11 merupakan flowchart dari proses kompresi dengan algoritma LZW
Gambar 3.11 Flowchart kompresi LZW
55
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
Setelah dilakukan proses kompresi, untuk dapat memanfaatkan kembali berkas yang telah dikompresi tersebut, maka perlu proses deskripsi, yaitu proses pembalikan
ukuran data kembali seperti semula. Berikut langkah-langkah yang dilakukan dalam proses deskripsi :
a. Proses pertama yaitu membaca string masukan terhadap berkas-berkas yang telah
dikompresi. b.
Proses berikutnya menginisialisasi isi dari kamus pertama dengan 256 karakter ASCII.
c. Konversi teks ke dalam bentuk token.
d. Kemudian baca token pertama selanjutnya disimpan pada variabel x.
e. Ambil nilai elemen pada indeks x dari kamus simpan pada variabel word, element
dan output. f.
Selanjutnya baca satu token berikutnya dari teks, lalu simpan nilainya pada variabel x.
g. Jika nilai x terdapat dalam kamus, maka ambil nilai elemen pada indeks x dari
kamus simpan pada variabel element, akan tetapi jika nilai x tidak terdapat dalam kamus variabel element berisi word ditambahkan dengan karakter pertama dari
word, kemudian tambahkan word dengan karakter pertama dari element ke dalam kamus.
h. Proses selanjutnya yaitu tambahkan isi element ke dalam variabel output, dan
kemudian pindahkan nilai variabel element ke word. Lakukan proses di atas sampai akhir dari berkas teks tersebut.
56
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
Gambar 3.12 merupakan flowchart dari proses dekompresi dengan algoritma LZW.
Gambar 3.12 Flowchart dekompresi LZW
M. Yuli Andri : Implementasi Algoritma Kriptografi Des, Rsa Dan Algoritma Kompresi LZW Pada Berkas Digital, 2009.
BAB 4
IMPLEMENTASI
4.1 Umum