Analisis Perbandingan Algoritma Goldbach G0 Dan Algoritma Goldbach G1 Dalam Mengkompresikan File Gambar
Elfiyana Sinta Sitorus
Fakultas Ilmu Komputerdan Teknologi Informasi, Teknik Informatika, Universitas BudiDarma Medan, Medan, Indonesia Email:[email protected]
Abstrak− Seiring berkembangnya dunia, teknologi untuk memperoleh informasi dengan cepat menjadi lebih canggih dan meluas.
Berbagai cara teknis terus dikembangkan untuk memungkinkan semua orang berhasil berbagi informasi, terutama saat mengirim data seperti file gambar, tetapi file gambar yang besar menyebabkan masalah kapasitas penyimpanan dan dapat sulit untuk disimpan dalam data file gambar. Untuk memperbaiki masalah ini, disarankan untuk mengompres file gambar dengan algoritme yang sesuai untuk hasil terbaik. Untuk menemukan algoritma kompresi yang sesuai, bandingkan algoritma Goldbach Codes G0 dan Goldbach Codes G1 untuk menghemat ruang penyimpanan file gambar saat mengirim file gambar. File gambar terkompresi juga lebih mudah dan lebih cepat untuk dikirim karena ukuran datanya yang lebih kecil. Setelah menguji sistem, algoritma Goldbach G0 memiliki rasio kompresi (Cr) 42%, redundansi (Rd) 57%, dan penghematan ruang (Ss) 57%, yang lebih baik daripada alg oritma kode Goldbach codes G1 dalam proses kompresi file gambar.Saya mengerti. Selama kompresi dan dekompresi, algoritma Goldbach Codes G0 membutuhkan waktu lebih sedikit untuk mengompresi file gambar dari pada algoritma Goldbach Codes G1.
Kata Kunci: Kompresi; Algoritma Goldbach Codes G0; Goldbach Codes G1
Abstract− As the world develops, technology for obtaining information quickly becomes more sophisticated and widespread.
Various technical means are continuously being developed to enable everyone to successfully share information, especially when sending data such as image files, but large image files cause storage capacity problems and can be difficult to store in image file data. To fix this problem, it is recommended to compress the image file with th e appropriate algorithm for best results. To find a suitable compression algorithm, compare the Goldbach Codes G0 and Goldbach Codes G1 algorithms to save image file storage space when sending image files. Compressed image files are also easier and faster to send due to their smaller data size. After testing the system, Goldbach G0 algorithm has compression ratio (Cr) 42%, redundancy (Rd) 57%, and space saving (Ss) 57%, which is better than Goldbach codes G1 algorithm in image file compression process. I understand. During compression and decompression, the Goldbach Codes G0 algorithm takes less time to compress image files than the Goldbach Codes G1 algorithm.
Keywords: Compression; Algorithm Goldbach Codes G0; Goldbach Codes G1
1. PENDAHULUAN
Sebagian orang menganggap gambar atau foto sebagai media untuk mengabadikan suatu momen, dan tidak jarang orang akan mengumpulkan semua foto pada setiap momen. Biasanya orang tidak akan mau menghapus foto dan merasa sayang untuk membuang momen yang dianggap berharga, sehingga orang tersebut akan menyimpan foto tersebut. Hal ini dapat mengakibatkan ruang kosong pada media penyimpanan akan berkurang banyak atau bahkan bisa menjadi penuh. Solusi dari masalah tersebut yaitu dengan melakukan kompresi data.
Pada penelitian file gambar ini dilakukan kompresi data untuk memperkecil ukuran data. Banyak penelitian saat ini yang membahas tentang kompresi data untuk file gambar. Hasil yang didapat juga tergantung dari algoritma yang digunakan. Salah satu algoritma kompresi yang tersedia saat ini adalah algoritma kode Goldbach. Algoritma kode Goldbach memiliki beberapa kode, G0 dan G1
Penelitian mengenai penelitian pemecahan goldbach G0 telah pernah dilakukan sebelumnya yaitu misalnya yg dilakukan oleh Indah Lestari, pada penelitiannya buat membandingkan output kompresi antara penelitian pemecahan Golbach Codes menggunakan prosedur pemecahan Sequitur memakai metode perbandingan Exponential dimana disimpulkan bahwa lebih indah output kompresi menurut penelitian Goldbach Codes [1]. Menurut Abdul halim lubis, dkk menggunakan penelitian yg dilakukan mengkompresi pesan teks SMS & dari output dan pembahasan yg sudah dilakukan, maka kesimpulannya merupakan Algoritma Goldbach Codes bisa memampatkan isi menurut pesan teks Short Message Service supaya penggunaan karakter bisa dimampatkan sebagai akibatnya berhemat penggunaan karakter[2]. Penelitian mengenai Algoritma Goldbach pula telah pernah dilakukan sebelumnya yaitu misalnya yg dilakukan oleh Elvia Hartika. Berdasarkan penelitian ini yg sudah memakai penelitian Subexponential Code, sudah menandakan arsip gambar yg semulanya mempunyai berukuran besar pada kompresi sebagai berukuran kecil, dan akan menaruh manfaat ruang memori yg lebih sedikit[3]. Penelitian mengenai Algoritma Goldbach pula telah pernah dilakukan sebelumnya yaitu misalnya yg dilakukan Agus Adi Primadi Berdasarkan penerapan prosedur pemecahan Even-Rodeh Codes, menggunakan prosedur pemecahan ini bisa diketahui bahwa suatu arsip gambar yg ukurannya akbar bisa dikompresi sebagai berukuran kecil. Sehingga bisa berhemat ruang penyimpanan memori lebih sedikit.[4]Dalam penelitian ini akan dilakukan perbandingan antara algoritma goldbach code G0 dengan algoritma goldbach code G1, hal ini dilakukan untuk melihat kinerja dari proses kompresi yang dilakukan apakah algoritma goldbach code G1 yang merupakan pengembangan dari algoritma goldbach code G0 lebih baik untuk mengkompresi file gambar.
Setelah menguji sistem, algoritma Goldbach G0 memiliki rasio kompresi (Cr), redundansi (Rd), dan penghematan ruang (Ss), yang lebih baik daripada algoritma kode Goldbach codes G1 dalam proses kompresi file gambar.Saya mengerti. Selama kompresi dan dekompresi, algoritma Goldbach Codes G0 membutuhkan waktu lebih
Page | 292 sedikit untuk mengompresi file gambar dari pada algoritma Goldbach Codes G1 mengompresi file teks menggunakan Algoritma Rice Code dan Algoritma Goldbach Code[3].
2. METODOLOGI PENELITIAN
2.1 Kompresi Data
Kompresi data adalah suatu metode untuk mengompresi data sehingga menggunakan ruang penyimpanan yang lebih sedikit dan lebih efisien dalam menyimpan atau mempersingkat pertukaran data. Untuk mengefisienkan proses pengiriman file, ini diimplementasikan dengan kompresi file atau kompresi data. Untuk alasan ini, algoritma kompresi data digunakan untuk mengurangi ukuran file terenkripsi tanpa kehilangan data atau menjadi identik dengan data asli.
[3].
2.1.1 Parameter Kinerja Kompresi Data
Teknik yang digunakan untuk mengompresi data memiliki beberapa faktor parametrik yang dapat digunakan untuk menentukan kualitas dari data yang dikompresi.
1. 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)
2. 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)
3. Redudancy(Rd)
Redudancy adalah tersimpan nya data sebagai informasi yang memiliki basis data,karakteristik serta struktur yang sama[3]. Secara sistematis dapat dituliskan sebagai berikut:
Cr = 𝐹𝑖𝑙𝑒 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖−𝐹𝑖𝑙𝑒 𝑆𝑒𝑠𝑢𝑑𝑎ℎ 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 x100% (3)
4. 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
Dalam mengkompresi data memiliki beberapa teknik yang digunakan yaitu:
1. Kompresi Lossless
Teknologi kompresi ini memiliki informasi yang dapat membuat data yang sama dengan data awal. Data keluaran dari proses kompresi sebelumnya dapat sepenuhnya dikembalikan ke data aslinya. Tidak ada informasi yang hilang dan tidak ada informasi yang salah terjadi. Oleh karena itu, teknik ini adalah kompresi bebas kesalahan. Jenis kompresi ini cocok untuk file database, spreadsheet, file pengolah kata, dll.
2. Kompresi Lossy
Teknologi kompresi data yang menghapus beberapa informasi. Data hasil kompresi tidak sama dengan data aslinya, tetapi perbedaannya sangat kecil dan dapat diterima secara visual. Kompresi data lossy ini sangat cocok jika diterapkan dalam penyimpanan data analog seperti gambar, video, dan suara.
2.1.3 Padding
Padding ialah ditambahkannya bit 0 yang kurang pada jumlah bit data dalam hasil proses kompresi, jumlah semua bit data dalam hasil kompresi ialah kelipatan delapan atau habis dibagi delapan[7]. Misal didapatkan hasil bit-bit hasil kompresi 01101010 11001111 00101010 00110010 00111001 11101101 1111101. Terdapat 62 bit data pada bilangan biner. Perlu dilakukan penambahan bit 1 sejumlah 1 kali agar jumlah bit data ini habis dibagi delapan. Hingga bit data ini menjadi 01101010 11001111 00101010 00110010 00111001 11101101 11111011 setelah penambahan padding.
2.1.4 Flagging
Flag bits ialah ditambah kannya 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]. Ditambahknnya 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 01101010 11001111 00101010 00110010 00111001 11101101 11111011. Sebab ada 63 bit yang ditambahkan padding maka flag bits nya ialah bilangan biner pada 63 dengan panjangnya 8 bit adalah 10000001. Sehingga bit-bit data menjadi 01101010 11001111 00101010 00110010 00111001 11101101 11111011 00000010 setelah diberikannya flagbits.
2.1.5 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 tampa dikembalikan pada bentuk awal.
2.2 Algoritma Kompresi
2.2.1 Algoritma Goldbach codes G1
Algoritma Goldbach cipher adalah algoritma yang dikatakan menggunakan konjektur Goldbach, yaitu semua bilangan genap positif yang lebih besar dari 2 adalah jumlah dari dua bilangan prima. Kode Goldbach memiliki tiga kode, kode Goldbach pertama disebut "G0". G0 mengkodekan bilangan bulat positif n dengan mengubahnya menjadi bilangan bulat positif genap dengan 2 (n + 3) dan kemudian menulis kembali pasangan bilangan prima positif[5]. Kelebihan dari algoritma Goldbach Codes yaitu mudah untuk dibangun berdasarkan tabel bilangan prima, mudah untuk di decode dan sama panjangnya seperti Fibbonacci Coedes atau Standard Binary Representation dari bilangan bulat.
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.
1.
Pisahkan bit tanda dari sisa nomor yang merupakan bagi anopsional dan bit yang paling signifikan pada Algoritma Goldbach Code G0.2.
Pisahkank LSB menjadi LSB dari Algoritma Goldbach Code G0.3.
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 G0.Tabel 1. Kode Goldbach Code G0
N 2(n+3) Primes Codeword
1 8 3+5 11
2 10 3+7 101
3 12 5+7 011
4 14 3+11 1001
5 16 5+11 0101
6 18 7+11 0011
7 20 7+13 00101
8 22 5+17 010001
9 24 11+13 00011
10 26 7+19 0010001
11 28 11+17 000101
12 30 13+17 000011
13 32 13+19 0000101
148 34 11+23 00110001
2.2.2 Algoritma Goldbach codes G1
Algoritma Goldbach Code G1 merupakan pengembangan dari “G0” dan dalam G1 masih tetap menggunakan bilangan bulat genap. Panjang kode G1 meningkat dari panjang kode G0 tetapi tidak monoton.[6]
Tabel 2. kode Goldbach Code G1
Page | 294
N Sum Indexes Pair Codeword Len.
2 1+1 1,1 1,1 1:1 2
4 1+3 1,2 1,2 1:010 4
6 3+3 2,2 2,1 010:1 4
8 3+5 2,3 2,2 010:010 6
10 3+7 2,4 2,3 010:011 6
12 5+7 3,4 3,2 011:010 6
14 7+7 4,4 4,1 001100:1 6
16 5+11 3,5 3,3 011:011 6
18 7+11 4,5 4,2 1:00111 6
3. HASILDANPEMBAHASAN
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
Algoritma kode Goldbach adalah algoritma yang diyakini menggunakan teori Goldbach. Kode Goldbach memiliki tiga kode, yang pertama disebut "G0".G0 mengkodekan bilangan bulan positif N dengan mengubah menjdi bilangan bulat positif genap dengan 2[N+3] dan kemudian menulis pasangan penjumlahan bilangan prima dalam keadaan terbalik. Tahap analisis dilakukan sebelum tahap desain. Langkah-langkah dalam proses kompresi file gambar adalah dengan terlebih dahulu melakukan proses kompresi kemudian melakukan enkripsi pada file gambar hasil kompresi tersebut. File terenkripsi kemudian didekripsi. Setelah file didekripsi, file tersebut mengalami proses dekompresi sebelum diubah kembali menjadi file gambar.
File gambar yang digunakan dalam format .JPG. Tabel berikut memberikan informasi tentang file gambar objek yang diambil sampelnya sebelum kompresi dalam penelitian.
Gambar 2. Isi File Gambar dari Hasil HxD
Berdasarkan gambar diatas maka didapatkan nilai hexadecimal file gambar sampel nilai sebanyak 25 Karekter nilai hexadecimal file gambar sampel. Nilai hexadecimal diambil dari sisi kiri sampai bilangan ke 25.
Tabel 3. Nilai Frekuensi
Nilai Frekuensi
FF 2
D8 1
E0 1
00 4
10 1
4A 1
46 2
49 1
01 3
Adapun bilangan hexadecimal dari file gambar tersebut FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01.
Nilai hexadecimal tersebut dimasukkan kedalam table untuk dilakukan pembacaan frekuensi. Pembacaan frekuensi dilakukan dengan menghitung jumlah nilai yang sama disetiap nilai yang muncul.
Mengurutkan karakter dengan frekuensi kemunculan tinggi (nilainya hampir sama) ke karakter dengan frekuensi kemunculan rendah.
Tabel 4. Nilai Bit sampel
No Heksa Frekuensi Biner Bit Frekuensi x Bit
1 00 4 00000000 8 32
2 01 3 00000001 8 24
3 FF 2 11111111 8 16
4 46 2 01000110 8 16
5 D8 1 11011000 8 8
6 E0 1 11100000 8 8
7 10 1 00010000 8 8
8 4A 1 01001010 8 8
9 49 1 01001010 8 8
Total Bit 128 bit
Berdasarkan tabel di atas, nilai (karakter) heksadesimal setara dengan 8 bit dalam biner. Ini berarti bahwa 16 digit heksadesimal memiliki nilai biner 128-bit. Untuk mengonversi satuan ke byte, bagi jumlah total bit dengan 8.
Kemudian 128/8 = 16 byte akan dihasilkan.
3.1.1 Membentuk Tabel Code Goldbach G0
Aturan pembentukan kode dengan menggunakan kode Goldbach G1 dapat dilihat secara teoritis pada tabel di bawah Tabel 5. Codeword Goldbach G0
N 2(n+3) Primes Codeword
1 8 3+5 11
2 10 3+7 101
3 12 5+7 011
4 14 3+11 1001
5 16 5+11 0101
6 18 7+11 0011
7 20 7+13 00101
8 22 5+17 010001
9 24 11+13 00011
10 26 7+19 0010001
11 28 11+17 000101
12 30 13+17 000011
Page | 296
N 2(n+3) Primes Codeword
13 32 13+19 0000101
14 34 11+23 00110001
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
Tabel 6. kompresi nilai gambar Goldbach G0
N Karakter Frek 2[n+3] Prima Codeword Bit Frek x Bit
1 00 4 8 3+5 11 2 8
2 01 3 10 3+7 101 3 9
3 FF 2 12 5+7 011 3 6
4 46 2 14 3+11 1001 4 8
5 D8 1 16 5+11 0101 4 4
6 E0 1 18 7+11 0011 4 4
7 10 1 20 7+13 00101 5 5
8 4A 1 22 5+17 010001 6 6
9 49 1 24 11+17 00011 5 5
Total Bit 55 bit
Pada perhitungan tabel diatas setelah dikompresi oleh algoritma Goldbach Codes menjadi 55 bit. Untuk mengubahnya menjadi byte harus dibagi 8, yaitu 55/8=7 byte.
FF D8 FF E0 00 10 4A 46 49
011 0101 011 0011 11 00101 010001 1001 00011
46 00 01 01 00 00 01
1001 11 101 101 11 11 101
String Bit Yang Dihasilkan Yaitu: ”0110101011001111001010100011001000111001111011011111101”
Dengan Total Bit yaitu 55 bit, 55 tidak habis dibagi delapan dan menyisakan 1. Atau dengan kata lain:
55 MOD 8 = 7, “01101010 11001111 00101010 00110010 00111001 11101101 11111011 00000010”
Total panjang bit keseluruhan setelah ada dilakukan tambah nilai bit ialah 55+7 =63. Lalu lakukan pemisahan bit ke beberapa kelompok. Perkelompok terdiri atas 8 bit seperti gambar diatas.
Berdasarkan pada pembagian kelompok nilai biner, didapatkan 8 kelompok nilai biner baru (8 byte) yang telah dikompresi nilai biner penambahan bit. Lalu dilakukan pembagian, maka nilai yang telah dibagikan diubah.
dalam suatu karakter terlebih dahulu dengan cara dilakukannya pencarian nilai hexadecimal serta string bit ini memakai kode ASCII untuk mengetahui nilai yang sudah dikompresi
Tabel 7. Karakter String bit
No Biner Nilai Desimal Karakter
1 01101010 106 J
2 11001111 207 K
3 00101010 42 “
4 00110010 51 )
5 00111001 57 /
6 11101101 237 Ý
7 11111011 251 √
8 00000010 2 E
Adapun nilai yang telah terkompresi dapat di lihat dalam tabel di bawah ini : Tabel 8. Hexsadecimal Terkompresi No Goldbach Codes G0 Nilai Heksa
1 011 FF
2 0101 D8
3 011 FF
4 0011 E0
5 11 00
6 00101 10
7 010001 4A
No Goldbach Codes G0 Nilai Heksa
8 1001 46
9 00011 49
10 1001 46
11 11 00
12 101 01
13 101 01
14 11 00
15 11 00
16 101 01
Ukuran file awal sebelum dikompresi adalah 128 bit, sehingga rasio kompresinya adalah 𝑅𝑐= 𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
= 128
55
= 2,32
𝐶𝑅= 𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑋 100%
= 55
128𝑥100% = 0.42 x 100%
= 42%
𝑅𝑑 = 𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖−𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑥 100%
= 128−55128 𝑥 100% = 73
128𝑥100% = 0.57 x 100% = 57%
Jika dinyatakan dalam bentuk persen maka dapat dituliskan dalam rumus sebagai berikut : SS = ( 1 - (Ukuran File Terkompresi) / (Ukuran File Asli) ) x 100%
SS = ( 1 - (55 / 128) ) x 100%
SS =( 1 – 0,42) x 100 % SS = 0,57 x 100 % SS = 57%
3.1.2 Analisa proses dekompresi file MP4 menggunakan Algoritma Goldbach Code G0
Dekompresi membalikkan file terkompresi dan mengubah isinya dari karakter terkompresi ke angka biner.Kemudian gabungkan seluruh urutan bit
Tabel 9. Nilai heksadecimal No Goldbach Codes G0 Nilai Heksa
1 011 FF
2 0101 D8
3 011 FF
4 0011 E0
5 11 00
6 00101 10
7 010001 4A
8 1001 46
9 00011 49
10 1001 46
11 11 00
12 101 01
13 101 01
14 11 00
15 11 00
16 101 01
Berdasarkan tabel di atas maka diambil seluruh nilai biner dan digabungkan yaitu 0110101011001111001010100011001000111001111011011111101100000010
Setelah itu kita kembali membentuk string bit biner yang dihasilkan oleh karakter hasil kompresi.
0110101011001111001010100011001000111001111011011111101100000010
Page | 298 lalu menghilangkan padding dan flag bits dengan cara membaca 8 bit nilai akhir dari string bit yaitu :
0110101011001111001010100011001000111001111011011111101. Dari hasil dekompresi diatas, maka dapat dijabarjan hasil dekompresi yaitu “FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01”
3.1.3 Analisa proses kompresi file gambar Menggunakan Algoritma Godlbach Code G1 Tabel 10. String bit hasil kompresi Algoritma Goldbach G1
n N Nilai Heksadecimal 2[n+3] Prima Index Pair Codeword G1 Frek Bit Frek x Bit
0 6 0 8 3+3 2,2 2,1 010:1 4 4 16
1 8 1 10 3+5 2,3 2,2 010:010 3 6 18
2 10 FF 12 3+7 2,4 2,3 010:011 2 6 12
3 12 46 14 5+7 3,4 3,2 011:010 2 6 12
4 14 D8 16 3+11 2,5 2,4 010:00100 1 8 8
5 16 E0 18 5+11 3,5 3,3 011:011 1 6 6
6 18 10 20 7+11 4,5 4,2 00100:010 1 8 8
7 20 4A 22 7+13 4,6 4,3 00100:011 1 8 8
8 22 49 24 5+17 3,7 3,5 011:00101 1 8 8
Total 96
Setelah kode berhasil dihasilkan berdasarkan perhitungan algoritma Goldbach code G1, atur ulang kode yang dihasilkan dari proses kompresi sesuai dengan posisi karakter dalam nilai heksadesimal yang dihasilkan oleh proses kompresi. “FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01”
Tabel 11. string bit hasil Goldbach G1
FF D8 FF E0 00 10
010011 01000100 010011 011011 0101 00100010
4A 46 49 46 00 01
00100011 011010 01100101 011010 0101 010010
01 00 00 01
010010 0101 0101 010010
Berdasarkan pada tabel String bit hasil kompresi dengan algoritma Goldbach Codes G1 dapat dituliskan sebagai berikut :
Sebelum didapatkan hasil keseluruhan dari akhir kompresi maka akan dilakukan penambahan string bit yaitu padding bit dan flaging bit. Jika sisa hasil bagi setiap panjang string bit terhadap 8 adalah 0 maka akan dilakukan penambahan 00000001 di bit akhir. Apabila hasil sisa bagi dari panjang string bit terhadap 8 yaitu n=1,2,3,4,5,6,7,8,9 maka, ditambahkan 0 sebanyak 7 – n + “1” di akhir string bit dinyatakan dengan N. Kemudian ditambahkan bilangan biner dari 9 – n, nyatakan di bit akhir. Total string bit yang didapat adalah 96 dan habis dibagi delapan, maka tidak perlu menambahkan padding, dan hanya perlu menambahkan flagging dimana nilai n adalah 8. Kemudian ditambahkan bilangan biner dari 9 – n,
Gambar 3. flagging
Berdasarkan perhitungan diatas maka stringbit yang telah ditambahkan flagging menjadi
“0100110100010001001101101101010010001000100011011010011001010110100101010010010010001010101010 01000000001” dengan total bit 104 bit. Langkah berikutnya membagi stringbit tersebut menjadi perdelapan bit dandirubah menjadi karakter.
Tabel 12. Krakter String bit
No Biner Nilai Desimal Karakter
1 01001101 77 M
2 00010001 17 ◄
3 00110110 54 6
4 11010100 212 ╘
5 10001000 136 E
Flagging 9-n
9 - 8 = 1 = 00000001 (biner)
6 10001101 141 Ì
7 10100110 166 ¦
8 01010110 86 V
9 10010101 149 ò
10 00100100 36 $
11 10010101 149 ò
12 01010010 82 R
13 00000001 1 SOH
Hasil dari proses kompresi menghasilkan karakter berikut ini = M◄6╘E̦Vò$òRSOH. Ukuran file awal sebelum dikompresi adalah 96 bit, sehingga rasio kompresinya adalah
𝑅𝑐= 𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
= 128
96
= 1,33
𝐶𝑅= 𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝑏𝑖𝑡 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑋 100%
= 96
128𝑥100% = 0.75 x 100%
= 75%
𝑅𝑑 = 𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖−𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑥 100%
= 128−96
128 𝑥 100% = 32
128𝑥100% = 0.25 x 100% = 25%
Jika dinyatakan dalam bentuk persen maka dapat dituliskan dalam rumus sebagai berikut : SS = ( 1 - (Ukuran File Terkompresi) / (Ukuran File Asli) ) x 100%
SS = ( 1 - (94 / 128) ) x 100%
SS =( 1 – 0,75) x 100 % SS = 0,25 x 100 % SS = 25%
Tabel 13. Nilai Hexsadecimal Terkompresi No Goldbach Codes G1 Nilai Heksa
1 010011 FF
2 00100100 D8
3 010011 FF
4 011011 E0
5 0101 00
6 00100010 10
7 00100011 4A
8 011010 46
9 01100101 49
10 011010 46
11 0101 00
12 010010 01
13 010010 01
14 0101 00
15 0101 00
16 010010 01
Dari hasil dekompresi diatas, maka dapat dijabarjan hasil dekompresi yaitu “FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01”
3.1.5 Perbandingan Algoritma Goldbach Code G0 dan Goldbach Code G1
Dari proses analisis yang dilakukan untuk mengkompres file dokumen menggunakan algoritma Goldbach G0 dan Goldbach G1, beberapa parameter digunakan untuk memeriksa kinerja kedua algoritma tersebut.Parameter yang digunakan untuk mengukur kinerja algoritma kompresi yaitu Ratio of compression (RC), Compression Ratio (CR), Redudancy (RD), Space Saving (SS).
Tabel 14. Nilai Perbandingan
Page | 300
No Algoritma RC CR RD SS Rangking
1 Goldbach G0 2,32 42% 57% 57% 1
2 Goldbach G1 1,33 75% 25% 25% 2
Tabel tersebut menunjukkan bahwa algoritma Goldbach G0 memiliki CR sebesar 42%, lebih rendah dari CR algoritma Goldbach G1 sebesar 75%. Oleh karena itu, SS Goldbach G0 memiliki nilai yang lebih akurat dibandingkan Goldbach G1. Dari hasil tersebut dapat disimpulkan bahwa algoritma Goldbach G0 berkinerja lebih baik daripada algoritma Goldbach G1 dalam mengompresi file gambar daripada algoritma file gambar.
3.2 Implementasi
Implementasi program merupakan tahap pengujian dari sistem yang dibangun. Berikut adalah spesifikasi perangkat keras (hardware) dan perangkat lunak (software) dan seperti apa sistem dalam pengoperasiannya.
4. KESIMPULAN
Berdasarkan pembahasan dan evaluasi sebelumnya dan analisis terhadap kompresi file gambar yang berektensi .jpg, maka dapat ditarik kesimpulan bahwa Kompresi file gambar dapat dilakukan dengan mengubahnya menjadi heksadesimal sehingga dapat dilakukan perhitungan. Angka heksadesimal yang diperoleh kemudian akan diproses oleh algoritma goldbach Codes G0 dan goldbach Codes G1 untuk menghasilkan nilai baru yang akan mengubah ukuran file gambar. Pada analisa perbandingan algoritma goldbach Codes G0 dan algoritma goldbach Codes G1 untuk mengompres pada isi file gaambar dengan mengambil hasil akhir, Rasio kompresi, Compression Ratio, Space Saving, dan Redudancy dari proses kompresi kedua algoritma, kemudian hasil akhir dari kedua algoritma dibandingkan menggunakan metode Exponential. Setelah dibandingkan dengan menggunakan metode perbandingan Exponensial, perfomansi terbaik antara algoritma goldbach Codes G0 dan algoritma goldbach Codes G1 adalah algoritma goldbach Codes G0. Dalam perancangan aplikasi kompresi file gambar dengan algoritma goldbach code G0 dengan algoritma goldbach code G1 yaitu menggunakan visual basic.Net 2008 telah berhasil dibangun untuk mengkompresi file gambar.
REFERENCES
[1] S. R. Sulistiyanti, F. A. Setyawan, dan M. Komarudin, “Pengolahan Citra Dasar dan Contoh Penerapannya,” עטונה ןולע, vol. 66, no. قثقثقث قث, hal. 37–39, 2012.
[2] E. Hariska et al., “Perancangan Aplikasi Kompresi File Gambar Menggunakan Algoritma Additive Code,” vol. 5, hal.
193–202, 2021, doi: 10.30865/komik.v5i1.3671.
[3] E. S. Panggabean, “DAN ALGORITMA DEFLATE PADA FILE TEKS DENGAN METODE INDEPENDENT SAMPLE T-TEST,” vol. 6, hal. 333–336, 2018.
[4] M. Yogie, “PENERAPAN ALGORITMA GOLDBACH CODES PADA KOMPRESI FILE GAMBAR TERENKRIPSI VIGENERE CIHPER,” vol. 7, hal. 81–85, 2018.
[5] A. Media, P. Buku, S. Digital, dan U. Pelajar, “Implementasi Algoritma Elias Omega Coding Untuk Kompresi File Teks Pada Implementasi Algoritma Elias Omega Coding Untuk Kompresi File Teks Pada Aplikasi Media Pembelajaran Buku Sekolah Digital Untuk Pelajar,” no. May 2021, hal. 1–9, 2020, doi: 10.30865/komik.v4i1.2677.
[6] N. Yuni dan I. Hutagalung, “Penerapan Algoritma Taboo Codes Pada Kompresi File Text,” vol. 1, no. 2, hal. 43–49, 2022.
[7] A. Pendahuluan, “KOMPRESI DATA,” vol. 2, no. 1, 1940.
[8] M. Apriyanto, F. Teknik, I. Komputer, U. B. Darma, A. G. Code, dan F. Teks, “ANALISA PENERAPAN ALGORTIMA GOLDBACH CODES DAN METODE SHANNON-FANO PADA KOMPRESI FILE TEKS,” hal. 207–218.
[9] I. Almurtada dan M. Syahrizal, “Penerapan Algoritma Goldbach Codes pada Kompresi File Gambar Terenkripsi Vigenere Cihper,” Pelita Inform. Budi Darma, vol. 6, no. April, hal. 473–478, 2018.
[10] D. Salomon dan G. Motta, Handbook of Data Compression. Springer, 2010.
[11] T. Sri dan D. Hutauruk, “Penerapan Algoritma Even-Rodeh Code pada Istilah Dalam Peramuka,” vol. 2, no. 6, hal. 390–
395, 2021.
[12] J. P. Informatika et al., “ANALISA PERBADINGAN ALGORITMA GOLDBACH CODES DENGAN ALGORITMA SEQUITUR PADA KOMPRESI FILE TEXT,” vol. 8, hal. 15–18, 2019.