Elias Gamma Code Analisa Data

24 sama dengan riset pustaka. Historical research dilakukan dengan membaca buku- buku dan literatur serta mengikuti pola dari literatur maupun buku yang dibaca.

3.2. Data Yang Digunakan

Pada penelitian ini penulis akan menggunakan file dokumen teks yang terdapat huruf kecil, huruf besar kapital, tanda baca dan angka numerik dengan jumlah karakter yang berbeda-beda. Untuk file dokumen yang digunakan dalam proses kompresi dapat dilihat pada tabel 3.1 berikut. Tabel 3.1. Jenis File Dokumen Yang Akan Dikompresi No Nama Dokumen Variasi Teks 1 Dokumen U10k.txt File teks dengan jumlah karakter di bawah 10.000 2 Dokumen U20k.txt File teks dengan jumlah karakter di bawah 20.000 3 Dokumen U30k.txt File teks dengan jumlah karakter di bawah 30.000 4 Dokumen U45k.txt File teks dengan jumlah karakter di bawah 45.000 5 Dokumen U60k.txt File teks dengan jumlah karakter di bawah 60.000

3.3. Analisa Data

3.3.1. Elias Gamma Code

Langkah-langkah kompresi dengan algoritma Elias Gamma Code, dapat dilihat pada gambar 3.1 berikut. Universitas Sumatera Utara 25 Gambar 3.1. Diagram Kompresi Algoritma Elias Gamma Code Bentuk Tabel Kode Elias Gamma Masukkan File Teks Pembacaan Scanning Isi File Bentuk Peta Kode Karakter dan Frekuensi Kemunculan Tiap Karakter Ganti Karakter Pada File Sesuai dengan Tabel Kode Simpan Hasil ke File Output Generate Kode Elias Gamma ke ASCII Timer Stop Timer Start Sort Z-A Rasio Kompresi Space Saving Kecepatan Kompresi Universitas Sumatera Utara 26 Langkah pertama dalam melakukan kompresi file adalah dengan memasukkan file teks dokumen.txt. Isi file dokumen.txt adalah SEKELOMPOK KAWANAN GAJAH SEDANG MANDI DI KALI. Setelah file teks diterima maka Timer akan mulai melakukan pencatatan waktu yang diperlukan untuk melakukan proses kompresi mulai awal hingga selesai. Langkah selanjutnya adalah dengan melakukan pembacaan isi file scanning. Pada tahap ini akan dilakukan pembentukan karakter set yaitu karakter-karakter yang terdapat pada isi file. Setelah karakter set diperoleh maka frekuensi kemunculan untuk tiap-tiap karakter akan dihitung. Berikut adalah hasil scanning terhadap file dokumen.txt: Karakter set = {S, E, K, L, O, M, P, SPASI, A, W, N, G, J, H, D, I} Frekuensi Karakter = S = 2 A = 8 E = 3 W = 1 K = 4 N = 4 L = 2 G = 2 O = 2 J = 1 M = 2 H = 1 P = 1 D = 3 SPASI = 6 I = 3 Setelah karakter set dan frekuensi kemunculan tiap karakter diketahui maka selanjutnya karakter set akan diurutkan berdasarkan frekuensi kemunculannya mulai dari karakter dengan frekuensi kemunculan terbesar ke karakter dengan frekuensi kemunculan terkecil. Jika terdapat lebih dari satu karakter dengan frekuensi kemunculan yang sama maka diurutkan berdasarkan abjad. Untuk hasil pengurutan karakter set dan frekuensi karakter dapat dilihat pada tabel 3.2 di bawah ini. Universitas Sumatera Utara 27 Tabel 3.2. Hasil Pengurutan Karakter Set Kompresi Kode Elias Gamma No Karakter Frekuensi Karakter 1 A 8 2 SPASI 6 3 K 4 4 N 4 5 D 3 6 E 3 7 I 3 8 G 2 9 L 2 10 M 2 11 O 2 12 S 2 13 H 1 14 J 1 15 P 1 16 W 1 Langkah selanjutnya adalah dengan membentuk tabel kode Elias Gamma. Untuk kode-kode yang terbentuk pada tabel kode Elias Gamma dapat dilihat pada tabel 2.1. Setelah itu karakter-karakter yang terdapat pada file dokumen yang akan dikompresi diganti dengan kode yang terdapat pada tabel kode Elias Gamma. Setelah diganti, hitung jumlah bit untuk tiap karakter. Untuk hasil pergantian karakter pada file dokumen dengan kode Elias Gamma dapat dilihat pada tabel 3.3 di bawah ini: Universitas Sumatera Utara 28 Tabel 3.3. Penggantian Karakter Dengan Kode Elias Gamma No Karakter Frekuensi Karakter Kode Elias Gamma Bit Frekuensi x Bit 1 A 8 1 1 8 2 SPASI 6 010 3 18 3 K 4 011 3 12 4 N 4 00100 5 20 5 D 3 00101 5 15 6 E 3 00110 5 15 7 I 3 00111 5 15 8 G 2 0001000 7 14 9 L 2 0001001 7 14 10 M 2 0001010 7 14 11 O 2 0001011 7 14 12 S 2 0001100 7 14 13 H 1 0001101 7 7 14 J 1 0001110 7 7 15 P 1 0001111 7 7 16 W 1 000010000 9 9 Total Char 45 Total Bit 203 Setelah diketahui kode untuk masing-masing karakter maka akan diperoleh sebuah string bit untuk dokumen.txt dengan isi dokumen adalah SEKELOMPOK KAWANAN GAJAH SEDANG MANDI DI KALI seperti yang terlihat pada gambar 3.2 di bawah ini: Gambar 3.2. String Bit Kode Elias Gamma Pada dokumen.txt 00011000011001100110000100100010110001010000111 10001011011010011100001000010010010010001000010 00100011101000110101000011000011000101100100000 10000100001010100100001010011101000101001110100 111000100100111 Universitas Sumatera Utara 29 Selanjutnya adalah melakukan generate string bit kode Elias Gamma pada dokumen.txt menjadi kode ASCII. Namun sebelum melakukan generate dilakukan pemeriksaan terhadap panjang string bit dokumen.txt terlebih dahulu. Berikut adalah langkah-langkah dalam melakukan pemeriksaan terhadap panjang string bit : 1. Jika sisa bagi panjang string bit terhadap 8 adalah 0 maka tambahkan 00000001. Nyatakan dengan Bit Akhir. 2. Jika sisa bagi panjang string bit terhadap 8 adalah n 1, 2, 3, 4, 5, 6, 7 maka tambahkan 0 sebanyak 7 – n +”1” di akhir string bit. Nyatakan dengan L. Lalu tambahkan bilangan biner dari 9 - n. Nyatakan dengan Bit Akhir. Langkah-langkah pemeriksaan string bit dapat dilihat pada gambar 3.3. dan gambar 3.4 di bawah ini: Gambar 3.3. Pemeriksaan Panjang String Bit Kode Elias Gamma Gambar 3.4. Hasil Penambahan Pada String Bit Kode Elias Gamma 00011000011001100110000100100010110001010000111 10001011011010011100001000010010010010001000010 00100011101000110101000011000011000101100100000 10000100001010100100001010011101000101001110100 111000100100111 Jumlah Total 203 bit N = MOD 203,8 = 3 L = 7 – 3 + “1” = 00001 Bit Akhir = 9 – n = 6 00000110 00011000011001100110000100100010110001010000111 10001011011010011100001000010010010010001000010 00100011101000110101000011000011000101100100000 10000100001010100100001010011101000101001110100 1110001001001110000100000110 Universitas Sumatera Utara 30 Hasil generate kode Elias Gamma menjadi kode ASCII dapat dilihat pada gambar 3.5 di bawah ini: Gambar 3.5. Hasil Generate String Bit Kode Elias Gamma Ke ASCII Hasil generate pada gambar 3.5 akan disimpan pada file output lalu Timer akan berhenti melakukan pencatatan waktu. Rasio kompresi dan space saving dari proses kompresi yang ditandai dengan dimulainya perhitungan waktu hingga diberhentikannya waktu adalah sebagai berikut: Input Stream = 45 x 8 = 360 Output Stream = 203 � � � � � = x = . ��� ��� � = − . = . 00011000 01100110 01100001 00100010 11000101 00001111 00010110 11010011 10000100 00100100 10010001 00001000 10001110 10001101 01000011 00001100 01011001 00000100 00100001 01010010 00010100 11101000 10100111 01001110 00100100 11100001 00000110 00000000 00000000 00000000 0000000 Universitas Sumatera Utara 31 Langkah-langkah dekompresi dengan algoritma Elias Gamma Code, dapat dilihat pada gambar 3.6 di bawah ini. Gambar 3.6. Diagram Dekompresi Algoritma Elias Gamma Code Langkah pertama dalam melakukan dekompresi file adalah dengan memasukkan file hasil kompresi. Saat file dimasukkan Timer akan mulai melakukan pencatatan waktu yang dilanjutkan dengan melakukan generate terhadap isi file ke binary. Hasil generata isi file menjadi binary dapat dilihat pada gambar 3.7 di bawah ini: Masukkan File Teks Generate Isi File Ke Binary Ganti String Bit Sesuai Dengan Tabel Kode Elias Gamma Simpan Hasil ke File Output Timer Stop Timer Start Kembalikan Ke String Bit Semula Universitas Sumatera Utara 32 Gambar 3.7. Hasil Generate ASCII Ke Binary Selanjutnya adalah dengan mengembalikan binary menjadi string bit semula. Untuk mengembalikan binary menjadi string bit semula dapat dilakukan melalui langkah-langkah berikut ini: 1. Lakukan pembacaan pada 8 bit terakhir, hasil pembacaan berupa bilangan desimal. Nyatakan hasil pembacaan dengan n. 2. Hilangkan bit pada bagian akhir sebanyak 7 + n. Hasil pengembalian binary menjadi string bit semula dapat dilihat pada gambar 3.8 di bawah ini: Gambar 3.8. Pengembalian Binary Ke String Bit Semula Kode Elias Gamma 00011000011001100110000100100010110001010000111 10001011011010011100001000010010010010001000010 00100011101000110101000011000011000101100100000 10000100001010100100001010011101000101001110100 1110001001001110000100000110 00011000011001100110000100100010110001010000111 10001011011010011100001000010010010010001000010 00100011101000110101000011000011000101100100000 10000100001010100100001010011101000101001110100 1110001001001110000100000110 desimal n = 6 00011000011001100110000100100010110001010000111 10001011011010011100001000010010010010001000010 00100011101000110101000011000011000101100100000 10000100001010100100001010011101000101001110100 111000100100111 7 + n  7 + 6 = 13 Universitas Sumatera Utara 33 Setelah diperoleh string bit seperti semula, langkah selanjutnya adalah dengan menggantikan kode pada string bit berdasarkan Tabel 3.3 agar diperoleh isi dokumen seperti sebelum mengalami kompresi. Berikut adalah langkah-langkah untuk mengganti string bit berdasarkan tabel kode Elias Gamma: 1. Lakukan pembacaan string bit dari awal hingga ketemu 1. Catat posisi angka 1 dan nyatakan sebagai p. Nyatakan jumlah 0 dengan n. 2. Lanjutkan pembacaan string bit setelah angka 1 sebanyak n. 3. Ganti kode hasil pembacaann dengan karakter berdasarkan tabel 3.3. Hasil penggantian string bit berdasarkan tabel 3.3. ataupun hasil dekompresi dengan kode Elias Gamma dapat dilihat pada gambar 3.9. di bawah ini: Gambar 3.9. Hasil Dekompresi Kode Elias Gamma Hasil dekompresi pada gambar 3.9 akan disimpan pada file output lalu Timer akan berhenti melakukan pencatatan waktu. Hasil pencatatan waktu oleh Timer akan dijadikan sebagai pembanding kecepatan dekompresi. 00011000011001100110000100100010110001010000111 10001011011010011100001000010010010010001000010 00100011101000110101000011000011000101100100000 10000100001010100100001010011101000101001110100 111000100100111 SEKELOMPOK KAWANAN GAJAH SEDANG MANDI DI KALI Universitas Sumatera Utara 34

3.3.2. Elias Delta Code