Kompresi Dan Dekompresi Data Menggunakan LZ String Pada Pemrograman PHP

LZ-string adalah sebuah algoritma yang berfungsi untuk kompresi dan dekompresi data. Tujuan algoritma tersebut adalah untuk dapat mengurangi ukuran string. LZ-string dirancang untuk bekerja pada data data teks atau yang sering disebut dengan string, dan algoritma ini dapat menghasilkan output size file yang lebih kecil dibandingkan dengan representasi teks aslinya.


Sekilas Mengenai LZ-String

LZ-string dirancang dengan konsep kompresi dan dekompresi yang tidak terpisahkan. Artinya algoritma ini menyediakan transformasi data secara dua arah. Oleh sebab itu LZ-string tidak sesuai apabila konteksnya digunakan untuk enkripsi keamanan data.


Singkatan "LZ" merujuk pada "Lempel-Ziv," yang mengacu pada keluarga algoritma kompresi yang umum digunakan. Algoritma ini memanfaatkan pengulangan dan pola dalam data untuk mengurangi redundansi dan, akhirnya, menghasilkan bentuk yang lebih ringkas. Manfaat yang diperoleh dari proses ini menghasilkan sebuah deret data string yang lebih ringkas dan sangat cocok digunakan dalam komunikasi data pada sistem lokal.


Untuk mengamankan data yang sudah dikompresi menggunakan LZ-string ini, biasanya dilanjutkan dengan proses enkripsi. Beberapa programer menggunakan LZ-string tersebut bersamaan dengan enkripsi JWT atau enkripsi DES guna mengamankan datanya. Artinya setelah string melalui proses kompresi, selanjutnya dienkrip dan barulah data aman untuk dikirim.


Adapun tahapan LZ-String tersebut dijelaskan sebagai berikut:

  • Kompresi
    Pada tahap kompresi, LZ-string mencari pola pengulangan dalam string input dan menggantinya dengan representasi yang lebih pendek. Dengan cara ini, string dapat direpresentasikan dengan lebih efisien.
  • Dekompresi
    Pada tahap dekompresi, string yang terkompresi dapat dikembalikan ke bentuk aslinya dengan menggantikan representasi pendek dengan pola pengulangan sesuai.
  • Base64 Encoding
    LZ-string sering kali digunakan bersama dengan encoding Base64. Setelah melakukan kompresi, hasilnya sering kali diubah ke dalam format Base64 untuk memastikan bahwa data yang dikompresi dapat dengan mudah diwakili sebagai string teks yang aman.


Implementasi LZ-String Pada Pemrograman PHP

Untuk implementasi penggunaan algoritma LZ-string pada pemrograman PHP dapat dilakukan dengan sangat mudah. Pada kesempatan kali ini, kita akan menggunakan sebuah library yang dibuat oleh 'nullpunkt'. Lebih jelasnya kita mulai dengan tahap-tahap penggunaannya:


1. Instal Library LZ-String PHP

Tahap awal, silahkan buat sebuah project kosong terlebih dulu. Anda harus menginstal composer terlebih dulu untuk memperoleh library LZ-string PHP. Apabila belum silahkan instal composer nya. Apabila sudah, silahkan masuk ke terminal pada project yang anda buat tadi kemudian ketikan perintah berikut :

  1. composer require nullpunkt/lz-string-php
. Tunggu beberapa saat sampai proses selesai. Apabila berhasil maka sekarang anda memiliki sebuah volder dengan nama 'Vendor' yang mana di dalamnya sudah ada subdirectory dari library LZ-string PHP tersebut.


2. Buat Halaman index.php

Untuk mempermudah pada saat uji coba script nya nanti, kita buat contoh program sederhananya. Silahkan buat file baru dengan nama index.php. Setelah itu ketik script dasar berikut ini: Keterangan :

  • Pada baris ke 7 dan 8 kita masukan CDN bootstrap agar tampilan nampak rapih. Jadi jangan lupa untuk koneksi internetnya.
  • Baris ke 88 gunakan plugin jQuery agar proses bisa berlangsung cepat. Silahkan download filenya dan tempatkan pada folder vendor project yang tadi dibuat.
  • Pada baris 90 sampai dengan 115 merupakan code jQuery yang menangani form untuk bisa langsung diproses.


3. Buat File ProsesEnkripsi.php

Untuk melakukan proses enkripsi ketika string sudah diinputkan pada form, buat sebuah file dengan nama ProsesEnkripsi.php kemudian ketik script berikut ini :

  1. <?php
  2. include "vendor/autoload.php";
  3. function compress($string){
  4. return \LZCompressor\LZString::compressToBase64($string);
  5. }
  6. if(!empty($_POST['string'])){
  7. $string=$_POST['string'];
  8. }else{
  9. $string="";
  10. }
  11. $enkripsi=compress($string);
  12. echo $enkripsi;
  13. ?>


4. Buat File ProsesDekripsi.php

Sebaliknya untuk melakukan proses dekripsi dari hasil tadi, silahkan buat sebuah file dengan nama ProsesDekripsi.php kemudian ketik baris kode berikut ini :

  1. <?php
  2. include "vendor/autoload.php";
  3. function decompress($string){
  4. return \LZCompressor\LZString::decompressFromEncodedURIComponent($string);
  5. }
  6. if(!empty($_POST['string'])){
  7. $string=$_POST['string'];
  8. }else{
  9. $string="";
  10. }
  11. $dekripsi=decompress($string);
  12. echo $dekripsi;
  13. ?>

5. Jalankan Program

Simpan semua perubahan, kemudian coba buka programnya. Apabila berhasil maka hasilnya akan seperti ini:

Sekarang coba ketik apa saja pada kolom string sebelah kiri kemudian klik pada tombol enkripsi. Hasilnya akan tampil pada kolom dibawahnya. Lalu pada kolom sebelah kanan masukan output tadi dan lakukan hal yang sama dengan memilih tombol dekripsi.

0 komentar:

Post a Comment

Silahkan kirim komentar