Analisis Algoritma LZW Implementasi Algoritma Kriptografi Des, RSA Dan Algoritma Kompresi LZW Pada Berkas Digital

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