Kompresi Record Database MySL Dengan Menerapkan Algoritma Goldbach Code G1
Ainal Azhar
Fakultas Ilmu Komputer dan Teknologi Informasi, Program Studi Teknik Informatika, Universitas Budi Darma, Medan, Indonesia Email: 1ainalazharnst@gmail.com
Abstrak-Pada era digital ini, segala sesuatunya sudah berbasis digital dan sudah banyak aplikasi yang dibuat untuk mempermudah segala pekerjaan ataupun dijadikan sebagai sarana hiburan. Beberapa aplikasi yang ada saat ini mempunyai database sebagai tempat penyimpanan datanya. Saat ini database yang masih sering digunakan adalah MySQL hal ini dikarenakan MySQL adalah aplikasi database server yang open source. Data yang ada pada database disebut record, semakin banyak record yang tersimpan maka semakin besar ukuran database tersebut. Kompresi data adalah proses penyandian informasi menggunakan bit atau unit pembawa informasi lainnya yang kurang dari mewakili data yang tidak dienkripsi oleh sistem penyandian tertentu hasil pengujian terhadap sistem bahwa ukuran file Record lebih kecil setelah dilakukan kompresi. Hasil compression rasio yang didapatkan rata-rata di atas 94%, dekompresi rasio yang didapatkan rata-rata diatas 5%, Space Saving yang didapat rata-rata diatas 6%.
Kata Kunci: Kompresi Record Database MySQL Dengan Menerapkan Algoritma Goldbach Code G1
Abstract-In this digital era, everything is digitally based and many applications have been created to make work easier or serve as a means of entertainment. Some applications that exist today have a database as a place to store data. Currently the database that is still often used is MySQL, this is because MySQL is an open source database server application. The data in the datab ase is called records, the more records stored, the larger the size of the database. Data compression is the process of encoding information using bits or other information-carrying units that are less than representative of data that is not encrypted by a particular encoding system test results on the system that the Record file size is smaller after compression. Compression ratio results obtained on average above 94%, decompression ratio obtained on average above 5%, Space Saving obtained on average above 6%
Keywords: MySQL Database Record Compression by Applying the Goldbach Code G1 Algorithm
1. PENDAHULUAN
Pada era digital ini, segala sesuatunya sudah berbasis digital dan sudah banyak aplikasi yang dibuat untuk mempermudah segala pekerjaan ataupun dijadikan sebagai sarana hiburan. Beberapa aplikasi yang ada saat ini mempunyai database sebagai tempat penyimpanan datanya. Saat ini database yang masih sering digunakan adalah MySQL hal ini dikarenakan MySQL adalah aplikasi database server yang open source. Data yang ada pada database disebut record, semakin banyak record yang tersimpan maka semakin besar ukuran database tersebut. Apalagi jika aplikasi yang digunakan tersebut berfungsi sebagai mencatat transaksi yang dilakukan setiap harinya, tentu record yang tersimpan lebih sangat banyak bahkan bisa mencapai ribuan record perbulannya sehingga memerlukan kapasitas yang besar untuk menyimpan semua data tersebut. Dalam mengatasi masalah tersebut, bisa diterapkan kompresi data untuk mengkompresi record database.
Kompresi data (data compression) merupakan salah satu kajian di dalam ilmu computer yang bertujuan untuk mengurangi ukuran file sebelum menyimpan atau memindahkan data tersebut kedalam media penyimpanan (storage device).
Salah satu algoritma yang digunakan untuk mengkompresi data adalah algoritma goldbach code. Algoritma goldbach code saat ini sudah banyak yang di teliti tetapi masih yang G0, sedangkan pada algoritma goldbach code masih ada G1 yang merupakan pengembangan dari G0. Algoritma Golbach Code G1, menggunakan kode sistem untuk bilangan bulat, mirip dengan elias omega dan bahkan kode rodeh.
Pada penelitian sebelumnya yang dilakukan oleh seorang penemu, dan rekan -rekannya dengan judul penilitian
“perancangan aplikasi yang mengkompresi file teks dengan menerapkan algoritma fixed-length binary cipher (FLBE)”
menyimpulkan bahwa algoritma fixed-length binary encoding (FLBE) akan menghentikan kompresi jika sistem bit karakter mencapai jumlah karakter akhir dan algoritma dapat menangani kompresi file teks versi yang bagus[1].
Penelitian lain juga dilakukan untuk mengkompresi file teks seperti penilitian yang dilakukan oeleh Muhammad Rio Irliansyah ddk dengan judul penelitian “penerapan metode deflasi dan algoritma goldbach cipher dalam mengkompresi file teks”
dan menyimpulkan bahwa rasio kompresi yang dihasilkan didasarkan pada kompresi file teks menggunakan metode dan algoritma deflate, kode goldbach menghasilkan file yang ukurannya lebih kecil daripada sebelum proses kompresi.[2].
Menurut penelitian yang dilakukan oleh Muhammad Asnawi Latif pada tahun 2018 yang berjudul “Analisa Perbandingan Algoritma Rice Codes dengan Algoritma Goldbach Codes pada Kompresi File Teks menggunakan Metode Exponential”
menyimpulkan bahwa Implementasi Algoritma Rice Code dan Algoritma Goldbach Code dalam kompresi file teks sangat baik, konten hasil kompresi yang dihasilkan tidak berkurang dibandingkan dengan file aslinya. Aplikasi ini dirancang untuk mengompresi file teks menggunakan Algoritma Rice Code dan Algoritma Goldbach Code[3].
Menurut penelitian yang dilakukan oleh Indah Lestari pada tahun 2019 yang berjudul “Analisa Perbandingan Algoritma Goldbach Codes dengan Algoritma Sequitur pada Kompresi File Text menggunakan Metode Exponential” beliau menyimpulkan bahwa pada sistem bandingkan Algoritma Goldbach Codes dan Algoritma Sequitur untuk mengompresi isi file teks dengan mendapatkan hasil akhir, Compression ratio, Space saving, Compression time dari kompresi kedua algoritma, kemudian hasil akhir dari kedua algoritma tersebut dibandingkan menggunakan metode eksponensial[4].
2. METODOLOGI PENELITIAN
2.1 Kompresi Data
Kompresi beararti menggunakan atau mengurangi ukuran. Sedangkan kompresi data adalah proses penyandian informasi menggunakan bit atau unit pembawa informasi lainnya yang kurang dari mewakili data yang tidak dienkripsi oleh sistem penyandian tertentu. Contoh kompresi sederhana yang sering dilakukan, misalnya akronim yang bisa digunakan tetapi sedah menjadi konvensi yang umum, misanya kata positif’’ didapatkan menjadi kata positif’’[5].
2.1.1 Parameter Kinerja Kompresi Data
Ada beberapa teknik yang digunakan dalam mengkompresi sebuah data yang digunakan untuk menentukan perbandingan antara kedua algortitma kompresi antara lain:
a. Ratio of compression (Rc)
Ratio of compression adalah perbandingan ukuran dataset belum terjadinya proses kompresi dengan ukuran data yang sudah dikompresi Secara sistematis dapat dituliskan sebagai berikut:
Rc = 𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑠𝑢𝑑𝑎 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖x100% (1)
b. Compression Ratio (Cr)
Compression Ratio (Cr) adalah persentase perbandingan ukuran data yang sudah dikompresi dengan ukuran data yang belum dikompresi Secara sistematis dapat dituliskan sebagai berikut:
Cr = 𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑠𝑢𝑑𝑎 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑏𝑒𝑘𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖x100% (2)
c. Redudancy (Rd)
Redudancy adalah tersimpan nya data sebagai informasi yang memiliki basis data,karakteristik serta struktur yang sama. Secara sistematis dapat dituliskan sebagai berikut:
Cr = 𝐹𝑖𝑙𝑒 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖−𝐹𝑖𝑙𝑒 𝑆𝑒𝑠𝑢𝑑𝑎ℎ 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 x100% (3)
d. SpaceSaving (Ss)
Space Saving selisih antara data yang belum dikompres dengan data yang sudah dikompres. Secara sistematis dapat dituliskan sebagai berikut:
SpaceSaving (Ss)=> 100%-CompressionRatio (Cr) (4)
2.1.2 Teknik Kompresi
Lossy compresion merupakan kebalikan dari teknik Lossless compresion, Dimana hasil dari data yang dikomprestidak bisa dikembalikan kedata sebelumnya. Teknik ini memungkinkan terjadinya kehilangan informasoi data dan ratio pada Teknik ini juga sangat tingi dibandingkan dengan Teknik Losslesscompresion[6].
2.1.3 Flagging
Flag bits ialah ditambahkannya delapan bit bilangan biner setelah padding, flag bits merupakan seluruh jumlah bilangan yang diberi tanda jika ada n pada bit-bit data hasil kompresi[7]. Ditambahkannya flag bits digunakan agar lebih mudah dibaca bit-bit data pada hasil kompresi dalam proses dekompresi. Sebagai contoh misalnya bit-bit datayang telah diberi padding ialah 1001000110000001. Sebab ada 7 bit yang ditambahkan padding maka flag bits nya ialah bilangan biner pada 7 dengan panjangnya 8 bit adalah 10000001. Sehingga bit-bit data menjadi 0010010010100101001001001001001000010000100001000011000110001110010001010011000100011011010011 0100100010001001010011000100001110010101000001000100100010001101010010000101001000100110010100 1000110001010100101001101001100101001110011000100011000011101100101011001000110101100110100101 0010010011010100110010001010110011001101001101101000100010011010010000010101101101010010000101 0100110100001001101000100011011001010100100011101101101100110011010010010100110010001000010100 111011000100100100001001001010010100100001001000110000001 setelah diberikannya flagbits.
2.1.4 Dekompresi
Dekompresi ialah langkah-langkah diambilnya data yang telah di kompres. Pada data yang di kompres perludikembali lagi ke bentuk asli. Dalam perubahan data yang telah di kompres perlu metode yang memiliki beda misalpada saat proses kompres dilakukan. Jadi ketika saat dekompres ada catatan header berbentuk byte-byte yang memiliki isi catatan perihal isi dari file ini. Tujuan dekompresi agar data dikompresi Kembali pada ukuran awal data. Sebab data yang dikompresi tak dapat dibaca tanpa dikembalikan pada bentuk awal.
2.2 Algoritma Kompresi
2.2.1 Algorita Goldbach Code G1
Algoritma Goldbach Code adalah algoritma yang konon menggunakan heuristik Goldbach, yaitu semua bilangan genap positif yang lebih besar dari 2 adalah jumlah dari dua bilangan prima, code Goldbach memiliki tiga kode, bilangan prima dari code Goldbach disebut “G0”.G0 mengkodekan bilangan bulat positif genap dengan mengubahnya menjadi bilangan nulat positif genap dengan 2(n3) dan kemudian menulis jumlah dari bilangan prima yang berlawanan. Code Goldbach kedua disebut “G1” Prinsip G1 adalah menentukan dua bilangan prima Pi danPj (dimana i ≤ j) yang jumlahnya menghasilkan bilangan bulat n, dan mengkodekan pasangan (i.j-i+1) dengan gamma codes[11].
Dalam proses kompresi menerapkan algoritma goldbach code G1 terhadap kompresi file record database, kompresi data merupakan proses pemadatan data, sehingga memperoleh ukuran file yang lebih kecil dari aslinya[12].
a. Pisahkan bit tanda dari sisa nomor yang merupakan bagi anopsional dan bit yang paling signifikan pada Algoritma Goldbach Code G1.
b. Pisahkank LSB menjadi LSB dari Algoritma Goldbach Code G1.
c. Kode yang tersisa adalah j=[n/2𝑘] bit. Baik sebagai j nol diikuti oleh 1, kemudian diikuti lagi oleh 0 (serupa dengan kode unary) dan ini menjadi bagian tengah dari Algoritma Algoritma Goldbach Code G1.
No. Codeword Goldbach Code G1
1 1:1
2 1:010
3 010:1
4 010:010
5 010:011
6 011:010
7 00100:1
8 011:011
9 00100:011
10 00100:011
11 00110:010
12 00111:011
13 00110:00111
14 0001010:010
15 0001010:00100
16 0001100:011
17 0001110:010
18 0001111:010
19 010:0001011
20 00101:00110
3. HASIL DAN PEMBAHASAN
3.1 Analisa
Tahapan analisa dilakukan sebelum tahapan perancangan dilakukan. Langkah-langkah prosesdur dalam dalam melakukan kompresi dan dekompresi file record database yaitu melakukan peoses kompresi terlebih dahulu, kemudian pada file hasil kompresi dilakukan proses dekompresi. Kemudian setelah file tersebut dideskripsi, maka dilakukan proses kompresi dekompresi lalu kembali ke file record databse tersebut.
Gambar 1. Prosedur Kompresi File
Sampel data yang digunakan untuk proses analisa terdapat banyak record dan dari sekian banyak record, yang diambil penulis yaitu “18110094 Ainal Azhar Ilmu Komputer dan Teknologi Informatika S1- Teknik Informatika TI
P-1802” untuk dikompresi. Setelah diketahui apa yang akan dikompresi, maka berikutnya dilakukan pencarian frekuensi serta pengurutannya dari yang terbesar hingga yang terkecil.
Dapat dilihat yang menjadi sampel data adalah tabel mahasiswa yang berada pada database “db_akademik”.
Record yang akan dikompresi yaitu:
Tabel 1. Sampel Data 18110094 Ainal Azhar Ilmu Komputer dan
Teknologi Informasi
S1-Teknik
Informatika TI-P1802
No. Karakter Nilai Biner Jumla Bit Frekuensi Bit x
Frekuensi
1 Space 00100000 8 8 64
2 a 01101110 8 5 40
3 n 01100001 8 4 32
4 o 01101001 8 4 32
5 l 00110001 8 4 32
6 i 01101111 8 3 24
7 1 01110010 8 3 24
8 r 01101101 8 3 24
9 m 00110000 8 3 24
10 0 01001100 8 3 24
11 I 01001001 8 3 24
12 e 01100101 8 2 16
13 T 01110100 8 2 16
14 k 01101011 8 2 16
15 8 00111000 8 2 16
16 A 01000001 8 2 16
17 u 01110101 8 2 16
18 t 01010100 8 2 16
19 f 01100110 8 1 8
20 9 00111001 8 1 8
21 4 00110100 8 1 8
22 z 01011010 8 1 8
23 h 01101000 8 1 8
24 K 01001011 8 1 8
25 p 01010000 8 1 8
26 g 01100111 8 1 8
27 - 01010011 8 1 8
28 P 00101101 8 1 8
29 2 01110000 8 1 8
30 d 00110010 8 1 8
Total 552
Berdasarkan tabel diatas, rata-rata memiliki nilai karakter bernilai 8 bit bilangan biner. Sehingga 69 karakter memiliki nilai biner sebanyak 552 bit. Untuk mengubah satuan menjadi byte maka jumlah keseluruhan bit dibagi 8.
Maka dihasilkan 552/8 = 69 byte.
3.1.1 Membentuk Tabel Code Goldbach G1
Aturan pembentukan kode dengan menggunakan kode Goldbach G1 dapat dilihat secara teoritis pada tabel di bawah:
No. Codeword Goldbach Code G1
1 1:1
2 1:010
3 010:1
4 010:010
5 010:011
6 011:010
7 00100:1
8 011:011
9 00100:011
10 00100:011
11 00110:010
12 00111:011
13 00110:00111
14 0001010:010
15 0001010:00100
16 0001100:011
17 0001110:010
18 0001111:010
19 010:0001011
20 00101:00110
Berdasarkan pada tabel kode Goldbach Code G1 diatas maka diubah karakter menjadi codeword, karakter yang diubah menjadi codeword adalah karakter yang telah diurutkan sebelumnya berdasarkan frekuensinya.
No. Karakter Nilai Biner Jumla Bit Frekuensi Bit x
Frekuensi
1 Space 00100000 8 8 64
2 a 01101110 8 5 40
3 n 01100001 8 4 32
4 o 01101001 8 4 32
5 l 00110001 8 4 32
6 i 01101111 8 3 24
7 1 01110010 8 3 24
8 r 01101101 8 3 24
9 m 00110000 8 3 24
10 0 01001100 8 3 24
11 I 01001001 8 3 24
12 e 01100101 8 2 16
13 T 01110100 8 2 16
14 k 01101011 8 2 16
15 8 00111000 8 2 16
16 A 01000001 8 2 16
17 u 01110101 8 2 16
18 t 01010100 8 2 16
19 f 01100110 8 1 8
20 9 00111001 8 1 8
21 4 00110100 8 1 8
22 z 01011010 8 1 8
23 h 01101000 8 1 8
24 K 01001011 8 1 8
25 p 01010000 8 1 8
26 g 01100111 8 1 8
27 - 01010011 8 1 8
28 P 00101101 8 1 8
29 2 01110000 8 1 8
No. Karakter Nilai Biner Jumla Bit Frekuensi Bit x Frekuensi
30 d 00110010 8 1 8
Total 552
Berdasarkan tabel diatas, rata-rata memiliki nilai karakter bernilai 8 bit bilangan biner. Sehingga 69 karakter memiliki nilai biner sebanyak 552 bit. Untuk mengubah satuan menjadi byte maka jumlah keseluruhan bit dibagi 8.
Maka dihasilkan 552/8 = 69 byte.
Setelah proses encode kemudian dilakukan penyusunan biner sesuai dengan sampel data yaitu “18110094 Ainal Azhar Ilmu Komputer dan Teknologi Informatika S1-Teknik Informatika TI P-1802” seperti yang disajikan pada tabel berikut:
1 8 1 1 0
001001 0010100101 001001 001001 0010000100
0 9 4 Space
0010000100 0011000110 0011100100 0101
A i N a l Space
0011000100 011011 010011 010010 00100010 0101
I l m u Space
0010000101 00100010 01100101 0010001100 0101
K o m P u t
01001010 011010 01100101 0011100110 0010001100 00111011
e r Space
00101011 00100011 0101
d a n Space
1001101001 010010 010011 0101
T e k n o l
00110010 00101011 00110011 010011 011010 00100010
o g i Space
011010 0100000101 011011 0101
I n f o r m
0010000101 010011 01000010 011010 00100011 01100101
a t i k a Space
010010 00111011 011011 00110011 010010 0101
T I - P 1 8
00110010 0010000101 0011101100 0100100100 001001 0010100101
0 2
0010000100 100011
String bit hasil kompresi dengan algoritma Goldbach Code G1 dapat dituliskan pada tabel berikut:
Sebelum mendapat hasil keseluruhan dari akhir kompresi maka akan dilakukan penambahan string bit yaitu padding dan flagging. Jika sisa hasil bagi setiap panjang string bit terhadap 8 adalah 0 maka akan dilakukan penambahan 0000000001 di bit paling akhir. Apabila sisa hasil bagi string bit terhadap 8 yaitu n = 1,2,3,4,5,6,7,8,9 maka akan ditambahkan 0 sebanyak 7 – n + “1” di akhir string bit dinyatakan dengan L. Kemudian ditambahkan biner dari 9 – n,
nyatakan di bit akhir karena jumlah string bit 520 mod 0 yaitu, nyatakan sisa bagi tersebut dengan nilai “n”. Kemudian ditambahkan 0 sebanyak 7 – n + “1” di akhir string bit nyatakan dengan L. Kemudian tambahkan bilangan biner dari 9 – n letakkan letakkan pada bit akhir.
Berdasarkan perhitungan diatas maka stringbit yang telah ditambahkan flagging menjadi:
“0010010010100101001001001001001000010000100001000011000110001110010001010011000100011011010011 0100100010001001010011000100001110010101000001000100100010001101010010000101001000100110010100 1000110001010100101001101001100101001110011000100011000011101100101011001000110101100110100101 0010010011010100110010001010110011001101001101101000100010011010010000010101101101010010000101 0100110100001001101000100011011001010100100011101101101100110011010010010100110010001000010100 111011000100100100001001001010010100100001001000110000001”
Dengan total bit 529 bit. Langkah berikutnya membagi stringbit tersebut menjadi perdelapan bit dan diubah menjadi karakter.
No. Biner Nilai Desimal Karakter
1 00100100 36 $
2 10100101 165 ¥
3 00100100 36 $
4 10010010 146 '
5 00010000 16 DLE
6 10000100 132 „
7 00110001 49 1
8 10001110 142 Ž
9 01000101 69 O
10 00110001 49 1
11 00011011 27 1B
12 01001101 77 M
13 00100010 34 “
14 00100101 37 %
15 00110001 49 1
16 00001110 14 SO
17 01010100 84 T
18 00010001 17 DC1
19 00100010 34 “
20 00110101 53 5
21 00100001 33 !
22 01001000 72 H
23 10011001 153 ™
24 01001000 72 H
25 11000101 197 Å
26 01001010 74 J
27 01101001 105 I
28 10010100 148 ”
29 11100110 230 Æ
30 00100011 35 #
31 00001110 14 SO
32 11001010 202 Ê
33 11001000 200 È
34 11010110 214 Ö
35 01101001 105 I
36 01001001 73 I
37 00110101 53 5
38 00110010 50 2
39 00101011 43 +
40 00110011 51 3
41 01001101 77 M
42 10100010 162 ¢
43 00100110 38 &
44 10010000 144 É
45 01010110 86 V
46 11010100 212 P
47 10000101 133 …
No. Biner Nilai Desimal Karakter
48 01001101 77 M
49 00001001 9 HT
50 10100010 162 ¢
51 00110110 54 6
52 01010100 84 T
53 10001110 142 Ž
54 11011011 219 Û
55 00110011 51 3
56 01001001 73 I
57 01001100 76 L
58 10001000 136 ˆ
59 01010011 83 S
60 10110001 177 ±
61 00100100 36 $
62 00100100 36 $
63 10100101 165 $
64 00100001 33 !
65 00100011 35 #
66 00000001 1 SOH
Ukuran file awal sebelum dikompresi adalah 552 bit, sehingga rasio kompresinya adalah:
𝑅𝑐= 𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 = 552
520= 1,06 𝐶𝑅= 𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑋 100% =520
552𝑥100% = 0,94 𝑥 100% = 94%
𝑅𝑑=𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖−𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑥 100% =552−520
552 𝑥 100% = 32
552𝑥100% = 0,05 𝑥 100% = 5%
Jika dinyatakan dalam bentuk persen maka dapat dituliskan dalam rumus sebagai berikut:
SS = ( 1 - (Ukuran File Terkompresi) / (Ukuran File Asli) ) x 100%
SS = ( 1 - (520 / 552) ) x 100%
SS =( 1 – 0,94) x 100 % SS = 0,06 x 100 % SS = 6 %
3.1.2 Analisa Proses Dekompresi Record Menggunakan Algoritma Goldbach Code G1
Indek Nilai Keterangan
1 0 Tidak Sesuai
2 00 Tidak Sesuai
3 001 Tidak Sesuai
4 0010 Tidak Sesuai
5 00100 Tidak Sesuai
6 001001 Sesuai
7 0 Tidak Sesuai
8 00 Tidak Sesuai
9 001 Tidak Sesuai
10 0010 Tidak Sesuai
11 00101 Tidak Sesuai
12 001010 Tidak Sesuai
13 0010100 Tidak Sesuai
14 00101001 Tidak Sesuai
15 001010010 Tidak Sesuai
16 0010100101 Sesuai
17 0 Tidak Sesuai
18 00 Tidak Sesuai
19 001 Tidak Sesuai
Indek Nilai Keterangan
20 0010 Tidak Sesuai
21 00100 Tidak Sesuai
22 001001 Sesuai
23 0 Tidak Sesuai
24 00 Tidak Sesuai
25 001 Tidak Sesuai
26 0010 Tidak Sesuai
27 00100 Tidak Sesuai
28 001001 Sesuai
29 0 Tidak Sesuai
30 00 Tidak Sesuai
31 001 Tidak Sesuai
32 0010 Tidak Sesuai
33 00100 Tidak Sesuai
34 001000 Tidak Sesuai
35 0010000 Tidak Sesuai
36 00100001 Tidak Sesuai
37 001000010 Tidak Sesuai
38 0010000100 Sesuai
39 0 Tidak Sesuai
40 00 Tidak Sesuai
41 001 Tidak Sesuai
42 0010 Tidak Sesuai
43 00100 Tidak Sesuai
44 001000 Tidak Sesuai
45 0010000 Tidak Sesuai
46 00100001 Tidak Sesuai
47 001000010 Tidak Sesuai
48 0010000100 Sesuai
49 001100110 Tidak Sesuai
60 0 Tidak Sesuai
70 00 Tidak Sesuai
80 001 Tidak Sesuai
90 0011 Tidak Sesuai
100 00110 Tidak Sesuai
101 001100 Tidak Sesuai
102 0011001 Tidak Sesuai
103 00110011 Tidak Sesuai
104 001100110 Sesuai
105 0 Tidak Sesuai
106 00 Tidak Sesuai
107 001 Tidak Sesuai
108 0011 Tidak Sesuai
109 00111 Tidak Sesuai
110 001110 Tidak Sesuai
111 0011100 Tidak Sesuai
112 00111001 Tidak Sesuai
113 001110010 Tidak Sesuai
114 0011100100 Sesuai
115 0 Tidak Sesuai
116 01 Tidak Sesuai
117 010 Tidak Sesuai
118 0101 Sesuai
119 0 Tidak Sesuai
120 00 Tidak Sesuai
121 001 Tidak Sesuai
122 0011 Tidak Sesuai
123 00110 Tidak Sesuai
124 001100 Tidak Sesuai
125 0011000 Tidak Sesuai
Indek Nilai Keterangan
126 00110001 Tidak Sesuai
127 001100010 Tidak Sesuai
128 0011000100 Sesuai
129 0 Tidak Sesuai
130 01 Tidak Sesuai
131 011 Tidak Sesuai
132 0110 Tidak Sesuai
133 01101 Tidak Sesuai
134 011011 Sesuai
135 0 Tidak Sesuai
136 01 Tidak Sesuai
137 010 Tidak Sesuai
138 0100 Tidak Sesuai
139 01001 Tidak Sesuai
140 010011 Sesuai
141 0 Tidak Sesuai
142 01 Tidak Sesuai
143 010 Tidak Sesuai
144 0100 Tidak Sesuai
145 01001 Tidak Sesuai
146 010010 Sesuai
147 0 Tidak Sesuai
148 00 Tidak Sesuai
149 001 Tidak Sesuai
150 0010 Tidak Sesuai
151 00100 Tidak Sesuai
152 001000 Tidak Sesuai
153 0010001 Tidak Sesuai
154 00100010 Sesuai
155 0 Tidak Sesuai
156 01 Tidak Sesuai
157 010 Tidak Sesuai
158 0101 Sesuai
159 0 Tidak Sesuai
160 00 Tidak Sesuai
161 001 Tidak Sesuai
162 0011 Tidak Sesuai
163 00110 Tidak Sesuai
164 001100 Tidak Sesuai
165 0011000 Tidak Sesuai
166 00110001 Tidak Sesuai
167 001100010 Tidak Sesuai
168 0011000100 Sesuai
169 0 Tidak Sesuai
170 00 Tidak Sesuai
171 001 Tidak Sesuai
172 0011 Tidak Sesuai
173 00111 Tidak Sesuai
174 001110 Tidak Sesuai
175 0011100 Tidak Sesuai
176 00111001 Tidak Sesuai
177 001110010 Tidak Sesuai
178 0011100101 Sesuai
179 0 Tidak Sesuai
180 01 Tidak Sesuai
181 010 Tidak Sesuai
182 0100 Tidak Sesuai
183 01000 Tidak Sesuai
184 010000 Tidak Sesuai
185 0100000 Tidak Sesuai
Indek Nilai Keterangan
186 01000001 Tidak Sesuai
187 010000010 Tidak Sesuai
188 0100000100 Sesuai
189 0 Tidak Sesuai
190 01 Tidak Sesuai
191 010 Tidak Sesuai
192 0100 Tidak Sesuai
193 01001 Tidak Sesuai
194 010010 Sesuai
195 0 Tidak Sesuai
196 00 Tidak Sesuai
197 001 Tidak Sesuai
198 0010 Tidak Sesuai
199 00100 Tidak Sesuai
200 001000 Tidak Sesuai
201 0010001 Tidak Sesuai
202 00100011 Sesuai
Pada proses dikompresi dilakukan kebalikan dari file hasil kompresi yang isinya berupa karakter hasil kompresi diubah menjadi bilangan biner.
Setelah itu kita gabungkan keseluruhan string bit
“0010010010100101001001001001001000010000100001000011000110001110010001010011000100011011010011 0100100010001001010011000100001110010101000001000100100010001101010010000101001000100110010100 1000110001010100101001101001100101001110011000100011000011101100101011001000110101100110100101 0010010011010100110010001010110011001101001101101000100010011010010000010101101101010010000101 0100110100001001101000100011011001010100100011101101101100110011010010010100110010001000010100 11101100010010010000100100101001010010000100100011”
Setelah merubah karakter menjadi string bit. Lalu menghilangkan pedding dan flagging. Untuk menghilangkan padding dan flagging dengan cara mengambil 8 Bit terakhir dan merubahnya menjadi bilangan decimal, kemudian dinyatakan dengan “N”.
Kita ubah ke decimal N=00000001
Kemudian rumus nya gunakan “7 +N”
7 + N = 7 + 1 = 8
Setelah dihilangkan 8 bit jadi hasil nya seperti ini
“0010010010100101001001001001001000010000100001000011000110001110010001010011000100011011010011 0100100010001001010011000100001110010101000001000100100010001101010010000101001000100110010100 1000110001010100101001101001100101001110011000100011000011101100101011001000110101100110100101 0010010011010100110010001010110011001101001101101000100010011010010000010101101101010010000101 0100110100001001101000100011011001010100100011101101101100110011010010010100110010001000010100 11101100010010010000100100101001010010000100100011”
3.2 Implementasi
Implementasi program merupakan tahap pengijian dari sistem yang sudah dibangun. Bagian ini membahas spesifikasi perangkat keras (hardware) dan perangkat lunak (software), serta seperti apa tampilan sistem saat dijalankan.
4. KESIMPULAN
Berdasarkan dari penelitian yang telah dilakukan, maka hasil akhir dari penelitian ini dapat diambil beberapa kesimpulan dari pembahasan sebelumnya. Adapun kesimpulan tersebut sebagai berikut, berdasarkan prosedur dalam melakukan kompresi dan dekompresi dengan menggunakan algoritma Goldbach Codes G1 telah berhasil mengurangi ukuran record database. Berdasarkan penerapan algoritma Goldbach Codes G1 telah membuktikan bahwa suatu record yang memiliki ukuran besar dapat dikompres menjadi ukuran yang lebih kecil. Berdasarkan dari hasil pengujian terhadap sistem bahwa ukuran file Record lebih kecil setelah dilakukan kompresi. Hasil compression rasio yang didapatkan rata-rata di atas 94%, dekompresi rasio yang didapatkan rata-rata diatas 5%, Space Saving yang didapat rata-rata diatas 6%. Dalam perancangan aplikasi kompresi record dengan algoritma Goldbach Codes G1 yaitu menggunakan Visual Basic.Net 2008 telah berhasil dibangun untuk mengkompresi record.
REFERENCES
[1] Lamsah and D. P. Utomo, “Penerapan Algoritma Stout Codes Untuk Kompresi Record Pada Databade Di Aplikasi Kumpulan Novel,” KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 4, no. 1, pp. 311–314, 2020, doi:
10.30865/komik.v4i1.2710.
[2] T. Zebua, “ANALISA DAN IMPLEMENTAS I ALGORITMA TRIANGLE CHAIN Diterbitkan Oleh : STMIK Budi Darma Medan Diterbitkan Oleh : STMIK Budi Darma Medan,” vol. III, no. April, pp. 37–49, 2013.
[3] I. Almurtada and M. Syahrizal, “Penerapan Algoritma Goldbach Codes pada Kompresi File Gambar Terenkripsi Vigenere Cihper,” Pelita Inform. Budi Darma, vol. 6, no. April, pp. 473–478, 2018.
[4] I. Lestari, “Analisa Perbadingan Algoritma Goldbach Codes Dengan Algoritma Sequitur Pada Kompresi File Text Menggunakan Metode …,” Pelita Inform. Inf. dan …, vol. 8, pp. 15–18, 2019.
[5] F. Handayani, “Implementasi Teknik Kompresi File Teks dengan Algoritma Huffmann dan Mengamankan File Teks dengan Algoritma Advanced Encryption Standard (AES),” Pelita Inform. Budi Darma, vol. 16, pp. 275–277, 2017, [Online].
Available: http://www.stmik-budidarma.ac.id/ejurnal/index.php/pelita/article/view/441
[6] N. Adhayanti, “Kompresi Data dan Teks,” vol. 2, no. 1, p. 11, 2017, [Online]. Available:
http://nurul_a.staff.gunadarma.ac.id/Downloads/files/28522/06_Kompresi+Data+Dan+Teks.pdf [7] D. Salomon and G. Motta, Handbook of Data Compression. Springer, 2010.
[8] V. F. Dr. Vladimir, “済無No Title No Title No Title,” Gastron. ecuatoriana y Tur. local., vol. 1, no. 69, pp. 5–24, 1967.
[9] M. R. Irliansyah, S. D. Nastion, and K. Ulfa, “Penerapan Metode Deflate Dan Algoritma Goldbach Codes Dalam Kompresi File Teks,” KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 1, no. 1, pp. 186–189, 2017.
[10] S. Siahaan, “Penerapan Algoritma Sequitur Pada Kompresi Record Database Pada Database,” Jurikom), vol. 6, no. 5, pp.
511–516, 201
[11] M. S. Ismail Almurtada, “Penerapan Algoritma Goldbach Codes pada Kompresi File Gambar Terenkripsi Vigenere Cihper,”
Pelita Inform. Budi Darma, vol. 6, no. April, pp. 473–478, 2018.
[12] M. Yogie, “Penerapan Algoritma Goldbach Codes pada Kompresi File Gambar Terenkripsi Vigenere Cihper,” Pelita Inform.
Budi Darma, vol. 17, no. April, pp. 316–320, 2018.