Penerapan Metode Fibonacci Code Dalam Mengkompresi File Video
Rizqina Silaban
Program Studi Teknik Informatika Universitas Budi Darma Medan, Medan, Indonesia Email: [email protected]
Abstrak-Di era perkembangan teknologi saat ini kebutuhan akan kapasitas penyimpanan data yang besar tampaknya semakin penting. Oleh karena itu, terlepas dari kemajuan luar biasa dalam teknologi penyimpanan data teknik kompresi tidak lagi menjadi asing. karena data yang harus disimpan semakin lama akan semakin banyak salah satunya adalah penyimpanan file video.
Permasalahan ini sering muncul karena besarnya ukuran data menyebabkan borosnya media penyimpanan yang digunakan. Untuk mengatasi masalah ukuran dalam menyimpan data dan proses transmisi, maka peneliti akan menggunakan algoritma Fibonacci code untuk melakukan proses kompresi. Algoritma Fibonacci Code merupakan salah satu jenis kompresi data lossless yang digunakan dalam penelitian ini, yang kinerjanya akan diukur dengan parameter perbandingan Compression Ratio (CR) dan Redundancy (RD). Proses kompresi hanya dilakukan pada file video dengan format .mp4. Hasil eksperimen menunjukkan bahwa algoritma ini sangat efektif, dan dapat menghasilkan perbandingan dari Compression Ratio (CR) 51%, Ratio Of Compression (RC) 1,96% dan Redudancy 49%. Setelah mendapatkan hasil dari kompresi file video maka akan dirancang kedalam aplikasi Microsoft visual basic 2008.
Kata Kunci: Kompresi; Fibonacci code; File video
Abstract-In the current era of technological development, the need for large data storage capacity seems to be increasingly important. Therefore, despite the tremendous advances in data storage technology compression technique is no longer a stranger.
because the data that must be stored the longer it will be more and more one of them is video file storage. This problem often arises because the large size of the data causes wasteful storage media used. To overcome the problem of size in storing data and the transmission process, the researchers will use the Fibonacci code algorithm to perform the compression process. The Fibonacci Code algorithm is one type of lossless data compression used in this study, whose performance will be measured by comparison parameters Compression Ratio (CR) and Redundancy (RD). The compression process is only performed on video files with the .mp4 format. The experimental results show that this algorithm is very effective, and can produce comparisons of Compression Ratio (CR) 51%, Ratio Of Compression (RC) 1.96% and Redundancy 49%. After getting the results of the video file compression, it will be designed into the Microsoft Visual Basic 2008 application.
Keywords: Compression; Fibonacci code; Video files
1. PENDAHULUAN
Kebutuhan kapasitas penyimpanan yang lebih besar akan menjadi pemicu bertambahnya bermacam ragam teknik kompresi. Dengan melakukan kompresi, data yang besar akan semakin berkurang ukurannya. Selain masalah penyimpanan dalam data ukuran data juga sangat mempengaruhi pengiriman. Pengiriman file dapat dilakukan dengan cepat jika file berukuran kecil, tetapi tidak semua data yang dikirim orang memiliki kapasitas yang kecil sehingga kita membutuhkan memori berkapasitas besar untuk menyimpan semua data yang dibutuhkan dan kecepatan koneksi internet yang tidak stabil membutuhkan waktu yang relatif lama dalam proses pengiriman data. Maka dari itu, dalam transmisi data skala besar, proses kompresi juga dibutuhkan. Kompresi data file semakin banyak diterapkan pada berbagai jenis data, teks, gambar, audio, dan video[1].
Namun ada beberapa permasalahan yang ditemukan saat selesai mengunduh dan mengirim video terutama pada penyimpanan yang mengakibatkan ukuran file terlalu besar. File video ini memiliki ukuran yang cukup besar sehingga membutuhkan kapasitas penyimpanan yang besar pula, oleh karena itu kompresi data menjadi paling penting, sebab memperkecil keperluan penyimpanan data, mempercepat pengiriman data, dan memperkecil kebutuhan bandwidth [2]. Adapun beberapa algoritma untuk mengkompresi data yang didasarkan pada beberapa ide yang cocok untuk berbagai jenis data dan menghasilkan hasil yang berbeda pula, tetapi semuanya didasari pada prinsip yang sama yaitu mengkompres data dengan menghilangkan redudansi dari sumber data file[3].
Terkait dengan masalah diatas maka dibutuhkan teknik proses kompresi dengan menerapkan algoritma Fibonacci code. Dimana algoritma Fibonacci code salah satu teknik data lossless, yang mampu mengkompresi data saat proses pengirimian data yang berukuran besar menjadi data berukuran kecil dengan tetap menjaga kualitas representasi dari file video[4]. Algoritma Fibonacci Code adalah jenis metode kompresi berdasarkan pengkodean dengan sistem kode universal di mana nilai bilangan bulat positif menjadi data membentuk kata-kata kode biner menggunakan Bilangan Fibonacci[4]. Dalam penelitian yang dilakukan oleh Dita Anggraini, dengan menggunakan algoritma Fibonacci Code yang berjudul “Penerapan Algoritma Fibonacci Code Pada File Transfer Berbasis Android” dari hasil penilitian tersebut telah menjelaskan bahwa Aplikasi file transfer dirancang dan dibangun dengan menggunakan tools eclipse juno dan menerapkan algoritma Fibonacci Code sehingga dapat memperkecil ukuran file yang akan dikirim[5].
Adapun penelitian lain yang dilakukan oleh M. Ade Syahputra dan Putri Ramadhani, yang berjudul
“Implementasi Metode Fibonacci Dalam Kompresi Iklan Pada Website PT. Amanah Wisata Travel” penelitian ini menyimpulkan bahwa Metode fibonacci dapat diterapkan untuk melakukan kompres pada iklan di website PT.
Amanah Wisata Travel [6]. Selanjutnya penelitian yang dilakukan oleh Kiki Farida Simbolon, yang berjudul
“Perbandingan Kinerja Algoritma Fibonacci Codes Dan Algoritma Reverse Unary Codes Dalam Kompresi Citra”
penelitian ini menyimpulkan bahwa hasil pengujian kompresi file citra dengan karakter yang berbeda berdasarkan Kompresi Rasio, dan waktu kompresi menunjukkan bahwa metode Fibonacci Codes lebih baik dibandingkan dengan metode Reverse Unary Code dengan rasio kompresi rata-rata sebesar 138,2%[7]. Ada juga penelitian lain yang dilakukan oleh Jesica Martina Br. Panjaitan, dengan menggunakan algoritma Fibonacci Code yang berjudul
“Penerapan Algoritma Fibonacci Codes Pada Kompresi Aplikasi Audio Mp3 Berbasis Dekstop” penelitian ini menjelaskan bahwa menggunakan algoritma Fibonacci Code telah berhasil mengkompres media penyimpanan data lebih dari 30% untuk 1 file mP3 [8].
Berdasarkan hasil dari penelitian-penelitian terdahulu tentang pengkompresian file video, untuk penelitian ini peneliti menggunakan algoritma Fibonacci Code. Penggunaan algoritma ini diharapkan dapat mengurangi byte data dalam file video dan menghemat ruang penyimpanan.
2. METODOLOGI PENELITIAN
2.1 Kerangka kerja Penelitian
Pada metodologi membuat kerangka kerja penelitian menjadi kumpulan konsep yang tersusun secara teratur, supaya tujuan penelitian yang dilakukan menjadi lebih baik, sehingga proses pembuatan kerangka konsep penelitian ini dibentuk sebelum langkah penelitian dilakukan. Adapun kerangka kerja pada penelitian ini sebagai berikut:
Gambar 1. Kerangka kerja penelitian
Dari tahapan kerangka kerja penelitian diatas masing-masing dapat dijelaskan sebagai berikut:
1. Identifikasi Masalah
Tahap awal ini dilakukan identifikasi masalah untuk menentukan rumusan masalah dalam suatu penelitian.
2. Studi Pustaka
Pada tahap ini dilakukan proses pencarian refrensi terhadap objek yang akan diteliti dari beraneka ragam sumber seperti jurnal, artikel ilmiah, buku dan lain sebagainya
3. Analisa Kompresi Pada File Vide
Proses pengkompresian file video ini berformat .mp4 menggunakan algoritma Fibonacci Code yang bertujuan untuk memperkecil ukuran data.
4. Analisa Dekompresi Pada File Video
Proses pengembalian file video yang telah dikompres ke bentuk file asli.
5. Perancangan Sistem
Tahap selanjutnya penulis akan merancang sistem dengan baik
6. Penerapan Algoritma Fibonacci Code
Tahapan ini penulis melakukan penerapan algoritma Fibonacci Code dalam mengkompres file video sehingga dapat mengecilkan kapasitas ukuran data.
7. Pengujian
Tahap ini melakukan pengujian untuk mengetahui sistem dari hasil akhir penelitian yang dilakukan.
8. Dokumentasi
Tahap akhir ini melakukan pengumpulan dokumentasi hasil akhir dari penelitian yang akan disusun dalam bentuk laporan.
2.2 Kompresi
Kompresi merupakan konversi data ke sebuah format yang lebih kecil, biasanya dilakukan sehingga data dapat disimpan atau disalurkan yang lebih efisien. Proses pengembalian data yang sudah dikecilkan tersebut disebut dekompresi. Dan jika proses dekompresi menghasilkan data yang sama dengan yang semula maka kompresi disebut
"lossless". Sedangkan jika data yang didekompresi tersebut menghasilkan data yang lebih kecil maka kompresi ini disebut "lossy". Kompresi video lossless meskipun mungkin dilakukan, namun dalam praktik jarang digunakan, dan semua data video standar biasanya membuang sebagian data (kompresi lossy)[9]. Adapun dua cara yang diperoleh dalam melakukan kompresi yaitu:
1. Lossless Compression
Lossless Compression adalah proses kompresi di mana dekompresi itu dari file yang terkompresi sesuai dengan file sebelumnya, tidak ada informasi yang tertinggal. Walaupun rasio kompresi file sistem ini sangat rendah.
Banyak aplikasi yang menginginkan kompresi tanpa rusak. Sama seperti aplikasi radiografi, dimana kehilangan gambar sekecil apa pun tentu menghasilkan yang tidak di inginkan. misalnya Run Length Endocing (RLE), Entropy Encoding (huffman, aritmatika), dan Adaptive Dictionary Based (LZW)[10].
2. Lossy Compression
Lossy compression merupakan kompresi file di mana hasil dekompresi dari file yang terkompresi tidak sama dengan file sebelumnya, namun sudah layak digunakan. sebab ada laporan yang hilang, namun masih bisa ditoleransikan oleh apresiasi mata. Sistem ini menimbulkan ratio kompresi yang bertambah tinggi ketimbang dengan metode lossless[10].
Terdapat beberapa teknik untuk membuktikan nilai pada suatu metode kompresi yaitu : 1. Compression Ratio (CR)
Compression ratio adalah presentasi data yang pernah di kompresi dari hasil perselisihan antara ukuran data yang belum dikompresi serta data yang sudah dikompres[11].
𝐶𝑅 = 𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑖𝑠∗ 100%
2. Ratio of Compression (RC)
Ratio of Compression (RC) merupakan perselisihan antara ukuran data sebelum dikompresi dengan ukuran data telah dikompresi[8].
𝑅𝐶 =𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑈𝑘𝑢𝑟𝑎𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑖𝑠 3. Redudancy (Rd)
Redudancy adalah penyimpanan data sebagai informasi yang tertumpuk, basis data yang sama, karateristik serupa dan bentuk yang sama[11].
𝑅𝑑 =𝐹𝑖𝑙𝑒 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖−𝐹𝑖𝑙𝑒 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑎𝑛 𝑓𝑖𝑙𝑒 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 ∗ 100%
2.3 Kompresi Video
Kompresi video merupakan sistem memperkecil ukuran video dengan cara melakukan kompresi terhadap gambar dan suara yang terdapat didalam video, sehingga tingkat batas kualitas yang masih dikatakan baik. Video memiliki 3 dimensi yaitu berupa 2 dimensi horizontal dan vertical, dan 1 dimensi waktu. Di dalam video terdapat 2 hal yang bisa dikompresi yaitu frame (still image) dan audionya. Data video mempunyai redundancy spatial (warna dalam still image) dan redundancy temporal (perubahan antar frame). Penghilangan redundancy spatial (spatial/intraframe compression) didahului dengan memperoleh keuntungan dari bukti bahwa mata manusia tidak terlalu dapat membedakan perselisihan warna dibandingkan dengan brightness, sehingga image dalam video dapat dikompresi (cara ini sama dengan teknik kompresi lossy color reduction pada image). Penghilangan redundancy temporal (temporal/interframe compression) dilakukan dengan mengirimkan dan mengkode frame yang berubah saja sedangkan data yang sama masih disimpan[12].
2.4 File Video
File merupakan sebuah identitas data yang disimpan didalam sistem berkas yang dapat diakses dan diatur oleh pengguna. Sebuah berkas atau file mempunyai nama yang unik dalam suatu direktori atau folder dimana file itu
berada. Setiap software atau program mempunyai jenis atau tipe file tersendiri. Beraneka macam jenis file berpengaruh pada program yang digunakan untuk mengakses jenis file tersebut. Pada umumnya jenis file hanya bisa dibuka menggunakan program yang menghasilkan jenis file itu[13].
Video merupakan sekumpulan gambar bergerak yang terdapat dari hasil rekaman kamera atau hasil animasi komputer. Pada awalnya informasi video disimpan secara berbeda, sebagai perubahan bentuk frekuensi secara kontinyu yang menggantikan adanya pertukaran warna dan kecerahan dari gambar yang direkam[3].
2.5 Algoritma Fibonnaci Code
Fibonacci Pertama kali dikembangkan oleh Leonardo di Pisa, atau dikenal sebagai Leonardo Fibonacci, seorang ahli matematika pada abad ketiga belas yang menerbitkan buku “Liber Abaci”. deret angka Fibonacci kini digunakan dalam beragam disiplin ilmu, seperti biologi, astronomi, geologi, musik, arsitektur, dan finansial.
Untuk memahami Fibonacci juga diharuskan mengetahui Fibonacci Sequence (deret angka). Walaupun ada permintaan dari kalangan orang-orang yang percaya bahwa deret angka Fibonacci terlihat secara akurat pada objek- objek alami, akan tetapi hal tersebut masih menjadi persoalan, sebab ke akurasiannya pada objek - objek alami masih layak dipertanyakan semakin jauh.
Dalam matematika bilangan Fibonacci adalah barisan yang didefinisikan secara rekursif sebagai berikut:
Barisan ini berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Dengan aturan ini, maka barisan bilangan Fibonacci dapat di tunjukkan sebagai barisan bilangan 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597,……. Berikut langkah-langkah pembentukan kode Fibonacci yaitu:
1. Tentukan sebuah bilangan bulat positif n yang lebih besar.
2. Temukan bilangan Fibonacci f terbesar yang lebih kecil atau sama dengan n, kurangkan nilai n dengan f dan catat sisa pengurangan nilai n dengan f.
3. Jika bilangan yang dikurangkan adalah bilangan yang terdapat dalam deret Fibonacci F(i), tambahkan angka “1”
dalam kode Fibonacci yang akan dibentuk.
4. Ulangi langkah 2, tukar nilai n dengan sisa pengurangan nilai n dengan f sampai sisa pengurangan nilai n dengan f adalah 0.
5. Tambahkan angka “1” pada posisi paling kanan kode Fibonacci yang akan dibentuk[5].
Contoh proses encoding dan decoding sebuah bilangan menjadi kode Fibonacci dapat dilihat sebagai berikut:
Nilai n = 65
Deret Fibonacci yang paling mendekati nilai n adalah 0 1 1 2 3 5 8 13 21 34 55 89 Proses pengurangan nilai n dengan setiap bilangan Fibonacci:
1. 65 – 55 = 10 2. 10 – 8 = 2 3. 2 – 2 = 0
Tabel 1. Pembentukan Kode Fibonacci
3.HASIL DAN PEMBAHASAN
Analisa terhadap sistem ialah bagian yang sangat penting untuk mengetahui proses yang terjadi pada aplikasi yang akan dirancang. Tahapan analisa terhadap suatu sistem dibuat sebelum melakukan tahapan perancangan dimulai.
Peneliti akan melakukan tahap kompresi pada file video dengan menggunakan algoritma Fibonacci Code. Maka permasalahan yang akan dibahas oleh peneliti yaitu merancang sebuah aplikasi kompresi file video, sehingga aplikasi yang dirancang dapat mengkompresi file video yang berukuran besar dan dapat dikompresi ukurannya menjadi lebih kecil . Adapun tahapan-tahapan prosedur dalam melakukan kompresi dan dekompresi pada file video, dapat dilihat pada gambar 2.
Gambar 2. Prosedur kompresi dan dekompresi file video
Urutan bilangan Fibonacci F(0) F(1) F(2) F(3) F(4) F(5) F(6) F(7) F(8) F(9) F(10)
Bilangan Fibonacci 0 1 1 2 3 5 8 13 21 34 55
Kode Fibonacci sementara - - 0 1 0 0 1 0 0 0 1
Sebelum dilakukannya proses kompresi file video, maka harus melakukan analisa terlebih dahulu terhadap file yang akan dikompresi. Menganalisa file video yang harus dilakukan pertama adalah proses pengambilan sample file video untuk mendapatkan nilai dari sebuah file video yang berupa bilangan hexadecimal. Berikut informasi objek File video yang akan diambil samplenya sebelum dilakukan kompresi.
Tabel 2. Sample File video Yang Akan Dikompresi Keterangan
Jenis File Mp4
Judul kamu
Ukuran 5,47 mb
Durasi 15 detik
Dari sample file video diatas maka diperoleh bilangan hexadecimalnya dengan menggunakan aplikasi hex editor seperti gambar dibawah ini :
Gambar 3. Nilai bilangan Hexadecimal pada File Video
Kemudian nilai bilangan hexadecimal diurutkan kedalam tabel untuk melakukan pembacaan frekuensi.
Pembacaan frekuensi dilakukan dengan menghitung jumlah nilai bilangan yang sama di setiap nilai data yang muncul.
Adapun pembacaan frekuensi dapat dilihat pada tabel di bawah ini:
Tabel 3. Urutan Nilai Bilangan Hexadecimal No Kode Hexadecimal Frekuensi
1 0 6
2 69 3
3 73 3
4 6F 3
5 6D 2
6 20 1
7 66 1
8 74 1
9 79 1
10 70 1
11 2 1
12 32 1
13 61 1
Langkah selanjutnya, membaca nilai bilangan hexadecimal kemudian membuat tabel nilai hexa yang diurutkan dari nilai frekuensi terbesar (banyak nilai hexa yang sama) ke yg terkecil. Berikut tabel frekuensi data yang belum dikompresi dapat dilihat pada tabel 4.3
Tabel 4. Nilai Bit File yang Belum Dikompresi
Kode Hexa Frekuensi Binner Bit Frek x Bit
00 6 00000000 8 48
Kode Hexa Frekuensi Binner Bit Frek x Bit
69 3 01101001 8 24
73 3 01110011 8 24
6F 3 01101111 8 24
6D 2 01101101 8 16
20 1 00100000 8 8
66 1 01100110 8 8
74 1 01110100 8 8
79 1 01111001 8 8
70 1 01110000 8 8
02 1 00000010 8 8
32 1 00110010 8 8
61 1 01100001 8 8
Total Bit : 200 bit
Selanjutnya file yang akan dikompresi adalah membuat tabel pembentukkan kode Fibonacci sementara.
Dimana nomor urut diubah menjadi n, lalu urutan pengurangan nilai n nya dilakukan dengan deret Fibonacci atau Fibonacci Code sementara. Urutan nilai codeword hanya ditambahkan angka 1 dibelakang urutan nilai Fibonacci Code sementara.
Tabel 5. Penambahan Angka 1 Pada CodeWord
n Kode Hexa Frekuensi Pengurangan Nilai n Fibonacci Code Sementara Code Word Bit Frek x Bit
1 0 6 1 – 1 1 11 2 12
2 69 3 2 – 2 1 11 3 9
3 73 3 3 – 3 1 11 4 12
4 6F 3 4 – 3 – 1 101 1011 4 12
5 6D 2 5 – 5 1 11 5 10
6 20 1 6 – 5 – 1 1001 10011 5 5
7 66 1 7 – 5 – 2 101 1011 5 5
8 74 1 8 – 8 1 11 6 6
9 79 1 9 – 8 – 1 10001 100011 6 6
10 70 1 10 – 8 – 2 1001 10011 6 6
11 2 1 11 – 8 – 3 101 1011 6 6
12 32 1 12 – 8 – 4 – 3 – 1 10101 101011 6 6
13 61 1 13 – 13 1 11 7 7
Total Bit : 102 bit
Proses selanjutnya adalah menyusun kembali nilai hexa sample awal sebelum dikompresi dan setiap nilai hexa diurutkan menjadi codewordnya, seperti yang disajikan pada tabel dibawah ini:
Tabel 6. Pengurutan CodeWord
00 00 00 20 66 74 79 70 69 73
11 11 11 10011 01011 000011 100011 010011 011 0011
6F 6D 00 00 02 00 69 73 6F 6D
1011 00011 11 11 001011 11 011 0011 1011 00011
69 73 6F 32 61
011 0011 1011 101011 0000011
Setelah mengurutkan nilai hexa menjadi codeword, selanjutnya menggabungkan semua nilai codeword sehingga menjadi string bit seperti berikut ini “111111100110101100001110001101001101100111011000111111001 011110110011101100011011001110111010110000011”. Total keseluruhan adalah 102 bit. Sebelum didapatkan hasil keseluruhan akhir kompresi maka perlu dilakukan pencarian nilai padding dan flagging terlebih dahulu dengan cara dibagi per 8 bit, karena tidak habis dibagi 8 maka bisa menggunakan mod.
102 mod 8 = 6 n = 6
Padding 7 – n + “1”
7 – 6 + “1” = 01 Flagging
9 – n
9 – 6 = 3 = 00000011
Tambahkann hasil dari padding dan flagging kedalam string bit sebelumnya. “11111110.01101011.00001110.
00110100.11011001.11011000.11111100.10111101.10011101.10001101.10011101.11010110.00001101.00000011”
Sehingga jumlah total panjang bit keseluruhan setelah ada penambahan padding dan flagging adalah 102 + 2 + 8 = 112 bit. Selanjutnya lakukan pembagian string bit menjadi per 8 bit seperti dibawah ini:
11111110 10111101
01101011 10011101
00001110 10001101
00110100 10011101
11011001 11010110
11011000 00001101
11111100 00000011
Berdasarkan pada pembagian kelompok binner didapatkan 14 kelompok nilai binner baru yang sudah terkompresi beserta nilai binner penambahan bit. Sesudah pembagian dilakukan menjadi per 8 bit. maka nilai yang sudah dibagi diubah kedalam suatu karakter dengan terlebih dahulu mencari nilai hexadecimal dari string bit tersebut menggunakan kode ASCII untuk mengetahui nilai yang sudah terkompresi.
Tabel 7. Hasil Kompresi String Bit ke ASCII Urutan Nilai
Terkompresi
Nilai codeword Terkompresi
Nilai Desimal Terkompresi
Nilai Hexadecimal Terkompresi
1 11111110 254 FE
2 01101011 107 6B
3 00001110 14 E
4 00110100 52 34
5 11011001 217 D9
6 11011000 216 D8
7 11111100 252 FC
8 10111101 189 BD
9 10011101 157 9D
10 10001101 141 8D
11 10011101 157 9D
12 11010110 214 D6
13 00001101 13 D
14 00000011 4 3
Persentase ukuran data yang telah dikompresi dan didapat dari hasil perbandingan antara ukuran data setelah dikompresi dengan ukuran data sebelum dikompresi .
Ukuran data sebelum dikompresi : 200/8 = 25 byte Ukuran data sesudah dikompresi : 112/8 = 14 byte
Dapat dihitung hasil kinerja kompresi menggunakan rasio yaitu : 1. Compression Ratio (CR)
𝐶𝑅 = 𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑈𝑘𝑢𝑟𝑎𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑖𝑠∗ 100%
𝐶𝑅 =102
200∗ 100% = 51%
Cr = 5,47 mb x 51% = 2,78 mb
= 5,47 mb – 2,78 mb = 2,69 mb 2. Ratio of Compression (RC)
𝑅𝐶 =𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑈𝑘𝑢𝑟𝑎𝑎𝑛 𝑑𝑎𝑡𝑎 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖 𝑘𝑜𝑚𝑝𝑟𝑒𝑖𝑠 𝑅𝐶 =200
102= 1,96 3. Redudancy (Rd)
𝑅𝑑 =200−102
200 ∗ 100% = 49%
3.1 Hasil Pengujian
Adapun hasil pengujian dari perancangan yang dilakukan sesuai dengan inputan yang diambil dari sample data. Untuk hasil pengujiannya yang dilakukan mengambil sample file video. Berikut hasil pengujian dapat dilihat pada tabel 4.8
Tabel 8. Hasil Pengujian
No Nama File Video Ukuran Awal Hasil Perhitungan Ratio Hasil Kompresi Hasil Dekompresi
1. kamu 5,47 mb
Cr 51%
2,69 mb 5,47 mb
Rc 1,96%
Rd 49%
4. KESIMPULAN
Setelah melakukan perancangan aplikasi kompresi file video dengan menerapkan algoritma Fibonacci code, maka kesimpulannya adalah Sistem kerja algoritma Fibonacci code dalam mengkompresi file video ini dengan cara mengambil beberapa nilai hexadecimal dari sebuah sample file video kemudian menambahkan angka 1 pada codeword dari setiap pengkodean Fibonacci code dan diurutkan sesuai nilai hexadecimalnya. Perancangan aplikasi kompresi ini dengan menggunakan Microsoft visual basic 2008 dapat memudahkan proses kompresi dengan cara menginputkan file video maka dapat di proses dan menghasilkan file yang lebih kecil lagi. Hasil pengujian dari kompresi file video dapat menghasilkan ratio yang mencapai 51%. Sehingga dapat menghemat ruang penyimpanan dan mempercepat proses pengiriman file video yang telah dihasilkan.
DAFTAR PUSTAKA
[1] D. Rachmawati, M. A. Budiman, and M. A. Subada, “Comparison study of Fibonacci code algorithm and Even-Rodeh algorithm for data compression,” J. Phys. Conf. Ser., vol. 1321, no. 3, 2019, doi: 10.1088/1742-6596/1321/3/032015.
[2] M. Alfarizi and S. Aripin, “Penarapan Algoritma Prefix Code Dalam Kompresi File Video,” KOMIK (Konferensi Nas. …, vol. 4, pp. 249–252, 2020, doi: 10.30865/komik.v4i1.2686.
[3] N. Rizka, S. D. Nasution, and K. Ulfa, “Penerapan Algoritma Elias Omega Code Untuk Kompresi File Video Pada Aplikasi Rekam Layar,” vol. 9, no. 4, pp. 257–265, 2021.
[4] M. Elveny, R. Syah, I. Jaya, and I. Affandi, “Implementation of Linear Congruential Generator (LCG) Algorithm, Most Significant Bit (MSB) and Fibonacci Code in Compression and Security Messages Using Images,” J. Phys. Conf. Ser., vol. 1566, no. 1, 2020, doi: 10.1088/1742-6596/1566/1/012015.
[5] D. Anggraini, “Penerapan Algoritma Fibonacci Code Pada File Transfer Berbasis Android,” J. Informatics Manag. Inf.
Technol., vol. 1, no. 3, pp. 91–94, 2021, [Online]. Available: http://hostjournals.com/jimat/article/view/109
[6] M. A. Syahputra and P. Ramadhani, “Implementasi Metode Fibonacci Dalam Kompresi Iklan Pada Website PT. Amanah Wisata Travel,” KOMIK (Konferensi Nas. …, vol. 4, pp. 228–231, 2020, doi: 10.30865/komik.v4i1.2685.
[7] “Perbandingan kinerja algoritma,” 2017.
[8] J. Martina and B. Panjaitan, “Penerapan Algoritma Fibonacci Codes Pada Kompresi Aplikasi Audio Mp3 Berbasis Dekstop,” vol. 1, no. 1, pp. 27–33, 2021.
[9] “Kompresi video - Wikipedia bahasa Indonesia, ensiklopedia bebas.”
[10] T. P. Sari, S. D. Nasution, and R. K. Hondro, “Penerapan Algoritma Levenstein Pada Aplikasi Kompresi File Mp3,”
KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 2, no. 1, pp. 439–443, 2018, doi: 10.30865/komik.v2i1.946.
[11] R. Handayani, “Perancangan Aplikasi Kompresi File Audio Menerapkan Algoritma Universal Codes,” vol. 5, pp. 324–
330, 2021, doi: 10.30865/komik.v5i1.3735.
[12] P. Bahasan and T. Belajar, “K ompresi Audio/Video”.
[13] “File Adalah - Pengertian, Fungsi, Jenis, Cara Membuat Dan Contoh.”