Implementasi Algoritma Stout Code untuk Kompresi Record Database pada Website Dinas Pariwista dan Kebudayaan Kabupaten Dairi
Helena Sartika Purba
Fakultas Ilmu Komputer dan Teknologi Informasi, Program Studi Teknik Informatika, Universitas Budi Darma Jalan Sisingamangaraja No. 338 Medan, Sumatera Utara, Indonesia
Email: [email protected] Abstrak
Metode penelitian yang dilakukan adalah pengumpulan data melalui studi literatur, wawancara, dan observasi serta menganalisa kebutuhan perangkat lunak, membangun database dengan mysql, merancang antar muka menggunakan PHP, melakukan pengujian program sebagai tahap akhir dalam pembuatan record database berbasis web. Dalam perancangan record database pada website Dinas Pariwisata Dan Kebudayaan Kabupaten Dairi terdapat proses prosedural yang dilakukan untuk mengumpulkan data. Terdapat 2 jenis data, yaitu data primer dan data sekunder . Pengumpulan data primer yang digunakan adalah observasi objek wisata di Kabupaten Dairi dan Dinas Pariwisata dan Kebudayaan Kabupaten Dairi. Sedangkan data sekunder dalam perancangan ini adalah data mengenai pariwisata dari buku,brosur, d an browsing di internet.Hasil perancangan berupa record database berbasis web yang diharapkan mampu menjadi sebuah media yang dapat mempromosikan wisata Kabupaten Dairi dan perancangan web ini diharapkan adanyaprose perancangan serupa untuk menghasilkan karya yang lebih baik dan lebih lengkap dari karya yang ada.
Kata Kunci: Kompresi, Record, Database, Algoritma Stout Code
1. PENDAHULUAN
Pemampatan data (data compression) merupakan salah satu kajian di dalam ilmu komputer yang bertujuan untuk mengurangi ukuran data sebelum menyimpan atau memindahkan data tersebut kedalam media penyimpanan (storage device). Jika data yang akan disimpan pada media peyimpanan semakin bertambah dan berukuran besar, maka menyimpan hardisk dapat full karena melebihi kapasitas penyimpanan. Kebiasaan manusia untuk mengumpulkan file dan tidak menghapusnya menyebabkan ruang penyimpanan semakin berkurang.
Dinas Pariwisata dan Kebudayaan Kabupaten Dairi merupakan bagian dari perangkat daerah Pemerintah Kabupaten Dairi sebagai pelaksanaan Otonomi Daerah dan penyelengaraan urusan pilihan Pariwisata serta wajib Kebudayaan.Dalam mengumpulkan data pada record database pada website terkadang sering terjadi kerangkapan data atau ada data yang sama hal itu juga menyebabkan ruang penyimpanan yang tersedia menjadi lebih sedikit. Salah satu yang sering terjadi yaitu pada Dinas Pariwisata dan Kebudayaan Dairi, dimana sekarang ini Database sering digunakan untuk menyimpan data baik itu tugas, makalah, skripsi, laporan ataupun yang lainya disimpan dalam bentuk data. Salah satu solusi untuk memecahkan masalah tersebut maka diperlukan suatu algoritma kompresi.
Pada penelitian sebelumnya yang telah dilakukan dengan judul penelitian “Implementasi Algoritma Stout Code pada kompresi Record Database pada Website Dinas Pariwisata dan Kebudayaan Kabupaten Dairi. aplikasi kompresi database dengan menerapkan algortima Stout Code” menyimpulkan bahwa Algoritma Stout Code akan berhenti melakukan proses kompresi apabila panjangbit karakter mencapai jumlah karakter terakhir dan algoritma tersebut dapat menangani proses untuk kompresi record database dengan cukup baik[1]. Dan menyimpulkan bahwa
rasio kompresi yang dihasilkan berdasarkan proses kompresi data menggunakan algoritma Stout Code menghasilkan data dengan ukuran lebih kecil dari sebelum dilakukan proses kompresi [2].
Banyak algoritma kompresi yang ada, salah satunya adalah algoritma stout codes, dimana kode panjang variabel untuk bilangan bulat. Penggunaan algoritma stout code pada aplikasi kompresi record database mengakibatkan ukuran data dapat berkurang dan menghemat ruang penyimpanan.
2. TEORITIS A. Kompresi
Kompresi berarti memampatkan atau mengecilkan ukuran. Sedangkan kompresi data adalah proses mengkodekan informasi menggunakan bit atau information- bearing unit yang lain yang lebih rendah daripada representasi data yang tidak terkodekan dengan suatu sistem encoding tertentu. Contoh kompresi sederhana yang biasa dilakukan misalnya adalah menyingkat kata-kata yang sering digunakan tapi sudah memiliki konvensi umum, misalnya : kata “yang” dikompres menjadi kata “yg’’[5].
B. Algoritma Stout Code
Dalam makalah pendeknya Quentin stout memperkenalkan dua keluarga RI dan SI dari rekursi, kode panjang variable untuk bilangan bulat, mirip dengan dan lebih umum. Stout code bersifat universal dan asimtotik optimal sebelum membaca sebelumnya pembaca diingankan bawah panjangn L dari Bilangan bulat n diberikan oleh L =1 + log2 n (persmaan(2.1)).
Dua kelompok kode tergantung pada pilihan parameter interger 1 sekali a nilai(lebih besar dari atau sama dengan 2) untuk 1 telah dipilih kata sandi dalam keluarga pertama terdiri dari awalan RI (n) dan akhiran 0n akhiran
adalah nilai biner dari n dalam bit L didahuluan oleh permisa 0 tunggal.itu awalan RI (n) terdiri dari grup panjang dimulai dengan panjang L dari n yaitu menduhului panjangn L1 dan L maka panjang L2 dari L1 dan seterusnya sampai panjang Li tercapai yang cukup pendek untuk masuk dalam kelompok 1- bit. Perhatikan bahwa kelompok panjang (kecuali mungkin yang paling kiri) dimulai dengan 1.dengan demikian permisa 0 tunggal menunjukkan akhir kelompok panjang.
Sebagai contoh kita memilih 1 = 2 dan mengkodekan interger 985 – bit n yang nilainya tepat tidak relevan.
Akhiran adalah string 986 – bit 0n dan awalan di mulai dengan grup L = 985 =11110110012 panjang L1 dari grup ini adalah 1010 =10102 panjang L2 dari kelompok kedua adalah 4 = 1002 dan panjang L3 adalah 3 = 112 lengkap oleh karena itu codeword adalah 11|100|1010|1111011001|0|n perhatikan bagaimana kelompok panjang di mulaidengan 1, yang menyiratkan bahwa setiap kelompok diikuti oleh 1, kecuali kelompok panjang terakhir yang diikuti oleh 0.
Penguraian sederhana. Dekoder dimulai dengan membaca bit pertama. Ini adalah panjang grup berikutnya. Semakin banyak grup panjang dibaca, hingga grup ditemukan yang diikuti oleh 0.Ini menunjukkan bahwa grup berikutnya adalah n itu sendiri.Dengan latar belakang ini, definisi rekursif dari awalan Rl mudah dibaca dan memahami. Kami menggunakan notasi L = 1 +? Log2 n?dan dilambangkan dengan B (n, l) representasi biner l-bit (kode beta) dari integer n. Jadi, B (12, 5) = 01100.
Mereka yang akrab dengan Stout code mungkin sudah menyadari bahwa kode ini identik dengan R3. Lebih lanjut, kode record database (Bagian 3.4) berada di antara R2 dan R3 dengan dua perbedaan: (1) kode stout mengkodekan jumlah Li−1 dan (2) pemisah 0 ditempatkan di sebelah kanan n.
3. ANALISA A. Analisa Masalah
Berdasarkan penelitian ini, akan dilakukan analisa dan perancangan perangkat lunak pengkompresian record database dengan menggunakan algoritma stout code.
Algoritma stout code merupakan salah satu algoritma kompresi yang mengkompres suatu data ke dalam bentuk data yang lain dengan lebih sering menggunakan sedikit bit dan jarang menggunakan lebih banyak bit karakter.
Penggunaan algoritma stout code dalam aplikasi kompresi record database yaitu untuk diolah atau dimanipulasi menggunakan perangkat lunak (sopwer) untuk menghasilkan informasi. Prosedur untuk mengkompresi record database dimuai dari memilih data yang akan dikompresi, lalu data tersebut akan dikompresi dengan aloritma stout code sehingga menghasikan sebuah data terkompresi yang memiiki ukuran lebih kecil. Sedangkan untuk proses dekompresinya yang menjadi output adalah data terkompresi lalu data tersebut akan didekompresi menggunakan algoritma stout code sehingga menghasikan data record
database yang memiliki ukuran yang sebelum dikompressi atau balik menjadi data awal.
B. Penerapan Algoritma Stout Code
Dengan melakukan kompresi record database, aplikasi smart tourism di instal pada Laptop yang tentu membutuhkan browser umtuk memungkinkan berselancar didunia maya dan memerlukan perangkat lunak anti virus.
Penerapan konsep smart tourism yang berbasis teknologi mencari informasi dibidang pariwisata serta aplikasi ini dapat membantu wisatawan mencari pengambilan data berdasarkan kebutuhan serta analisa statistik. Dalam hal ini menganalisa aplikasi smart tourism harus dilakukan pengambilan sample. Beriku record dinas pariwisata:
seni budaya serta ketersediaan sarana dan prasarana Berdasarkan data diatas diambil 2 kata yaitu “Seni Budaya”. Terdapat jumlah karakter tersebut adalah 12 karakter. Data inilah yang akan dikompresi dengan menggunakan algoritma stout code
Algoritma record database merupakan salah satu algoritma kompresi data, yang dimana suatu data dikompres dapat kembali kedata sebelum dikompres tanpa dapat menghilangkan suatu informasi pada data sebelumnya.
Dalam proses kompresi algoritma stout codes yaitu dengan mengurutkan frekuensi dari karakter yang muncul lalu merubah karakter tersebut menjadi codeword. Berikut ini langkah-langkah untuk mengkompresi record database menggunakan algoritma stout code :
1. Buat daftar frekuensi kemunculan tiap-tiap karakter dan mengurutkan dari frekuensi terbesar sampai frekuensi terkecil.
Tabel 1. Daftar Frekuensi Kemunculan Karakter Karakter Hexsa ASCII
Biner
Bit Frekuensi Bit x Frekuensi
S 53 01010011 8 1 8
E 45 01000101 8 1 8
N 4E 01001110 8 1 8
I 49 01001001 8 2 16
SP 20 00100000 8 1 8
B 42 01000010 8 1 8
U 55 01010101 8 1 8
D 44 01000100 8 1 8
A 41 01000001 8 1 8
Y 59 01011001 8 2 16
A 41 01000000 8 1 8
2. Mengganti karakter yang ada dengan codeword yang telah dihasilkan
Tabel 2. Pergantian karakter menjadi codeword Karakter Hexsa Codeword Bit Frekkuensi Bit x
Frekuensi
S 53 010111 6 1 6
E 45 01101 5 1 5
N 4E 110 3 1 3
I 49 0111 4 2 8
Karakter Hexsa Codeword Bit Frekkuensi Bit x Frekuensi
SP 20 01 2 1 2
B 42 10 2 1 2
U 55 1111 4 1 4
D 44 01000100 8 1 8
A 41 01000001 8 1 8
Y 59 010111 6 2 12
A 41 01000001 8 1 8
Berdasarkan pada tabel di atas dapat dibentuk nilai bit baru hasil kompresi dari susunan nilai hexadecimal sampel
awal sebelum kompresi yaitu,
53,45,4E,49,20,42,55,44,41,59,41. (tanpa ada tanda koma dan spasi) menjadi
“01011101101110011101101111010001000100000 101011101000001”.
Kemudian sebelum di dapatkan hasil keseluruhan akhir kompresi dilakukan penambahan stringbit itu sendiri yaitu padding bit dan flag bit. Jika sisa bagi panjang string bit terhadap 8 adalah 0 maka tambahan 00000001. Nyatakan dengan bit akhir. Sedangkan jika sisa bagi panjang string bit terhadap 8 adalah n(1,2,3,4,5,6,7) maka tambahkan 0 sebnyak 7 – n + “1” di akhir string bit. Nyatakan dengan L.
Lalu tambahkan bilangan biner dari 9 – n. nyatakan dengan bit akhir. karena jumlah string bit 56 tidak habis dibagi delapan dan sisanya 2 bit, nyatakan sisa bagi tersebut dengan nilai n. maka tambahkan 0 sebanyak 0 sebanyak 7 – n + “1”
di akhir string bit. Nyatakan dengan L. Lalu tambahkan bilangan biner dari 9 – n. . Nyatakan dengan L. Lalu tambahkan bilangan biner dari 9 – n.
7 – n + “1”
7 – 4 + “1”=0001 Bit Akhir 9 – n
Bit Akhir = 9 – 2 = 5 = 00000111
010111011011100111011011110100000010101110 1000001000100000111. Total panjang bit keseluruhan setelah ada penambahan bit adalah 56+4+8=68. Selanjutnya lakukan pemisahan bit manjadi beberapa kelompok. Setiap kelompok terdiri dari 8 bit seperti gambar di bawah ini.
01011100 11011100 11101101 11101000 00101011 10100000 10001000
Berdasarkan pada pembagian kelompok nilai biner, didapatkan 8 kelompok nilai biner baru yang sudah terkompresi beserta nilai biner penambahan bit. Setelah pembagian dilakukan, maka nilaiyang sudah dibagi dirubah kedalam suatu karakter dengan terlebih dahulumencari nilai desimal dari string bit tersebut menggunakan kode ASCII untuk megetahui nilai yang sudah terkompresi. Adapun nilai simbol yang sudah terkompresi dapat dilihat pada tabel di bawah ini:
Tabel 3. Nilai Desimal terkompresi Biner Nilai Desimal
Terkompresi
Simbol
01011100 87 u`
Biner Nilai Desimal Terkompresi
Simbol
11011100 89 ^
11101101 140 I
11101000 114
00101011 126 ~
10100000 107 &
10001000 115 |
Berdasarkan pada tabel di atas maka diambil seluruh nilai biner dan digabungkan menjadi:
010111011011100111011011110100000010101110100000 10001000
Selanjutnya proses dekompresi hal yang dilakukan adalah menganalisa keseluruhan bit hasil dari kompresi sebelumnya. Adapun bit keseluruhan hasil kompresi dapat dilihat pada tabel berikut:
Tabel 4. Hasil Telkompres Simbol Nilai Desimal
Terkompresi
Biner
u` 87 01011100
^ 89 11011100
I 140 11101101
114 11101000
~ 126 00101011
& 107 10100000
| 115 10001000
Berdasarkan pada tabel di atas maka diambil seluruh nilai biner dan digabungkan menjadi
010111011011100111011011110100000010101110100000 10001000
Selanjutnya adalah dengan mengembalikan binary menjadi string bit semula dengan menghilangkan biner yang ditebalkan. Untuk mengembalikan binary menjadi string bit semula dapat dilakukan melalui langkah berikut ini. Lakukan pembacaan pada 8bit terakhir, hasil pembacaan berupa bilangan desimal. Nyatakan hasil pembacaan dengan n.
Hilangkan bit pada bagian akhir sebanyak 7+n. Setelah dilakukan perhitungan pembacaan bit akhi . Nilai biner yang dihilangkan sebanyak 8 bit pada akhir. n = = 1. Hilangkan 7 + n atau 7+6= 12.
Penjelasan diatas menujukan bahwa bit akhir harus dihilangkan.Hasil pengembalian binary menjadi string bit semula dapat dilihat sebagai berikut ini:
“01011101101110011101101111010000001010111010000 0”
Berdasarkan perhitungan dengan algoritma stout codesstring bit pada diatas berjumlah 56 bit seperti diawal sehingga dilakukan pembacaan string bit awal. Adapun tabel hasil perhitungan diatas adalah sebagai berikut:
Tabel 5. Pengecekan Bit
Indeks Nilai Keterangan
1 0 Tidak Ada
2 01 Ada pada tabel
Indeks Nilai Keterangan
3 1 Tidak Ada
4 10 Ada pada tabel
5 0 Tidak Ada
6 01 Ada pada tabel
7 1 Tidak Ada
8 11 Ada pada tabel
9 0 Tidak Ada
10 00 Tidak Ada
11 001 Tidak Ada
12 0010 Tidak Ada
13 00100 Ada pada tabel
14 0 Tidak Ada
15 00 Tidak Ada
16 000 Tidak Ada
17 0001 Tidak Ada
18 000101 Ada pada tabel
Maka dari penjabaran diatas dapat dibentuk tabel stout code dan nilai hexaawal. Berdasarkan hasil dekompresi di atas didapati nilai sampel sehingga dihasilkan string semula seperti tabel di bawah
Tabel 6. Tabel Hexa dan stout code Karakter Hexsa ASCII
Biner
Bit Frekuensi Bit x Frekuensi
S 53 01010011 8 1 8
E 45 01000101 8 1 8
N 4E 01001110 8 1 8
I 49 01001001 8 2 16
SP 20 00100000 8 1 8
B 42 01000010 8 1 8
U 55 01010101 8 1 8
D 44 01000100 8 1 8
A 41 01000001 8 1 8
Y 59 01011001 8 2 16
A 41 01000000 8 1 8
4. IMPLEMENTASI
Kebutuhan sistem dalam kompresi Record Database bertujuan untuk mempermudah menganalisa terhadap sistem tersebut. Sistem ini di bangun dengan menggunakan bahasa pemrograman PHP dan menggunakan Software Xampp. Pada sistem ini terdapat 4 (empat) tampilan halaman, yaitu Halaman Menu Utama, Halaman Kompresi Data, Halaman Dekompresi Data
Untuk membuat aplikasi ini dibutuhkan spesifikasi perangkat keras sebagai berikut :
1.
Prosesor : Intel (R) Celeron (R)2.
Hardisk : 500 Gb3.
RAM : 2 GB4.
VGA :Intel Dual-Core N30605.
I\O : Mous \MenitorPerangkat lunak (software) yang digunakan dalam perancangan aplikasi ini adalah sebagai berikut :
1. Sistem Operasi : Microsoft Windows 10.
2. Program Aplikasi : Xampp
Tampilan program adalah tampilan antar muka aplikasi dengan user aplikasi. Tampilan program aplikasi ini memuat tentang tampilan menu utama, tampilan form kompresi dan tampilan form dekompresi, tampilan form about, untuk program dapat di lihat dibawah ini :
Tampilan Menu Utama merupakan tampilan yang muncul pertama sekali pada saat program dijalankan. Tampilan ini berisi menu Kompresi, Dekompresi, About, Keluar dilihat pada gambar 1.
Gambar 1. Form Menu Utama
Tampilan form kompresi akan ditampilkan proses kompresi data menggunakan algoritma Stout Code. Proses terlebih dahulu user menginputkan data yang akan dikompres dan hasilnya disimpan didalam database. Adapun gambar proses tersebut dapat dilihat pada gambar 2.
Gambar 2. Form Kompresi
Pada form ini akan ditampilkan proses dekompresi data dengan menggunakan algoritma Stout Code. Dimana prosesnya terlebih dahulu user menginputkan kode yang ada di database, dengan melakukan proses dekompresi terhadap data. Adapun gambar tersebut dapat dilihat pada gambar berikut :
Gambar 3. Form Dekompresi
5. KESIMPULAN
Kesimpulan yang dapat diambil setelah melakukan perancangan aplikasi kompresi record database dengan menerapkan algoritma Stout Code
Hasil penelitian menunjukkan dengan menggunakan sistem informasi berbasis web dapat membantu kelancaran kegiatan operasional pariwisata Dinas Pariwisata dan Kabupaten Kebudayaan Dairi.
Penerapan algoritma stout codes yaitu dengan mengurutkan frekuensi dari karakter yang muncul lalu merubah karakter tersebut menjadi codeword.
Perancangan aplikasi record database dilakukan dengan menggunakan PHP dapat membantu pengembang web dalam meminimalisasi waktu dalam membuat suatu sistem informasi berbasis web karena tidak perlu membuat yang sama berulang- ulang seperti pada pengembangan secara manual.
REFERENCES
[1] R. D. Pratiwi, S. D. Nasution, and Fadlina, “Implementasi Algoritma Stout Code untuk Kompresi Record Database pada Website Dinas
Pariwisata dan Kebudayaan Kabupaten Dairi” Media Inform.
Budidarma, vol. 2, no. 1, pp. 10–14, 2018.
[2] M. R. Irliansyah, S. D. Nasution, and K. Ulfa, “Penerapan Metode Algoritma Stout Codes Dalam Kompresi Record Database,” KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 1, no. 1, pp. 186–
189, 2017.
[3] N. Dengen, “Perancangan Sistem Informasi Terpadu Pemerintah Daerah Kabupaten Paser,” vol. 4, no. 1, pp. 47–54, 2009.
[4] Marjito and G. Tesaria, “APLIKASI PENJUALAN ONLINE BERBASIS ANDROID (STUDI KASUS: DI TOKO HOAX MERCH ),” J. Comput. Bisnis, vol. 10, no. 1, pp. 40–49, 2016.
[5] D. Salomon and G. Motta, Handbook of Data Compression. Springer, 2010.
[6] J. Enterprise, Rahasia Manajemen File. Jakarta: PT. Elex Media Komputindo, 2010.
[7] A. Nugroho, Rekayasa Perangkat Lunak Berorientasi Objek dengan Metode USDP. Andi, 2010.
[8] R. A. S. M.Shalahuddin, Rekayasa Perangkat Lunak. Bandung, 2015.
[9] A. Kadir, REKAYASA PERANGKAT LUNA. 2013.
[10] M. Sadeli, 7 Jam Belajar Interaktif Visual Basic.net 2008 Untuk Orang Awam. Palembang: Maxikom, 2009