Keywords : Video File, .mp4 Format, Compression, Additive Code Algorithm, Design
1. PENDAHULUAN
Kemajuan teknologi yang sangat pesat saat ini, memungkinkan masyarakat dengan mudah menerima semua informasi.
Teknologi bisa menyimpan informasi dengan kapasitas yang lebih besar. Jenis media yang memudahkan masyarakat
dalam melakukan sebuah pertukaran informasi bisa berupa gambar, video, dan lain sebagainya. Seperti file video,
dimana ukuran file video yang besar bisa menimbulkan masalah karena keterbatasan ruang penyimpanan (storage) serta
dapat memperlambat waktu pengiriman data, apalagi file video yang digunakan berformat .mp4.[1]
File video memiliki ukuran rata-ratanya lebih besar dibanding dengan ukuran file lainnya, seperti file teks, file
gambar, file dokumen, dan lain-lain. Semakin besar ukuran file video semakin banyak ruang penyimpanan yang
diperlukan. Hal ini berbeda dengan ukuran file video yang kecil, yang hanya membutuhkan ruang penyimpanan yang
sedikit serta tidak memakan waktu lebih lama untuk mengirim video.[2] Untuk menghemat ruang penyimpanan dan
mempercepat pengiriman file video maka dibutuhkan proses kompresi atau mengurangi file yang berukuran besar
sehingga berubah menjadi ukuran lebih kecil.. Beberapa aplikasi kompresi memberikan hasil kinerja yang berbeda-
beda, sementara yang lain memberikan hasil yang lebih baik. Kompresi data memiliki banyak algoritma yang dapat
mengkompres file video. Salah satu algoritma kompresi yang digunakan adalah algoritma Additive Code.[3]
Berdasarkan penelitian yang telah dilakukan oleh Ismail Almurtada dan Muhammad Syahrizal pada tahun 2018
disimpulkan bahwa dalam melakukan kompresi terhadap sebuah file teks dapat dilakukan dengan mengenkripsikan file
sehingga file tersebut tidak bisa dibuka oleh orang yang tidak berkepentingan. Dengan menggunakan algoritma ini dapat
mengurangi ukuran file dan dapat meningkatkan keamanan. Perbandingannya hingga 50% dari hasil file teks sebelum
dan sesudah dikompresi.[4]
Pada tahun 2019 Desvika Riansyah telah berhasil mengkompresi file video dengan menggunakan algoritma
interpolative coding. Bahwasannya algoritma ini dapat memperkecil ukuran sebuah file video dengan rasio 47% setelah
dikompresi dan bisa mengurangi ruang penyimpanan pada memori. [5] Berdasarkan penelitian yang dilakukan oleh
Rizki Yannur Tanjung pada tahun 2020 tentang “Perancangan Aplikasi Kompresi File Dokumen Menggunakan
Algoritma Additive Code” menyimpulkan bahwa dapat mengurangi ukuran file sebelum tersimpan ke dalam media
penyimpanan dan dapat mengkompresi sampai rasio 64%.[6]
Berdasarkan penelitian yang dilakukan oleh Michael Simangunsong pada tahun 2020 tentang “Perbandingan
Algoritma Elias Delta Code Dan Unary Coding Dalam Kompresi Citra Forensik” bahwa mengkompresi citra forensik
ini terdapat dua algoritma di dalamnya sehingga dibutuhkan perbandingan agar mendapat hasil yang baik. Maka hasil
dari perbandingan antara algoritma elias delta code dan unary coding yaitu 82% dan 1,29%.[7] Penelitian yang telah
dilakukan oleh Nurul Rizka, dkk pada tahun 2021 tentang “Penerapan Algoritma Elias Omega Code Untuk Kompresi
File Video Pada Aplikasi Rekam Layar”disimpulkan data yang semula mempunyai ukuran lebih besar terkompresi
dengan baik diimplementasikan pada file video pada aplikasi rekam layar. Pada umumnya ukuran file video cukup
besar, sehingga akan membuat penyimpanan semakin meningkat.[8]
Page | 203
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume 5, Nomor 1, Oktober 2021 ISSN 2597-4610 (media cetak)
DOI: 10.30865/komik.v5i1.3673 Page: 203-212
Berdasarkan uraian dari latar belakang masalah di atas, penulis bermaksud untuk menguraikan tahap-tahap
pemberian solusi yang dituangkan dalam penelitian dengan judul “Perancangan Aplikasi Kompresi File Video
Dengan Menggunakan Algoritma Additive Code”.
2.METODOLOGI PENELITIAN
2.1 Kompresi
Kompresi adalah teknik memperkecil atau memadatkan ukuran file yang berukuran besar menjadi lebih kecil dengan
tujuan untuk mengurangi ruang penyimpanan memori. Kompresi video sangat penting karena dapat memperkecil
ukuran tiap bit dengan merepresentasikan suatu video sehingga menghasilkan data yang lebih kecil.[9]
Teknik yang digunakan dalam mengkompresi data dapat menggunakan beberapa faktor , antara lain:[10]
1. Ratio of Compression (RC)
Ratio of Compression (RC) ialah nilai perbandingan antara ukuran bit data sebelum dikompresi dengan ukuran bit
data yang telah dikompresi. Secara sistematis dapat dituliskan sebagai berikut:
𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑅𝐶 = … … … … … … … … … … … … (1)
𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑡𝑒𝑙𝑎ℎ 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
2. Compression Ratio (CR)
Compression Ratio (CR) ialah persentase perbandingan antara data yang sudah dikompresi dengan data yang belum
dikompresi. Secara sistematis dapat dituliskan sebagai berikut:
𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑡𝑒𝑙𝑎ℎ 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝐶𝑅 = 𝑥100% … … … … … … … … … (2)
𝑈𝑘𝑢𝑟𝑎𝑛 𝐷𝑎𝑡𝑎 𝑆𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
3. Redudancy (RD)
Redudancy ialah hasil penelitian nilai rasio dengan hasil nilai rasio kompresi. Secara sistematis dapat dituliskan
sebagai berikut:
𝑓𝑖𝑙𝑒 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 − 𝑓𝑖𝑙𝑒 𝑠𝑒𝑡𝑒𝑙𝑎ℎ 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
𝑅𝐷 = 𝑥100% … … … (3)
𝑢𝑘𝑢𝑟𝑎𝑛 𝑓𝑖𝑙𝑒 𝑠𝑒𝑏𝑒𝑙𝑢𝑚 𝑑𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖
4. Space Saving (SS)
Space Saving adalah selisih antara data yang belum dikompresi dengan besar data yang telah dikompresi.
𝑆𝑠 = 100% − 𝐶𝑅
Ada dua teknik yang dilakukan dalam melakukan kompresi:[11]
1. Lossy Compression
Lossy Compression adalah teknik kompresi data yang akan menghilangkan beberapa informasi, yang mana hasil
data yang sudah dikompresi tidak sama dengan aslinya.
2. Lossless Compression
Lossless Compression adalah teknik kompresi data yang memungkinkan data asli dapat kembali utuh tanpa
menghilangkan perubahan apapun.
Algoritma additive code adalah algoritma yang penggunaannya didasarkan pada karakter yang sering muncul dengan
jumlah bit terkecil , sedangkan karakter dengan jumlah bit sedikit yang akan memiliki jumlah bit terbanyak. Algoritma
additive code mencakup dua algoritma, yaitu Algoritma Goldbach untuk menentukan nilai index dan Algoritma Elias
Gamma Code untuk menentukan codeword, sehingga algoritma Additive Code bisa mengkompresi data secara
maksimal.[6]
Langkah-langkah untuk membangun codeword dari Additive Code adalah sebagai berikut:
1. Menentukan nilai n, dimana nilai yang berasal dari sequence Algortima Goldbach.
2. Menentukan nilai sum, penjumlahan 2 sequence Algoritma Goldbach yang menghasilkan nilai 𝑛 (𝑎𝑖 + 𝑎 𝑗 = 𝑛)
3. Indexes = index (posisi urutan) dari 𝑎𝑖 , 𝑎 𝑗
4. Pair = selisih index dari 𝑎𝑖 dan 𝑎 𝑗
𝑎𝑖 , (𝑎 𝑗 − 𝑎𝑖 + 1)
5. Codeword adalah hasil algoritma Elias Gamma Code dari 𝑎𝑖 dan 𝑎 𝑗 dengan ketentuan:
a. Temukan bilangan bulat N terbesar sehingga
2𝑁 ≤ 𝑛 < 2𝑁−1 dan tulis 𝑛 = 2𝑁 + 𝐿
b. Rubah nilai n menjadi bilangan biner, lalu hilangkan 1 bit paling kiri
c. Kodekan N dalan bentuk unary sebagai N nol diikuti oleh 1 atau N 1 diikuti oleh 0
d. Tambahkan sisa digit biner n dibelakang kode unary yang telah dihasilkan.
6. Length ,jumlah digit biner yang didapat dari codeword.
Langkah-langkah diatas merupakan rumus dalam algoritma Additive Code yang digunakan untuk memperoleh sebuah
tabel kebenaran, dimana nilai hexadecimal file video yang akan dikompres.
Page | 204
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume 5, Nomor 1, Oktober 2021 ISSN 2597-4610 (media cetak)
DOI: 10.30865/komik.v5i1.3673 Page: 203-212
6 20 00100000 8 1 8
7 66 01100110 8 1 8
8 74 01110100 8 1 8
9 79 01111001 8 1 8
10 70 01110000 8 1 8
11 02 00000010 8 1 8
Total Bit 160
Setelah bilangan hexadecimal diurutkan sesuai dengan frekuensi kemunculan serta didapat nilai biner, selanjutnya
menghitung bit dan pengurutan kode Additive Code dan memperoleh bit file terkompresi. Adapun proses kompresi file
video dapat dilihat pada tabel berikut:
Tabel 4 Pengurutan Kode Additive Code
Setelah kode diurutkan sesuai dengan perhitungan additive code , langkah selanjutnya menyusun kembali string bit
yang telah dihasilkan dari proses kompresi sesuai dengan nilai hexadecimal.
Tabel 5 String Bit Hasil Kompresi Menggunakan Algoritma Additive Code
00 00 00 20 66
1010 1010 1010 010011 100101
74 79 70 69 73
100111 100110 011011 0101 1011
6F 6D 00 00 02
010010 100100 1010 1010 01000100
00 69 73 6F 6D
1010 0101 1011 010010 100100
Page | 206
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume 5, Nomor 1, Oktober 2021 ISSN 2597-4610 (media cetak)
DOI: 10.30865/komik.v5i1.3673 Page: 203-212
Padding Flagging
102 𝑚𝑜𝑑 8 = 6 = 𝑛 9−𝑛
7 − 𝑛 + "1" 9 − 6 = 3 = 𝟎𝟎𝟎𝟎𝟎𝟎𝟏𝟏
7 − 6 + "1" = 01
Jadi string bit yang dihasilkan setelah ditambah padding dan flagging yaitu
“1010101010100100111001011001111001100110110101101101001010010010101010010001001010010110110100
101001000100000011” sehingga total panjang bit adalah 112. Selanjutnya lakukan pemisahan bit menjadi beberapa
kelompok, seperti pada tabel berikut:
Tabel 7 Pengelompokkan 8 bit
10101010 10100100 11100101 10011110
01100110 11010110 11010010 10010010
10101001 00010010 10010110 11010010
10010001 00000011
File video yang telah dikompresi dengan menggunakan algoritma additive code diubah menjadi jenis file baru sesuai
dengan format yang ditentukan sebagai pengenal bahwa file tersebut telah dikompresi oleh aplikasi kompresi dengan
menerapkan algoritma additive code. Format file yang telah ditentukan adalah “.adv”. Jika file tersebut dibuka
menggunakan aplikasi notepad akan tampil karakter seperti dibawah ini:
Page | 207
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume 5, Nomor 1, Oktober 2021 ISSN 2597-4610 (media cetak)
DOI: 10.30865/komik.v5i1.3673 Page: 203-212
Berdasarkan pada tabel diatas, diambil keseluruhan nilai biner kemudian digabungkan menjadi
“1010101010100100111001011001111001100110110101101101001010010010101010010001001010010110110100
101001000100000011”
b. Pengurangan bit menjadi string bit semula
Pada saat pengurangan bit menjadi string bit semula dengan menghilangkan biner padding dan flagging. Untuk
mengembalikan bit menjadi string bit semula dapat dilakukan dengan pembacaan 8 bit terakhir, pembacaan berupa
bilangan decimal. Nyatakan hasil pembacaan dengan n , gunakan rumus 7 + 𝑛 untuk mengembalikan string bit ke
bentuk semula.
“1010101010100100111001011001111001100110110101101101001010010010101010010001001010010110110100
101001000100000011”.
8 bit terakhir = 00000011 = 3 = n
7 + n = 7 + 3 = 10
Hilangkan dari string bit sebanyak 10 bit terakhir, sehingga menjadi:
“1010101010100100111001011001111001100110110101101101001010010010101010010001001010010110110100
10100100”.
c. Pembacaan string bit
Pembacaan string bit dilakukan mulai dari index terkecil dengan terus menambahkan nilai pada index sebelumnya yang
tidak mewakili karakter Additive Code. Adapun tabel hasil pengecekan bit yang telah dikompresi adalah sebagai berikut:
Tabel 9 Pengecekan Bit Dekompresi
Nilai Biner Nilai Hexadecimal
1010 00
1010 00
1010 00
010011 20
100101 66
100111 74
Page | 208
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume 5, Nomor 1, Oktober 2021 ISSN 2597-4610 (media cetak)
DOI: 10.30865/komik.v5i1.3673 Page: 203-212
100110 79
011011 70
0101 69
1011 73
010010 6F
100100 6D
1010 00
1010 00
01000100 02
1010 00
0101 69
1011 73
010010 6F
100100 6D
Dari penjabaran diatas dapat disimpulkan bahwa hasil dekompresi dari algoritma Additive Code dengan membaca ulang
keseluruhan sample bilangan biner hasil dari kompresi menggunakan algoritma Additive Code. Pembacaan bilangan
biner dimulai dari awal sampai dengan nilai bilangan biner membentuk sebuah nilai biner yang bernilai benar dan
menghasilkan nilai hexadecimal berdasarkan tabel kode kebenaran algoritma Additive Code. Berikut adalah hasil
dekompresi yang sesuai dengan string bit semula yaitu dengan bilangan hexadecimal “ 00 00 00 20 66 74 79 70 69 73
6F 6D 00 00 02 00 69 73 6F 6D”.
3.2 Implementasi
Implementasi program adalah tahapan pelaksanaan dari sebuah sistem yang telah dirancang untuk dijalankan
sepenuhnya. Implementasi ini mencakup tentang spesifikasi perangkat keras (hardware) dan spesifikasi perangkat
lunak (software).
Spesifikasi perangkat keras (hardware) yang digunakan dalam pengimplementasian sistem ini dapat berjalan dengan
baik, maka diperlukan spesifikasi minimum perangkat keras (hardware) sebagai berikut:
a. Processor : Intel®Celeron® N4000 CPU @1.10GHz (2 CPUs), ~1.1GHz
b. Memori : 4096 MB RAM
c. Harddisk 500 GB
d. Monitor : 1366 x 768 pixel
e. Keyboard
Spesifikasi perangkat lunak (software) yang digunakan dalam pengimplementasian sistem ini dapat berjalan dengan
baik, maka diperlukan spesifikasi minimum perangkat lunak (software) sebagai berikut:
a. Windows 10 Home Single Language 64-bit
b. Microsoft Visual Studio 2008
Tampilan sistem merupakan tampilan akhir antarmuka dari sistem yang dirancang.
a. Form Kompresi merupakan tampilan yang digunakan untuk melakukan pengkompresian terhadap file video yang
telah diinput. Setelah dikompresi maka dapat menghasilkan ukuran yang lebih kecil.
Page | 209
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume 5, Nomor 1, Oktober 2021 ISSN 2597-4610 (media cetak)
DOI: 10.30865/komik.v5i1.3673 Page: 203-212
Pada form ini akan menampilkan proses pengkompresian file video dengan menggunakan algoritma additive code,
dimana terlebih dahulu user menginputkan file video yang akan dikompresi. Kemudian user melakukan
penginputan terhadap file video tersebut. Adapun proses kompresi file video dapat dilihat pada gambar dibawah ini:
Page | 210
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume 5, Nomor 1, Oktober 2021 ISSN 2597-4610 (media cetak)
DOI: 10.30865/komik.v5i1.3673 Page: 203-212
RC 1,568
1 lagu.mp4 1.49 MB lagu.adv 972 KB CR 63,75%
Rd 36,25%
RC 1,568
2 pohon.mp4 1.46 MB pohon.adv 953 KB CR 63,75%
Rd 36,25%
RC 1,568
3 quote.mp4 951 KB quote.adv 620 B CR 63,75%
Rd 36,25%
RC 1,568
4 quotee.mp4 2.07 MB quotee.adv 1.35 MB CR 63,75%
Rd 36,25%
RC 1,568
5 rofie.mp4 2.97 MB rofie.adv 1.93 MB CR 63,75%
Rd 36,25%
Dari hasil pengujian diatas dapat disimpulkan bahwa file video yang sudah dikompresi memiliki ukuran yang lebih kecil
dibandingkan dengan file video sebelum dikompresi. Adapun hasil pengujian dekompresi dapat dilihat pada tabel
dibawah ini:
Tabel 11 Hasil Pengujian Dekompresi
Nama File Video Nama File Video
No Ukuran Ukuran
Terkompresi Sesudah Didekompresi
1 lagu.adv 972 KB lagu.mp4 1.49 MB
2 pohon.adv 953 KB pohon.mp4 1.46 MB
3 quote.adv 620 B quote.mp4 951 KB
4 quotee.adv 1.35 MB quotee.mp4 2.07 MB
5 rofie.adv 1.93 MB rofie.mp4 2.97 MB
Dari hasil pengujian dekompresi diatas, dapat disimpulkan bahwa hasil pendekompresian file video memiliki ukuran
yang sama dengan file video sebelum dikompresi.
4 KESIMPULAN
Berdasarkan dari pembahasan penelitian yang telah dilakukan, maka penulis mendapatkan hasil akhir dari penelitian
tersebut yang disimpulkan menjadi beberapa kesimpulan sebagai berikut :
1. Setelah mengikuti prosedur dalam mengkompresi file video ini dengan menggunakan algoritma Additive Code yang
berformat .mp4 dapat berjalan dengan baik
2. Setelah diimplementasikan menggunakan algoritma Additive Code untuk mengkompresi file video, telah berhasil
membuktikan bahwa file video yang memiliki ukuran besar dapat dikompres menjadi ukuran lebih kecil dengan
hasil RC = 1,568, CR = 63,75% , Rd =36,25%.
3. Aplikasi kompresi file video berhasil dirancang menggunakan aplikasi Microsoft Visual Studio 2008 dengan
menerapkan algoritma Additive Code dapat berjalan dengan baik.
REFERENCES
[1] A. A. Pramadi, S. D. Nasution, and B. Purba, “Penerapan Algoritma Even-Rodeh Pada Aplikasi Kompresi File
Gambar,” KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 3, no. 1, pp. 73–84, 2019, doi:
10.30865/komik.v3i1.1570.
[2] 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.
[3] J. Sisca, “Penerapan Algoritma Elias Delta Code Untuk Kompresi File Video Pada Aplikasi Video
Downloader,” vol. 1, no. 4, pp. 254–264, 2021.
[4] I. Almurtada, M. Syahrizal, I. Pendahuluan, A. A. H. Cipher, and H. Cipher, “PENERAPAN ALGORITMA
Page | 211
http://ejurnal.stmik-budidarma.ac.id/index.php/komik
KOMIK (Konferensi Nasional Teknologi Informasi dan Komputer) ISSN 2597-4645 (media online)
Volume 5, Nomor 1, Oktober 2021 ISSN 2597-4610 (media cetak)
DOI: 10.30865/komik.v5i1.3673 Page: 203-212
GOLDBACH CODES PADA KOMPRESI FILE TEKS TERENKRIPSI HILL CIHPER,” vol. 6, no. April, pp.
473–478, 2018.
[5] D. Riyansyah, “Perancangan Aplikasi Kompresi File Video Menggunakan Algoritma Interpolative Coding,”
KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 3, no. 1, pp. 392–397, 2019, doi:
10.30865/komik.v3i1.1618.
[6] R.Y.Tanjung, “Perancangan aplikasi kompresi file dokumen menggunakan algoritma additive code,” 2020.
[7] M. Simangunsong, “Perbandingan Algoritma Elias Delta Code Dan Unary Coding Dalam Kompresi Citra
Forensik,” vol. 12, no. 1, pp. 18–26, 2020.
[8] K. Rizka Nurul;Nasution, Surya Darma;Ulfa, “Penerapan Algoritma Elias Delta Code Untuk Kompresi File
Video Pada Aplikasi Video Downloader,” vol. 1, no. 4, pp. 254–264, 2021.
[9] F. Jaya and I. Harefa, “Penerapan Algoritma RC6 dan Algoritma Elias Delta Code Pada Aplikasi Pengamanan
dan Kompresi Short Message Service ( SMS ) Berbasis Android,” vol. 1, no. 3, pp. 155–161, 2020.
[10] D. Muliadi, “Universitas Sumatera Utara 7,” pp. 7–37, 2015.
[11] M. A. Subada, “Analisis Perbandingan Algoritma Analytical,” vol. 3, no. 1, pp. 21–30, 2019.
[12] D. and G. M. Salomon, Handbook of Data Compression. .
Page | 212
http://ejurnal.stmik-budidarma.ac.id/index.php/komik