BAB 4 IMPLEMENTASI DAN EVALUASI
Pada bab ini dibahas mengenai implementasi dan evaluasi dari program kompresi video yang telah dibuat. Implememtasi dan evaluasi menggunakan file video yang dibuat sendiri dengan memakai software Macromedia Flash MX dengan ukuran width dan height sebesar 50 x 50 dan berformat avi (*.avi) yang belum dikompres dengan jumlah frame sebanyak dua frame. Maksud dari implementasi dan evaluasi ini adalah untuk mengetahui apakah metode yang telah dirancang dapat digunakan untuk mengkompresi file video secara optimal dari segi rasio kompresi, kualitas video dari hasil dekompresi dan waktu yang diperlukan untuk mengkompresi dan mendekompresi.
4.1
Implementasi Berikut ini adalah implementasi yang digunakan untuk pembuatan, pengujian prototipe secara perangkat keras dan cara pemakaian prototipenya.
4.1.1
Spesifikasi yang dibutuhkan Program yang dibuat pastinya perlu didukung oleh piranti lunak dan piranti keras sebagai sarana pendukung agar implementasi dapat berjalan dengan baik dan sarana pendukung ini juga akan mempengaruhi hasil evaluasi yang akan dilakukan dari implementasi. Konfigurasi komputer yang berbeda-beda menghasilkan hasil evaluasi yang berbeda pula. Semakin baik konfigurasi komputer yang digunakan, akan
41
meningkatkan performance program yang di uji, khususnya dari segi waktu kecepatan pemrosesan. Komponen-komponen perangkat keras yang sangat berpengaruh dalam proses implementasi program yang dibuat adalah prosesor, motherboard, memori, dan VGA. Standard untuk
perangkat keras yang
digunakan untuk mengimplementasikan program yang dibuat adalah satu unit Personal Computer (PC) dengan spesifikasi prosesor Intel Pentium 2.4 GHZ, motherboard yang dipakai MSI 856 PE Neo 2, memori dengan kapasitas 512 MB, dan VGA Geforce2 MX 440 32 MB. Komponen perangkat keras lainnya sebagai komponen pendukung yang diperlukan dalam proses implementasi tetapi kurang mempengaruhi hasil evaluasinya adalah monitor sebagai layar sebagai tampilan dan harddisk sebagai media penyimpanan. Spesifikasi standard yang digunakan untuk perangkat ini adalah monitor Philips CRT 14” dengan HDD 40 Gb Maxtor. Komponen ini bisa menggunakan spesifikasi yang lain karena tidak mempengaruhi hasil pengujian atau evaluasi. Suatu unit PC yang telah disebutkan diatas tentunya tidak bisa dijalankan tanpa adanya dukungan perangkat lunak. Piranti lunak yang dibutuhkan dalam pengujian ini adalah sistem operasi Microsoft Windows XP dan Borland C 3.1. Program yang dibuat hanya dapat dijalankan di DOS Shell dari Borland C 3.1, tidak dapat dijalankan di MS-DOS. Program dibuat dengan menggunakan bahasa pemograman C dan dicompile dengan menggunakan compiler Borland C 3.1 maka diperlukan piranti lunak yang mendukung pemograman dan yang digunakan untuk penelitian ini adalah Borland C 3.1.
42
4.1.2
Cara pemakaian program Terdapat dua jenis program yang terpisah yakni Program Encoding (co.exe) dan Program Decoding (deco.exe). Kedua program tersebut hanya dapat dijalankan dengan menggunakan bahasa pemrograman Borland C 3.1 dan dijalankan di DOS Shell. Pada subbab – subbab berikut akan dibahas mengenai proses dan penggunaan encoding dan decoding.
4.1.2.1 Encoding Pada subbab ini akan dibahas mengenai cara penggunaan Program Encoding. Berikut format penulisan yang diperlukan untuk menjalankan Program Encoding: co [nama_file_video] [nama_file_kompresi]
co
:
Adalah sintak yang akan menjalankan Program Encoding.
[nama_file_video]
:
Nama file video yang akan dikompresi, harus berformat *.avi.
[nama_file_kompresi] :
Nama file yang akan diberikan setelah kompresi, dengan format *.cv (compressed video). Contoh : data.cv atau data. File ini selanjutnya dibutuhkan untuk proses decoding.
43
Contoh penggunaan sintak diatas:
Gambar 4.11 Contoh penggunaan perintah encoding Dalam hal ini g.avi adalah nama file video yang akan dikompresi. Sedangkan data.cv adalah file yang akan dibuat sebagai hasil kompresi dan selanjutnya berguna sebagai input dalam menjalankan proses decoding. Namun bila user menginput nama file video yang tidak ada pada folder yang sama, akan ditampilkan pesan kesalahan. Berikut contoh tampilan bila terjadi kesalahan input pada proses encoding, dalam hal ini yang paling penting diperhatikan adalah nama file videonya serta format yang digunakan yakni *.avi.
Gambar 4.12 Tampilan kesalahan inputan encoding Setelah tampilan diatas, program akan keluar dan kembali ke DOS prompt. Jika ingin menjalankan Program Encoding kembali, cukup memasukkan inputan seperti pada Gambar 4.11. Setelah inputan diterima maka program akan menjalankan proses kompresi yang mana tampilannya sebagai berikut.
44
Gambar 4.13 Tampilan kompresi video Setelah input diterima akan ditampilkan informasi – informasi penting video yang akan dikompresi, kemudian menjalankan proses kompresi. Berikut penjelasan mengenai tampilan kompresi video pada Gambar 4.13: Nama File
:
Nama file video yang dikompresi.
Frame size
:
Ukuran width x height video yang dikompresi.
Jumlah frame
:
Banyaknya jumlah frame video yang dikompresi.
Avi size
:
Avi
size
digunakan
untuk
mendapatkan
informasi
mengenai akhir pixel frame pertama. Hasil ini diperoleh dari: 4096 + jumlah_frame * (8 + frame_size)
Hasil kompresi dari program ini berformat data, yang hanya menyimpan informasi penting video dan beberapa codeword yang merupakan informasi pewakil dari urutan warna – warna yang sama dari setiap pixel-nya.
45
4.1.2.2 Decoding Pada subbab ini akan dibahas mengenai cara penggunaan Program Decoding. Berikut format penulisan yang diperlukan untuk menjalankan Program Decoding: deco [nama_file_kompresi] [nama_file_video]
deco
:
Adalah sintak yang akan menjalankan Program Decoding.
[nama_file_kompresi] :
Nama file hasil kompresi, dengan format *.cv. Contoh : data.cv atau data. File ini merupakan output dari proses encoding.
[nama_file_video]
:
Nama video yang akan dibentuk atau didekompresi, harus berformat *.avi.
Contoh penggunaan sintak diatas:
Gambar 4.14 Tampilan perintah decoding Dalam hal ini data.cv adalah nama file hasil kompresi yang menyimpan informasi penting pada proses encoding. Sedangkan video.avi adalah nama file video yang akan dibentuk menjadi video yang dapat dijalankan dengan menggunakan berbagai media pemutar video.
46
Namun bila user menginput nama file hasil encoding (dalam contoh di sini adalah data.cv) yang tidak ada pada folder yang sama, akan ditampilkan pesan kesalahan. Berikut contoh tampilan bila terjadi kesalahan input pada proses decoding.
Gambar 4.15 Tampilan kesalahan inputan decoding Setelah tampilan diatas, program akan keluar dan kembali ke DOS prompt. Jika ingin menjalankan Program Decoding kembali, cukup memasukkan inputan seperti pada Gambar 4.14. Setelah inputan diterima maka program akan menjalankan proses dekompresi yang mana tampilannya seperti dibawah ini.
Gambar 4.16 Tampilan dekompresi video
47
Informasi – informasi yang ditampilkan merupakan informasi yang diperlukan untuk proses decoding. Berikut penjelasan mengenai tampilan dekompresi video pada Gambar 4.16: File kompresi
:
Nama file data yang didekompresi.
File output
:
Nama file video yang dibentuk setelah didekompresi.
Frame size
:
Ukuran width x height video yang didekompresi.
Jumlah frame
:
Banyaknya jumlah frame video yang didekompresi.
Hasil dekompresi dari program ini berformat *.avi, yang memiliki frame size, kualitas, format warna, jumlah frame, dan ukuran yang sama dengan video
sebelum
dikompresi
karena
Program
Encoding
dan
Decoding
menggunakan Algoritma Run Length Encoding yang merupakan lossless compression algorithm, dimana tidak ada satupun informasi video yang diabaikan atau dihilangkan melainkan semua informasi yang ada disimpan walaupun hanya dalam bentuk codeword – codeword sederhana yang mewakilkan setiap urutan warna – warna yang sama di tiap pixel-nya.
4.2
Evaluasi Pada subbab ini akan membahas tentang pengujian program terhadap beberapa video untuk mengetahui perbedaan hasil kompresi dengan video sebelum dikompresi maupun dengan video setelah dekompresi baik dari segi kualitas, ukuran, dan waktu yang dibutuhkan untuk menyelesaikan proses kompresi maupun dekompresi untuk masing – masing video yang berbeda tersebut. Selain itu juga untuk mengetahui apakah video yang dibentuk dari hasil
48
dekompresi dapat dijalankan pada media pemutar video dan apakah berbeda bila dibandingkan dengan video asli sebelum dikompresi untuk setiap pixelnya. Dan juga untuk mengetahui apakah Algoritma Run Length Encoding benar – benar lossless compression algorithm. Pengujian untuk kompresi dan dekompresi dilakukan terhadap 4 video berbeda tapi memiliki karakteristik yang sama yaitu berdimensi 50 pixel untuk width dan 50 pixel untuk height, berwarna, jumlah frame sebanyak dua frame, berukuran 14.336 byte, berformat *.avi dan belum pernah dikompresi sebelumnya. Berikut empat video yang digunakan untuk kompresi dan dekompresi:
Tabel 4.1 Empat video yang diuji
49
Untuk mendapatkan satu data, pengujian dilakukan secara berulang – ulang dan terus menerus hingga mendapatkan beberapa kali nilai yang sama . Hal ini sangat diperlukan demi mendapatkan data yang sangat akurat karena system komputer terkadang mengalami hang atau freeze sehingga proses pengambilan data terutama data tentang waktu yang dibutuhkan untuk kompresi dan dekompresi video menjadi tidak akurat walaupun hanya beberapa milidetik saja.
4.2.1
Kompresi video Dalam pengujian kompresi video, format yang digunakan adalah cv (*.cv) untuk file hasil kompresi dan akan dibentuk pada folder yang sama dengan file asli. Sebagai contoh hasil kompresi g.avi dikompresi menjadi g.cv. Hal ini diterapkan terhadap semua video yang diuji. Pengujian pertama dilakukan terhadap video g.avi. Hasil kompresi mampu mengurangi size video asli yang memiliki ukuran sebesar 14.336 byte hingga mencapai 6.773 byte saja atau hanya 47,24% dari file video asli. Namun pada pengujian terhadap video y.avi yang sedikit lebih kompleks jumlah warnanya, hasil kompresi y.avi berselisih sekitar 11,78% dibandingkan hasil kompresi pada g.avi yaitu sebesar 59,02% dari video asli atau 8.461 byte.
Gambar 4.17 Codeword yang disimpan dalam file f.cv
50
Sedangkan pada pengujian terhadap f.avi yang merupakan video yang paling rendah tingkat kompleksitas warnanya diantara semua video lain yang diuji, hasil kompresi sangat terasa penyusutannya dari 14.336 byte hingga menjadi 5.269 byte saja atau 36,75% dari ukuran video asli. Pada Gambar 4.27 dapat dilihat codeword – codeword yang disimpan dalam file f.cv yang merupakan hasil kompresi file f.avi bila dibaca dengan format karakter DOS. Semakin kompleks warna pada video, semakin banyak pula codeword yang disimpan dalam file *.cv untuk setiap hasil kompresi. File g.cv dan y.cv menyimpan lebih banyak codeword dibandingkan file f.cv. Sebagai perbandingan pengujian, perhatikan Gambar 4.18 berikut:
Gambar 4.18 Codeword yang disimpan dalam file g.cv Terlihat jelas bahwa codeword yang disimpan pada g.cv lebih banyak dibandingkan f.cv. Di sini dapat dibuktikan bahwa hasil kompresi untuk video
51
yang memiliki kompleksitas warna yang rendah memiliki hasil kompresi yang tinggi dibandingkan video yang memiliki komposisi warna yang kompleks. File g.cv dan y.cv tentunya menyimpan lebih banyak codeword dibandingkan pada file f.cv. Pengujian kompresi terakhir dilakukan terhadap video yang paling tinggi tingkat kompleksitas warnanya karena banyak komposisi warna di tiap pixelnya dan urutan warna – warna yang sama sangat sulit ditemukan. Hasil kompresi yang dihasilkan berbeda sangat jauh dengan pengujian terhadap video lainnya. Ukuran file hasil kompresi ternyata lebih besar dibandingkan ukuran file video asli yaitu 28,997 byte atau sebesar 202,27% dari ukuran file video asli. Maka dapat disimpulkan bahwa semakin kompleks komposisi warna yang terdapat pada video, maka semakin besar ukuran file hasil kompresi. Dari semua pengujian kompresi video terhadap 4 video berbeda, secara sederhana data yang didapatkan dapat dituliskan pada tabel seperti gambar di bawah ini: Persentase hasil Ukuran hasil kompresi dengan kompresi (byte) file asli (%)
File Video
Ukuran asli (byte)
waktu yang dibuthkan untuk kompresi (detik)
g.avi
14,336
6,773
47.24
6.14
y.avi
14,336
8,461
59.02
6.14
f.avi
14,336
5,269
36.75
6.14
bub.avi
14,336
28,997
202.27
6.14
Tabel 4.2 Data hasil pengujian kompresi video
52
Waktu yang dibutuhkan untuk melakukan kompresi adalah selama 6,14 detik untuk semua video yang diuji. Tingkat kompleksitas warna tidak mempengaruhi waktu pengkompresian video.
4.2.2
Dekompresi video Dalam pengujian dekompresi, file hasil kompresi (*.cv) berada pada folder yang sama dengan file asli. Proses dekompresi menghasilkan file video yang akan berada pada folder yang sama. Untuk menghindari overwrite atau penulisan kembali karena nama file yang sama, dalam pengujian dekompresi ditambahkan angka “2” untuk setiap file hasil kompresi yang didekompresi. Sebagai contoh hasil kompresi g.avi yang dikompresi menjadi g.cv pada saat didekompresi nama filenya adalah g2.avi. Hal ini diterapkan terhadap semua data yang diuji. Pengujian dekompresi terhadap file hasil kompresi (*.cv) yang diuji berhasil membentuk file video (*2.avi) yang memiliki kualitas, ukuran, jumlah frame yang sama persis dengan video aslinya sebelum dikompresi (*.avi). Setiap hasil kompresi (*.cv) yang diuji dalam pengujian proses dekompresi juga mampu menghasilkan file video yang dapat dijalankan di berbagai media pemutar video. Dalam pengujian pemutaran file hasil dekompresi, beberapa media pemutar video yang digunakan adalah Windows Media Player 8, Winamp 5.01 dan PowerDVD 6. Namun masing – masing hasil kompresi (*.cv) membutuhkan waktu yang bervariasi. Waktu yang dibutuhkan untuk membentuk kembali file video tergantung dari kompleksitas warna yang dimiliki oleh video tersebut. Untuk
53
lebih jelas perhatikan data hasil pengujian dekompresi terhadap empat video yang diuji berikut ini:
File Video
Ukuran asli (byte)
Ukuran hasil kompresi (byte)
Ukuran setelah dekompresi (byte)
Kualitas asli dan dekompresi
Waktu yang dibutuhkan untuk dekompresi (detik)
Bisa diputar di media pemutar video? (Y/T)
g.avi
14,336
6,773
14,336
sama
4.04
Y
y.avi
14,336
8,461
14,336
sama
4.42
Y
f.avi
14,336
5,269
14,336
sama
3.62
Y
bub.avi
14,336
28,997
14,336
sama
9.65
Y
Tabel 4.3 Data hasil pengujian dekompresi video Semakin kompleks video tersebut, semakin banyak waktu yang diperlukan untuk menyelesaikan proses dekompresi. Kompleksitas yang dimaksud di sini adalah variasi warna. Sebagai perbandingan, video bub.avi yang merupakan video yang memiliki kompleksitas warna yang paling tinggi diantara seluruh video lain yang diuji membutuhkan waktu selama 9,65 detik untuk membentuk kembali file video. Sedangkan untuk membentuk kembali file video f.avi hanya membutuhkan waktu 3,62 detik saja. Dari data yang didapatkan selama pengujian dekompresi video seperti pada Tabel 4.3 dapat diketahui bahwa y.avi dan g.avi hanya memiliki selisih waktu yang kecil. Hal ini dikarenakan kompleksitas warna yang dimiliki g.avi lebih sederhana dibandingkan video y.avi.
54
Kesimpulan yang dapat diambil dari hasil evaluasi yang ada membuktikan bahwa hasil kompresi video dengan menggunakan Algoritma Run Lenght Encoding dipengaruhi oleh tingkat kompleksitas video yang berhubungan dengan banyaknya komposisi warna yang ada sehingga semakin kompleks video yang dikompresi semakin besar pula hasil kompresi yang dihasilkan. Untuk menghasilkan tingkat kompresi yang sangat tinggi sebaiknya Algoritma Run Lenght Encoding digunakan untuk citra sederhana yang memiliki tingkat kompleksitas warna yang rendah. Algoritma Run Length Encoding memiliki kelemahan terhadap citra beresolusi tinggi atau citra natural yang memiliki komposisi warna yang banyak karena hasil kompresi dapat menjadi lebih besar dibandingkan video asli. Untuk video sederhana yang memiliki kompleksitas warna yang rendah, waktu yang diperlukan untuk mengkompresi video lebih banyak dibandingkan waktu yang diperlukan untuk proses dekompresi video. Namun untuk video yang sangat kompleks, waktu yang dibutuhkan untuk kompresi lebih sedikit dibandingkan dekompresi. Besar hasil kompresi diantara 20% sampai 50% dari ukuran video yang sebenarnya. Untuk kualitas hasil dekompresi baik untuk video sederhana yang memiliki banyak urutan warna yang sama maupun video yang memiliki kompleksitas warna yang tinggi adalah sama setiap pixel-nya bila dibandingkan dengan video asli sebelum dikompresi, hal ini dapat membuktikan bahwa Algoritma Run Length Encoding merupakan lossless compression algorithm yang mana tidak ada informasi yang hilang selama kompresi dan dekompresi.