Hal: 257-265
Penerapan Algoritma Elias Omega Code Untuk Kompresi File Video Pada
Aplikasi Rekam Layar
Nurul Rizka1*, Surya Darma Nasution1, Kurnia Ulfa1
1Fakultas Ilmu Komputer dan Teknologi Informasi, Program Studi Teknik Informatika, Universitas Budi Darma, Medan, Indonesia
Email: 1*nurulrizka1998@gmail.com 2surya.darma.nasution1@gmail.com 3kurniaulfa82@gmail.com
Abstrak
Aplikasi rekam layar sudah banyak digunakan untuk keperluan tertentu, seperti untuk melakukan pembuatan video tutorial, perekaman video editing dan lain-lain. Karena pada umumnya ukuran file video itu cukup besar, sehingga secara tidak langsung menimbulkan masalah yaitu membuat kebutuhan akan penyimpanan semakin meningkat. Untuk itu diperlukan suatu teknik yang dapat mereduksi besarnya ukuran suatu file yang disebut kompresi data. Kompresi merupakan proses untuk menghilangkan berbagai kerumitan yang tidak penting (redundansi) dari suatu informasi dengan cara memadatkan isi file sehingga ukurannya menjadi lebih kecil dengan memaksimalkan kesederhanaannya dan tetap menjaga kualitas penggambaran dari informasi tersebut. Algoritma Elias Omega Code menggunakan teknik kompresi lossless yaitu kompresi data yang menghasilkan file data hasil kompresi yang dapat dikembalikan menjadi
file data asli sebelum dikompresi secara utuh tanpa perubahan apapun. Sesuai dengan hasil uji coba yang dilakukan terlihat bahwa data
yang semula mempunyai ukuran lebih besar dapat terkompresi dengan baik diimplementasikan pada file video pada aplikasi rekam layar.
Kata Kunci : Kompresi, File Video, Rekam layar, Elias Omega Code
1. PENDAHULUAN
Perkembangan teknologi yang begitu cepat seperti sekarang ini sangat bermanfaat guna bertukar informasi secara global baik itu dalam bentuk teks, gambar, audio ataupun video. Sehingga secara tidak langsung menimbulkan masalah yaitu membuat kebutuhan akan penyimpanan semakin meningkat. Dan bila mengirimkan data melalui media transmisi, maka akan memerlukan waktu yang semakin lama untuk proses pengiriman data tersebut. Untuk itu diperlukan suatu teknik yang dapat mereduksi besarnya ukuran suatu file yang disebut kompresi data.
Perekam layar adalah suatu aplikasi yang berguna untuk merekam aktivitas pada layar monitor saat kita memerlukannya untuk kebutuhan tertentu. Biasanya pengguna melakukan aktivitas perekaman layar itu pada PC. Misalnya untuk membuat video panduan atau video tutorial. Ada pula para gamers yang merekam hasil permainan mereka untuk dibuat dalam video blog, merekam proses editing, dan masih banyak lagi. Merekam layar sebenarnya bisa dilakukan secara manual dengan kamera. Akan tetapi, merekam dengan menggunakan kamera hasilnya tidak terlalu jelas. Oleh karena itu digunakan perekam layar.
Ketika pengguna melakukan aktivitas perekaman layar, dan menyimpan file video hasil rekam layar tersebut, maka akan menghasilkan ukuran file yang besar. Karena pada umumnya pengguna melakukan aktivitas perekaman layar dengan durasi yang cukup panjang. Semakin panjang durasi perekamannya maka akan semakin besar pula ukuran file tersebut. Maka ukuran file yang besar itu akan menimbulkan masalah karena dibatasi dengan kapasitas penyimpanan. Dan ketika kita ingin mengirimkannya maka kita akan memerlukan waktu yang lama. Maka dari itu, kompresi data menjadi sangat penting untuk mengatasi keterbatasan tersebut.
Kompresi data adalah proses yang dapat mengubah sebuah aliran data masukan (sumber atau data asli) kedalam aliran data yang lain (keluaran atau data yang dimampatkan) yang memiliki ukuran lebih kecil [1]. Kompresi data
menjadi sangat penting karena memperkecil kebutuhan penyimpanan data, dan mempercepat pengiriman data.
Ada 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, diantaranya adalah algoritma Elias Omega Code, Elias Delta Code, Rice Code, dan lainnya. Pada penelitian ini algoritma yang penulis gunakan adalah algoritma Elias Omega Code. Algoritma Elias Omega Code yaitu dimana karakter terbanyak disimpan dalam bit yang paling kecil yang sesuai dengan code_so_far ke-n. menggunakan dirinya sendiri secara rekursif untuk mengkodekan prefix M, oleh sebab itu terkadang disebut sebagai Kode Elias Rekursif [1]. Algoritma Elias Omega Code mengurutkan karakter yang paling banyak muncul ke bit terkecil dan karakter yang langka ke bit terbesar. Dengan begitu, ukuran file dapat diminimalisir dari ukuran aslinya.
Pada penelitian sebelumnya mengenai kompresi file video yang berjudul “Kompresi File Video Mp4 Dengan Menggunakan Metode Discrete Cosine Transform” oleh Rizky Syahputra pada tahun 2016 dengan dengan ISSN: 2407-389X. Pada penelitian tersebut memiliki kekurangan yaitu metode discrete cosine transform tidak tahan terhadap perubahan suatu objek dikarenakan pesan mudah dihapus karena lokasi penyisipan data dan pembuatan data dengan metode DCT diketahui [2].
Ada pula penelitian yang berjudul “Perancangan Dan Implementasi Algoritma Arithmetic Coding Untuk Aplikasi Kompresi Data Video Dan Audio”, oleh Hengki Tomando Sihotang tahun 2018 dengan ISSN 2580-9741. Pada penelitian tersebut menyatakan bahwa ukuran file sebelum kompresi sama dengan ukuran file sesudah didekompresi yang berarti bahwa tidak ada data yang hilang selama proses kompresi dan waktu yang diperlukan untuk kompresi file MP4 lebih besar dibandingkan dengan waktu kompresi file MP3. Dan algoritma Arithmetic Coding tidak optimal dalam
Hal: 257-265 melakukan kompresi audio dan video dapat dilihat pada
rasio kompresi yang rendah dan grafik yang tidak stabil[3]. 2. TEORITIS
A. Kompresi
Kompresi merupakan proses untuk menghilangkan berbagai kerumitan yang tidak penting (redundansi) dari suatu informasi dengan cara memadatkan isi file sehingga ukurannya menjadi lebih kecil dengan memaksimalkan kesederhanaannya dan tetap menjaga kualitas penggambaran dari informasi tersebut [5].
B. Algoritma Elias Omega Code
Algoritma Elias Omega Code merupakan algoritma kompresi yang diperkenalkan oleh Peter Elias pada tahun 1975. Peter Elias menjelaskan tiga kode awalan (prefix) yang bermanfaat. Ide utama kode ini adalah untuk awalan integer dikodekan dengan representasi pengkodean dari urutan terbesarnya. Untuk menentukan panjang M diselesaikan dengan cara yang berbeda oleh berbagai kode Elias. Algoritma ini menggunakan dirinya sendiri secara rekursif untuk mengkodekan awalan (prefix) M oleh karena itulah terkadang algoritma ini disebut sebagai kode Elias Rekursif [1].
Pengkodean Encoding bilangan bulat positif n dilakukan secara rekursif dalam langkah-langkah berikut: 1. Inisialisasikan kode dengan = 0.
2. Jika n=1, maka stop (proses berhenti) jika tidak, maka tambahkan representasi biner dari n ke kode yang ada. Asumsikan bahwa kita telah menambahkan bit
sejumlah L (panjang digit bit).
3. Ulangi langkah b hingga representasi biner dari L - 1 untuk menggunakan n.
Dimisalkan jika n = 17 dikodekan dengan cara (1) berikan angka 0, (2) tambahkan dengan representasi biner dari 17, yaitu 10001 (terdiri dari 5 bit), (3) tambahkan dengan nilai 3 bit dari 5-1 = 1002, dan (4) tambahkan nilai 2
bit dari 3-1 = 102. Maka, hasilnya adalah 10|100|10001|0.
Tabel 1. Kode Elias Omega Nilai n Kode Elias Omega
1 0 2 10 0 3 11 0 4 10 100 0 5 10 101 0 6 10 110 0 7 10 111 0 8 11 1000 0 9 11 1001 0 10 11 1010 0 11 11 1011 0 12 11 1100 0 13 11 1101 0 14 11 1110 0 15 11 1111 0 16 10 100 10000 0
Sumber: David Solomon, Giovanni Motta, 2010[1]
Kemudian untuk decoding maka dilakukan dalam langkah-langkah berikut :
1. Inisialisasikan nilai n adalah 1
2. Baca bit selanjutnya, jika bernilai 0 maka stop (proses berhenti). Jika tidak, baca bit selanjutnya dan kelompokkan pada n+1 bit untuk n, dan ulangi langkah ini.
3. Pembacaan bit dilakukan berturut-turut, dapat dimulai hanya 0 atau diawali dengan 1 yang diikuti n digit bit. Jika grup adalah 0, maka nilai integernya berupa n yaitu 1. Dan jika grup dimulai dari 1, maka n menjadi nilai grup yang direpresentasikan ke dalam biner.
C. File Video
Video adalah teknologi pemrosesan sinyal elektronik mewakilkan gambar bergerak. Video merupakan sekumpulan gambar bergerak yang diperoleh dari hasil rekaman kamera atau hasil animasi komputer. Pada mulanya informasi video ini disimpan secara analog, sebagai perubahan bentuk gelombang secara kontinyu yang mewakili adanya perubahan warna dan kecerahan (brightness) dari gambar yang direkam [7].
3. ANALISA A. Analisa Masalah
Analisa yang dilakukan dalam penelitian ini yaitu mengkompresi file video pada aplikasi rekam layar dengan menerapkan algoritma elias omega code. Rekam layar adalah suatu aplikasi untuk merekam aktivitas user pada layar komputer. File video yang akan di kompresi adalah file video hasil rekam layar yang mempunyai format MP4.
Algoritma elias omega code merupakan salah satu teknik kompresi lossless yang memperkecil suatu data berdasarkan dengan frekuensi karakter pada objek yang akan dilakukan kompresi. Penggunaan algoritma elias omega code akan dilakukan berdasarkan karakter yang sering muncul dan akan memiliki jumlah bit terkecil berdasarkan kode elias omega code, sedangkan karakter paling sedikit muncul akan memiliki jumlah bit terpanjang.
Tahapan analisa terhadap suatu sistem dilakukan sebelum tahapan perancangan dilakukan. Langkah-langkah prosedur dalam melakukan kompresi dan dekompresi file video pada aplikasi layar yaitu melakukan proses rekam layar. Lalu video hasil rekam layar tersebut dikompresi. Kemudian video hasil rekam layar yang sudah terkompresi tersebut didekompresi lalu kembali ke video hasil rekama layar.
B. Penerapan Algoritma Elias Omega Code
Dengan melakukan kompresi data, data yang berukuran besar akan dikompresi menjadi ukuran yang kecil dan akan mengurangi alokasi penyimpan. Dalam menganalisa file video harus dilakukan mengambilan sample
Hal: 257-265 file untuk mendapatkan nilai dari data pada sebuah file video
yang berupa nilai hexadecimal. Berikut adalah langkah untuk mengkompresi dan mendekompresi file video. 1. Analisa proses kompresi file video dengan
menggunakan Elias Omega Code a. Memasukkan File
File video yang digunakan adalah file video yang dihasilkan oleh aplikasi rekam layar BandiCam. Berikut adalah informasi objek file video yang akan diambil sampelnya sebelum dilakukan kompresi:
Tabel 2. Informasi File Video Sample Keterangan
Format .MP4
Nama File 2019-05-06 17-22-09-140
Ukuran 5.80 MB
Durasi 3.12 Menit
Dari sample diatas didapatkan nilai hexadecimal menggunakan bantuan binary viewer seperti pada gambar dibawah ini:
Gambar 1. Nilai Hexadecimal File Video Sample Berdasarkan pada gambar diatas maka didapatkan nilai hexadecimal file video sample. Untuk keperluan hitungan manual, maka hanya akan diambil sample nilai sebanyak 25 karakter nilai hexadecimal file video sample. Nilai hexadecimal diambil dari sisi kiri sampai bilangan ke 25.
b. Melakukan Pembacaan Isi File
Adapun bilangan hexadecimal dari file video tersebut adalah 00, 00, 00, 14, 66, 74, 79, 70, 69, 73, 6F, 6D, 00, 00, 02, 00, 6D, 70, 34, 31, 00, 00, 00, 08, 66. Nilai data ini dimasukan kedalam tabel untuk dilakukan pembacaan frekuensi. Pembacaan frekuensi dilakukan dengan menghitung jumlah nilai yang sama di setiap nilai data yang muncul. Adapun pembacaan frekuensi dapat dilihat pada tabel di bawah ini :
Tabel 3. Nilai file Nilai Frekuensi 00 9 14 1 66 2 74 1 79 1 Nilai Frekuensi 70 2 69 1 73 1 6F 1 6D 2 02 1 34 1 31 1 08 1 Total Nilai 25
c. Mengurutkan dari karakter yang memiliki frekuensi terbesar (banyak nilai yang sama) ke frekuensi terkecil. Urutan nilai dapat dilihat pada tabel berikut ini:
Tabel 4. Nilai Bit File Video Sample Nilai
Bit Frek Bit x Frek Hexa Biner 00 00000000 8 9 72 66 01100110 8 2 16 70 01110000 8 2 16 6D 01101101 8 2 16 14 00010100 8 1 8 74 01110100 8 1 8 79 01111001 8 1 8 69 01101001 8 1 8 73 01110011 8 1 8 6F 01101111 8 1 8 02 00000010 8 1 8 34 00110100 8 1 8 31 00110001 8 1 8 08 00001000 8 1 8
Total bit 200 bit
Berdasarkan tabel diatas, satu nilai hexadecimal (karakter) bernilai 8 bit bilangan biner. Sehingga 25 bilangan hexadecimal mempunyai nilai biner sebanyak 200 bit. Untuk mengubah satuan menjadi byte maka jumlah keseluruhan bit dibagikan 8. Maka dihasilkan 200/8 = 25 byte.
d. Membentuk tabel Elias Omega Code
Aturan dalam pembentukan kode bilangan dengan menggunakan elias omega code dapat dilihat pada sub landasan teori bab sebelumnya. Adapun kode elias omega code dapat dilihat pada tabel 5.
Tabel 5. Kode Elias Omega N Kode Elias Omega
1 0 2 10 0 3 11 0 4 10 100 0 5 10 101 0 6 10 110 0 7 10 111 0 8 11 1000 0
Hal: 257-265 N Kode Elias Omega
9 11 1001 0 10 11 1010 0 11 11 1011 0 12 11 1100 0 13 11 1101 0 14 11 1110 0 15 11 1111 0 16 10 100 10000 0 17 10 100 10001 0 18 10 100 10010 0
Berdasarkan pada tabel kode elias omega di atas hanya menunjukan kode sampai nilai karakter ke 18. Bagaimana proses yang dilakukan untuk mendapat kode Elias omega, jika jumlah karakter yang dihasilkan lebih dari 18 karakter. Misalnya pada nilai = 19, nilai desimal 19 dikodekan dengan cara (1) berikan angka 0, (2) tambahkan dengan representasi biner dari 19, yaitu 10011(2) (terdiri
dari 5 bit), (3) tambahkan dengan nilai 3-bit dari 5-1 = 5-1002, dan (4) tambahkan nilai 2-bit dari 3-5-1 = 102. Hasilnya adalah 10|100|10011|0. Proses selanjutnya adalah melakukan kompresi nilai dari sampel dengan nilai kode elias omega yang di dapat dari tabel 5. di atas. Adapun proses kompresi file video sampel dapat dilihat pada tabel berikut : Tabel 6. Kompresi Nilai File Video Sample Dengan Elias
Omega Code N Nilai
Hexa
Kode Elias
Omega Bit Frek
Bit x Frek 1 00 0 1 9 9 2 66 10 0 3 2 6 3 70 11 0 3 2 6 4 6D 10 100 0 6 2 12 5 14 10 101 0 6 1 6 6 74 10 110 0 6 1 6 7 79 10 111 0 6 1 6 8 69 11 1000 0 7 1 7 9 73 11 1001 0 7 1 7 10 6F 11 1010 0 7 1 7 11 02 11 1011 0 7 1 7 12 34 11 1100 0 7 1 7 13 31 11 1101 0 7 1 7 14 08 11 1110 0 7 1 7
Total bit 100 bit
Dari perhitungan tabel diatas setelah dikompresi dengan menggunakan elias omega code adalah 100 bit. Untuk diubah menjadi satuan byte maka dibagi 8 yaitu 100/8 = 12.5 byte.
e. Melakukan hasil string bit elias omega code menjadi nilai file.
Sebelum melakukan hasil string bit elias omega code menjadi nilai file, terlebih dahulu dilakukan pemeriksaan terhadap panjang string bit. Pembentukan nilai bit baru hasil kompresi dari susunan nilai hexadecimal sebelum dikompresi
yaitu 00, 00, 00, 14, 66, 74, 79, 70, 69, 73, 6F, 6D, 00, 00, 02, 00, 6D, 70, 34, 31, 00, 00, 00, 08, 66, (tanpa tanda koma dan spasi) menjadi nilai bit biner:
“0001010101001011001011101101010000101001 01010100101000001010110010100011010110001 0110100001011100100”. Kemudian sebelum di dapatkan hasil keseluruhan akhir kompresi dilakukan penambahan string bit itu sendiri yaitu padding bit dan flag bit. Jika sisa bagi panjang string bit terhadap 8 adalah 0 maka tambahan 00000001. Nyatakan dengan bit akhir. Sedangkan jika sisa bagi panjang string bit terhadap 8 adalah n(1,2,3,4,5,6,7) maka tambahkan 0 sebnyak 7 – n + “1” di akhir string bit. Nyatakan dengan L. Lalu tambahkan bilangan biner dari 9 – n. nyatakan dengan bit akhir. Karena jumlah string bit 100 tidak habis dibagi 8 dan sisanya 4 bit, nyatakan sisa bagi tersebut dengan nilai n. maka tambahkan 0 sebanyak 0 sebanyak 7 – n + “1” di akhir string bit. Nyatakan dengan L. Lalu tambahkan bilangan biner dari 9 – n. Nyatakan dengan bit akhir.
7 – n + “1” 7 – 4+ “1”=0001 Bit Akhir 9 – n Bit Akhir = 9 – 4 = 5 = 00000101 0001010101001011001011101101010000101001010101001 0100000101011001010001101011000101101000010111001 00000100000101
Total panjang bit keseluruhan setelah ada penambahan bit adalah 100+4+8=112. Selanjutnya lakukan pemisahan bit manjadi beberapa kelompok. Setiap kelompok terdiri dari 8 bit seperti gambar di bawah ini.
00010101 01001011 00101110 11010100 00101001 01010100 10100000 10101100 10100011 01011000 10110100 00101110 01000001 00000101
Berdasarkan pada pembagian kelompok nilai biner, didapatkan 14 kelompok nilai biner baru (14 byte) yang sudah terkompresi beserta nilai biner penambahan bit. Setelah pembagian dilakukan, 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. Adapun nilai yang sudah terkompresi dapat dilihat pada tabel di bawah ini:
Tabel 7. Nilai Hexadecimal Terkompresi Urutan Nilai Terkompresi Nilai Hexadecimal Terkompresi 1 15 2 4B 3 2E 4 D4
Hal: 257-265 5 41 6 54 7 A0 8 AC 9 A3 10 58 11 B4 12 2E 13 41 14 5
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 Berdasarkan data tersebut dapat dihitung kinerja kompresinya yaitu : Compression Ratio (Cr) Cr=𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑆𝑒𝑠𝑢𝑑𝑎ℎ 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖 𝑈𝑘𝑢𝑟𝑎𝑛 𝑑𝑎𝑡𝑎 𝑆𝑒𝑏𝑒𝑙𝑢𝑚 𝐷𝑖𝑘𝑜𝑚𝑝𝑟𝑒𝑠𝑖x 100% Cr=14 25x100% Cr=56%
2. Analisa proses dekompresi file video dengan menggunakan Elias Omega
a. Memasukkan hasil file kompresi
Adapun nilai hexadecimal dari hasil kompresi yaitu: 15, 4B, 2E, D4, 41,
54, A0, AC, A3, 58, B4, 2E, 41, 5.
b. Hasil string bit elias omega code yang menjadi nilai file diubah kembali ke dalam bentuk biner. Adapun bit keseluruhan hasil kompresi dapat dilihat pada tabel berikut :
Tabel 8. Nilai Hexadecimal dan Biner Kompresi Urutan Nilai
Terkompresi Nilai Hexadecimal Nilai Biner
1 15 00010101 2 4B 01001011 3 2E 00101110 4 D4 11010100 5 41 00101001 6 54 01010100 7 A0 10100000 8 AC 10101100 9 A3 10100011 10 58 01011000 11 B4 10110100 12 2E 00101110 13 41 01000001 14 5 00000101
Berdasarkan pada tabel di atas maka diambil seluruh nilai biner dan digabungkan menjadi 00010101010010110010111011010100001010010 10101001010000010101100101000110101100010 110100001011100100000100000101
c. Mengembalikan binary menjadi string bit semula dengan menghilangkan biner yang ditebalkan. Untuk mengembalikan binary menjadi string bit semula dapat dilakukan melalui langkah berikut ini. Lakukan pembacaan pada 8 bit terakhir, hasil pembacaan berupa bilangan desimal. Nyatakan hasil pembacaan dengan n. Hilangkan bit pada bagian akhir sebanyak 7+n. Setelah dilakukan perhitungan pembacaan bit akhir. Nilai biner yang dihilangkan sebanyak 8 bit pada akhir. n = = 1. Hilangkan 7 + 5 atau 7+5 = 12. Penjelasan diatas menujukan bahwa bit akhir harus dihilangkan. Hasil pengembalian binary menjadi string bit semula adalah
00010101010010110010111011010100001010010 10101001010000010101100101000110101100010 110100001011100100.
Berdasarkan perhitungan dengan algoritma elias omega code, string bit pada diatas berjumlah 100 bit seperti diawal sehingga dilakuka pembacaan string bit awal. Adapun tabel hasil perhitungan diatas adalah:
Tabel 9. Pengecekan Bit Indeks Nilai Keterangan
1 0 Ada pada tabel
2 0 Ada pada tabel
3 0 Ada pada tabel
4 1 Tidak ada
5 10 Tidak ada
6 101 Tidak ada
7 1010 Tidak ada
8 10101 Tidak ada 9 101010 Ada pada tabel
10 1 Tidak ada
11 10 Tidak ada
12 100 Ada pada tabel
13 1 Tidak ada
14 10 Tidak ada
15 101 Tidak ada
16 1011 Tidak ada
17 10110 Tidak ada 18 101100 Ada pada tabel
19 1 Tidak ada
20 10 Tidak ada
21 101 Tidak ada
22 1011 Tidak ada
23 10111 Tidak ada 24 101110 Ada pada tabel
25 1 Tidak ada
26 11 Tidak ada
27 110 Ada pada tabel
28 1 Tidak ada
29 10 Tidak ada
30 101 Tidak ada
31 1010 Tidak ada
Hal: 257-265 Indeks Nilai Keterangan
33 101000 Tidak ada 34 1010000 Ada pada tabel
35 1 Tidak ada 36 10 Tidak ada 37 101 Tidak ada 38 1010 Tidak ada 39 10100 Tidak ada 40 101001 Tidak ada 41 1010010 Ada pada tabel
42 1 Tidak ada 43 10 Tidak ada 44 101 Tidak ada 45 1010 Tidak ada 46 10101 Tidak ada 47 101010 Tidak ada 48 1010100 Ada pada tabel
49 1 Tidak ada
50 10 Tidak ada
51 101 Tidak ada
52 1010 Tidak ada
53 10100 Tidak ada 54 101000 Ada pada tabel
55 0 Ada pada tabel
56 0 Ada pada tabel
57 1 Tidak ada 58 10 Tidak ada 59 101 Tidak ada 60 1010 Tidak ada 61 10101 Tidak ada 62 101011 Tidak ada 63 1010110 Ada pada tabel
64 0 Ada pada tabel
65 1 Tidak ada
66 10 Tidak ada
67 101 Tidak ada
68 1010 Tidak ada
69 10100 Tidak ada 70 101000 Ada pada tabel
71 1 Tidak ada
72 11 Tidak ada
73 110 Ada pada tabel
74 1 Tidak ada 75 10 Tidak ada 76 101 Tidak ada 77 1011 Tidak ada 78 10110 Tidak ada 79 101100 Tidak ada 80 1011000 Ada pada tabel
81 1 Tidak ada 82 10 Tidak ada 83 101 Tidak ada 84 1011 Tidak ada 85 10110 Tidak ada 86 101101 Tidak ada 87 1011010 Ada pada tabel
88 0 Ada pada tabel
89 0 Ada pada tabel
Indeks Nilai Keterangan
90 0 Ada pada tabel
91 1 Tidak ada 92 10 Tidak ada 93 101 Tidak ada 94 1011 Tidak ada 95 10111 Tidak ada 96 101110 Tidak ada 97 1011100 Ada pada tabel
98 1 Tidak ada
99 10 Tidak ada
100 100 Ada pada tabel
Maka dari penjabaran diatas dapat dibentuk tabel elias omega code dan nilai file awal.
Tabel 10. Nilai file dan Elias Omega Code N Elias Omega Code Nilai File
1 0 00 2 0 00 3 0 00 4 101010 14 5 100 66 6 101100 74 7 101110 79 8 110 70 9 1010000 69 10 1010010 73 11 1010100 6F 12 101000 6D 13 0 00 14 0 00 15 1010110 02 16 0 00 17 101000 6D 18 110 70 19 1011000 34 20 1011010 31 21 0 00 22 0 00 23 0 00 24 1011100 08 25 100 66
Berdasarkan hasil dekompresi diatas, maka didapatkan nilai hexadecimal awal sebelum kompresi yaitu 00, 00, 00, 14, 66, 74, 79, 70, 69, 73, 6F, 6D, 00, 00, 02, 00, 6D, 70, 34, 31, 00, 00, 00, 08, 66.
4. IMPLEMENTASI
Kebutuhan sistem merupakan spesifikasi tentang perangkat yang akan digunakan yaitu software (perangkat lunak) dan hardware (perangkat keras) yang dibutuhkan oleh aplikasi. Berdasarkan kebutuhan sistem terdapat pengimplementasi suatu sistem yang merupakan proses menerjemahkan hasil analisa dan perancangan sistem kedalam sebuah bahasa pemrograman. Pengimplementasi suatu sistem akan berpengaruh pada spesifikasi komputer
Hal: 257-265 yang digunakan, agar program bisa berjalan dengan baik
berdasarkan spesifikasi perangkat keras (hardware) dan perangkat lunak (software) harus sesuai. Sistem pengolahan suatu program terdiri dari prosedur dan pelaksanaan data, komputer sebagai sarana pengolahan program haruslah menyediakan fasilitas-fasilitas yang mendukung dalam pengolahan nantinya. Adapun kebutuhan sistem terbagi dua yaitu perangkat keras dan perangkat lunak.
Perangkat keras adalah peralatan dari sistem komputer yang secara fisik terlihat dan dapat disentuh. Perangkat keras yang diperlukan komputer dengan spesifikasi minimal sebagai berikut:
1. Processor :Intel® Celeron® CPU N2840 @2.16GHZ 2.16 GHZ
2. Memory : 2,00 GB
3. Keyboard dan Mouse
Perangkat Lunak merupakan sebuah sistem yang digunakan untuk pengolah data atau aplikasi tertentu, sehingga perangkat lunak (software) yang digunakan dapat dikategorikan sebagai berikut:
1. Sistem Operasi Windows 7 atau versi sesudahnya. 2. Aplikasi yang digunakan adalah Microsoft Visual
Studio 2008. A. Tampilan Pengujian
Tampilan program yang dibutuhkan diantaranya yaitu tampilan input dan tampilan output. Tampilan input tediri dari interface aplikasi, tampilan output terdiri dari proses kompresi dan dekompresi.
Tampilan input merupakan tampilan yang akan menjelaskan beberapa form aplikasi yang digunakan kebutuhan program yang dibutuhkan diantaranya tampilan form menu utama, tampilan form rekam layar, tampilan form export video, tampilan form import video, dan tampilan form about.
Tampilan menu utama merupakan tampilan yang muncul pertama sekali pada saat program dijalankan. Form menu utama memiliki beberapa sub menu diantaranya adalah form rekam layar, form kompresi, form import video, dan form about. Tampilan form menu utama dapat dilihat pada gambar 1.
Gambar 1. Tampilan Menu Utama
Form rekam layar merupakan form yang digunakan untuk melakukan proses perekaman layar. Pada form ini user dapat melakukan proses perekaman layar dengan cara mengklik button rec. Dan jika user ingin memberhentikan proses perekaman layar, maka user dapat mengklik button
stop. Tampilan form rekam layar dapat dilihat pada gambar 2.
Gambar 2. Tampilan form rekam layar
Pada form ini disediakan interface berupa listbox untuk menampilkan daftar nama file video yang akan dikompresi, serta textbox untuk menampilakan alamat file video yang akan dikompresi dan menampilkan compression ratio, dan button untuk memilih lokasi penyimpanan dan melakukan proses kompresi. Tampilan untuk form kompresi dapat dilihat pada gambar 3.
Gambar 3. Tampilan Form Kompresi
Pada form ini disediakan interface berupa listbox untuk menampilkan daftar nama file video yang akan didekompresi, serta textbox untuk menampilakan alamat file video yang akan didekompresi, dan button untuk memilih lokasi penyimpanan dan melakukan proses dekompresi. Tampilan untuk form dekompresi dapat dilihat pada gambar 4.
Hal: 257-265 Tampilan output adalah tampilan proses ketika file
video akan dikompresi hingga menampilkan hasil kompresi serta proses dekompresi file video.
Pada proses kompresi, yang pertama kali dilakukan adalah membuka form kompresi. User memilih file video yang ingin dikompresi pada daftar nama file video yang tertera pada listbox. Lalu user memilih lokasi penyimpanan video yang akan dikompresi dengan cara mengklik button browse. Selanjutnya diikuti dengan melakukan proses kompresi terhadap file tersebut. Dan menampilkan rasio kompresi. Adapun tampilan proses kompresi tersebut dapat dilihat pada gambar 5.
Gambar 5. Tampilan Proses Kompresi
Pada proses dekompresi, yang pertama kali dilakukan adalah membuka form dekompresi. Lalu user mencari file video yang akan didekompresi. Dengan mengklik button browse, lalu memilih file video. File yang dipilih tersebut akan tampil di listbox. Kemudian user memilih lokasi penyimpanan untuk video yang akan didekompresi. Selanjutnya diikuti dengan melakukan proses dekompresi terhadap file tersebut. Adapun tampilan proses dekompresi video dapat dilihat pada gambar 6.
Gambar 6. Tampilan Proses Dekompresi
Pengujian sistem merupakan tahap mengidentifikasi hasil dari implementasi sistem aplikasi. Hasil pengujian terdiri dari hasil pengujian kompresi dan hasil pengujian dekompresi. Hasil pengujian berupa perbedaan antara video sebelum dan sesudah kompresi serta dekompresi.
Adapun hasil pengujian dari video yang dilakukan kompresi dapat dilihat pada tabel 11.
Tabel 11. Hasil Pengujian Kompresi File Video
N o
Sebelum Dikompresi Sesudah Dikompresi
Nama File Ukuran Nama File Ukuran CR
1. 2019-04-25 08-04-54-994 3.5 MB 2019-04-25 08-04-54-994 1.92 MB 54% 2. 2019-07-01 12-11-04-376 6.37 MB 2019-07-01 12-11-04-376 3.51 MB 55% 3. 2019-03-09 12-06-24-049 4.73 MB 2019-03-09 12-06-24-049 2.52 MB 53%
Berdasarkan pada hasil pengujian pada tabel diatas, menunjukkan bahwa hasil kompresi file video memiliki ukuran ketika file video sebelum dikompresi. Hal ini dapat dilihat dari Compression Ratio. Adapun hasil pengujian dekompresi dari file video yang sudah dilakukan kompresi dapat dilihat pada tabel 12.
Tabel 12. Hasil Pengujian Dekompresi File Video N
o.
Sebelum Dikompresi Sesudah Dikompresi Nama File Ukuran Nama File Ukuran 1. 2019-04-25 08-04-54-994 1.92 MB 2019-04-25 08-04-54-994 3.5 MB 2. 2019-07-01 12-11-04-376 3.51 MB 2019-07-01 12-11-04-376 6.37 MB 3. 2019-03-09 12-06-24-049 2.52 MB 2019-03-09 12-06-24-049 4.73 MB Berdasarkan pada hasil pengujian pada tabel diatas, menunjukkan bahwa hasil dekompresi mengembalikan ukuran file video menjadi ukuran awal sebelum terjadinya kompresi.
5. KESIMPULAN
Berdasarkan dari penelitian yang telah dilakukan, maka hasil akhir dari penelitian tersebut dapat diambil beberapa kesimpulan. Adapun kesimpulan tersebut Berdasarkan prosedur kompresi dengan menggunakan algoritma elias omega code telah berhasil melakukan proses kompresi file video hasil rekam layar berekstensi *.MP4 sehingga proses kompresi dapat berjalan sesuai dengan teknik kompresi. Berdasarkan penerapan algoritma elias omega code telah membuktikan bahwa suatu file video yang memiliki ukuran besar dapat dikompres menjadi ukuran yang lebih kecil. Berdasarkan dari hasil pengujian terhadap sistem bahwa ukuran file video lebih kecil setelah dilakukan kompresi.
REFERENCES
[1] D. Salomon and G. Motta, Handbook Of Data Compression, Fifth Edit. London: Springer, 2010.
[2] R. Syahputra, “KOMPRESI FILE VIDEO MP4 DENGAN MENGGUNAKAN METODE,” pp. 52–57, 2016.
[3] H. T. Sihotang, “PERANCANGAN DAN IMPLEMENTASI ALGORITMA ARITHMETIC CODING UNTUK APLIKASI KOMPRESI DATA VIDEO DAN AUDIO,” vol. 2, no. 1, pp. 58–64, 2018.
[4] K. Yahya and Y. Melita, “Aplikasi Kompresi Citra Digital Menggunakan Teknik Kompresi Jpeg Dengan Fungsi GUI Pada Matlab,” vol. 3, no. 2, pp. 269–278, 2011.
[5] F. Gram et al., “Analisis Perbandingan Kompresi dan Dekompresi Menggunakan Algoritma Shannon-,” vol. 3, no. 3, pp. 5197–5204,
Hal: 257-265
2016.
[6] K. Umam and B. S. Negara, “Deteksi Obyek Manusia Pada Basis Data Video Menggunakan Metode Background Subtraction Dan Operasi Morfologi,” vol. 2, no. 2, pp. 31–40, 2016.
[7] Ihsan and D. P. Utomo, “Analisis Perbandingan Algoritma Even-Rodeh Code Dan Algoritma Subexponential Code Untuk Kompresi File Teks,” KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 4, no. 1, 2020.
[8] S. R. Saragih and D. P. Utomo, “Penarapan Algoritma Prefix Code Dalam Kompresi Data Teks,” KOMIK (Konferensi Nas. Teknol. Inf. dan Komputer), vol. 4, no. 1, 2020.
[9] 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, 2020.