• Tidak ada hasil yang ditemukan

BAB V IMPLEMENTASI DAN PENGUJIAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB V IMPLEMENTASI DAN PENGUJIAN"

Copied!
10
0
0

Teks penuh

(1)

V-1

IMPLEMENTASI DAN PENGUJIAN

Bab ini mengulas tentang proses implementasi perangkat lunak, dari hasil rancangan yang telah dibuat sebelumnya. Selain itu juga terdapat hasil-hasil pengujian terhadap kebenaran dan kinerja perangkat lunak.

5.1 Implementasi

Penjelasan implementasi perangkat lunak ini meliputi pembahasan mengenai lingkungan implementasi, implementasi kelas, serta implementasi layar antarmuka dari perangkat lunak.

5.1.1 Lingkungan Implementasi

Perangkat lunak XGP dikembangkan pada perangkat keras notebook Toshiba Satellite M200, dengan spesifikasi sebagai berikut:

1. Prosesor Intel Pentium Core2Duo T5250 1.50GHz. 2. Memory RAM 2 GB.

3. Harddisk 120 GB.

Sedangkan spesifikasi perangkat lunak yang dipakai adalah: 1. Sistem operasi Microsoft Windows Vista.

2. IDE NetBeans 6.0.

3. Java 2 Micro Edition, yang menggunakan Java Development Kit 1.6 Update 4 dan Java Runtime Environment 1.6 Update 4.

4. Sun Java Wireless Toolkit 2.5.2. 5.1.2 Implementasi Kelas

Setiap kelas pada perangkat lunak diimplementasikan dalam bahasa pemrograman

Java. Sebuah kelas akan diimplementasikan dalam sebuah file, dimana semua kelas tersebut sesuai dengan kelas perancangan yang telah diuraikan pada Subbab 4.2.2.

(2)

Pada implementasi proses penyisipan, video akan menyisipkan sebuah data tambahan berupa header sebelum isi dari pesan yang asli. Header ini berisikan jumlah byte dari isi pesan, dan nama file dari pesan jika ada, yang masing-masing dibatasi oleh 8-bit 0.

Header ini tidak mengalami pengacakan, dan akan digabungkan dengan isi pesan yang diacak. Bentuk dari pesan seluruhnya dapat dilihat pada Gambar V–1.

Jumlah pesan 8-bit 0 Nama file, jika ada 8-bit 0 Isi pesan

Gambar V–1 Pesan dengan header

Ukuran pesan tidak divalidasi terlebih dahulu, melainkan langsung disisipkan. Tujuannya adalah mempercepat proses penyisipan, karena sebagaimana telah dijelaskan pada Subbab 3.5 bahwa implementasi pada perangkat mobile phone tidak secepat implementasi pada komputer. Oleh karena itu, pesan yang dimasukkan dapat berukuran berapapun, namun apabila proses penyisipan sudah mencapai bit LSB ke-3, maka proses tersebut berhenti, sehingga hanya sebagian pesan saja yang disisipkan. Apabila hal tersebut terjadi, maka akan muncul konfirmasi terhadap pengguna yang menanyakan apakah video yang memiliki sebagian pesan tersebut tetap disimpan atau tidak. Proses ini secara tidak langsung akan membutuhkan memori kosong minimal sebesar video tersebut.

Pada implementasi proses ekstraksi, akan dibaca header pesan terlebih dahulu. Nilai yang didapat dari jumlah pesan akan menjadi batasan dari isi pesan yang akan dibaca. Dan apabila bagian nama file terisi, pesan akan disimpan ke dalam bentuk file dengan nama tersebut. Pembuatan file ini akan memeriksa terlebih dahulu ada atau tidaknya

file dengan nama yang sama. Apabila ada, maka akan dicari nama file yang baru, sehingga tidak akan menimpa file yang sama.

Apabila ukuran pesan yang diekstraksi lebih kecil daripada ukuran pesan yang dibaca pada header, diketahui bahwa hanya sebagian pesan saja yang terdapat pada video. Maka akan muncul pesan yang menandakan keadaan tersebut, bahwa pesan yang berhasil diekstraksi tidak utuh tetapi hanya sebagian.

Bahasa Java sebenarnya memiliki fungsi pembangkit nilai MD5, tetapi tidak pada J2ME. Oleh karena itu, untuk membangkitkan nilai MD5 sebagai bilangan seed akan menggunakan sebuah library pembangkit nilai MD5 yang dikembangkan pada platform J2ME untuk CLDC. Library ini terdapat pada [MAC08].

(3)

5.1.3 Batasan Implementasi

Perangkat lunak XGP yang dikembangkan memiliki batasan sebagai berikut:

1. XGP mengasumsikan bahwa proses ekstraksi mendapatkan video masukan yang memang berisikan pesan di dalamnya, sehingga tidak dilakukan penanganan lebih lanjut apabila video tidak berisi pesan.

2. Apabila pesan yang didapat dari hasil ekstraksi berupa text, pesan tersebut hanya dapat ditampilkan ke layar, dan tidak dapat disimpan ke dalam file. 5.1.4 Implementasi Antarmuka

Implementasi tampilan pada XGP sesuai dengan perancangan pada Subbab 4.2.1, dengan tambahan layar konfirmasi dan error. Layar konfirmasi menampilkan pesan konfirmasi, beserta tombol „Yes‟ untuk lanjut, dan tombol „No‟ untuk kembali. Layar

error akan menampilkan pesan kesalahan yang terjadi, dan hanya memiliki sebuah tombol „Back‟ untuk kembali.

Layar konfirmasi akan muncul apabila salah satu dari hal berikut terjadi:

1. Kembali dari menu penyisipan atau ekstraksi, ke menu utama. Konfirmasi terjadi karena proses ini akan menghapus semua informasi yang telah dimasukkan.

2. Proses penyisipan membutuhkan ukuran video yang lebih besar, sehingga dikonfirmasi apakah ingin tetap disimpan video hasil penyisipan yang memiliki sebagian pesan saja.

3. Nama file untuk video keluaran telah ada, sehingga dikonfirmasi apakah file

tersebut ingin ditimpa atau tidak.

Sedangkan layar error akan muncul apabila salah satu dari hal berikut terjadi:

1. Video yang dimasukkan tidak valid, yaitu memiliki codec selain H.263, atau berekstensi yang bukan „.3gp‟.

2. Terdapat masukan yang belum lengkap pada proses penyisipan atau ekstraksi. 3. Proses penyisipan atau ekstraksi tidak berhasil diselesaikan, atau mengalami

error.

(4)

5.2 Pengujian Perangkat Lunak

Pada Tugas Akhir ini, dilakukan pengujian kebenaran perangkat lunak, mencakup proses penyisipan dan ekstraksi pesan, serta pengujian kinerja perangkat lunak, yaitu membandingkan kualitas video hasil penyisipan dengan video yang asli. Berikut ini akan dijelaskan mengenai lingkungan pengujian, kasus uji dan hasilnya masing-masing, beserta evaluasi dari hasil pengujian.

5.2.1 Lingkungan Pengujian

Pengujian dilakukan pada perangkat keras notebook yang sama dengan implementasi, dan juga pada perangkat mobile phone Sony Ericsson K610i, yang dapat menjalankan aplikasi Java dengan konfigurasi CLDC 1.1 dan MIDP 2.0, serta dukungan terhadap API JSR 75.

Pengujian perbandingan kualitas video juga menggunakan notebook yang sama saat implementasi. Perangkat lunak yang digunakan untuk mengekstraksi frame adalah Total Video Converter [EFF08], dan implementasi perbandingan video dengan metode SSIM menggunakan kode Matlab yang terdapat pada [WAN08].

5.2.2 Tujuan Pengujian

Terdapat dua buah jenis pengujian, yaitu pengujian kebenaran dan kinerja perangkat lunak, sehingga tujuan pada pengujian adalah sebagai berikut:

1. Menguji kebenaran validasi format video 3GP.

2. Menguji kebenaran proses penyisipan dan ekstraksi video. 3. Menguji proses penggunaan kunci.

4. Menguji dampak perubahan video setelah proses penyisipan. 5.2.3 Data Uji

Berikut adalah file video 3GP yang digunakan pada pengujian:

1. “Take-off.3gp”. Berukuran 39.586 bytes, dan ukuran maksimal pesan yang dapat ditampung pada 1 LSB adalah 71 bytes.

2. “snagItNarration.3gp”. Berukuran 425.244 bytes, dan ukuran maksimal pesan yang dapat ditampung pada 1 LSB adalah 1.664 bytes.

3. “MacVsPc.3gp”. Berukuran 1.510.692 bytes, dan ukuran maksimal pesan yang dapat ditampung pada 1 LSB adalah 8.467 bytes.

(5)

4. “MOV00123.3gp”, memiliki codec MP4 dan hanya dipakai untuk uji validasi format video.

Sedangkan file pesan untuk pengujian adalah sebagai berikut: 1. “file.txt”. Berukuran 39 bytes.

2. “Readme.txt”. Berukuran 69 bytes. 3. “pic.jpg”. Berukuran 960 bytes. 4. “pic2.jpg”. Berukuran 4.702 bytes. 5.2.4 Kasus Uji

Berdasarkan tujuan pengujian yang didefinisikan pada Subbab 5.2.2, maka terdapat 3 buah kasus untuk pengujian kebenaran perangkat lunak, yaitu kasus uji 1 hingga 3. Sedangkan pengujian kinerja perangkat lunak akan diuji pada kasus uji 4. Data pengujian akan menggunakan data yang telah didefinisikan pada Subbab 5.2.3.

1. Kasus uji 1 - Menguji validasi format video

Pengujian ini dilakukan untuk menguji kebenaran validasi format video, sebagai video untuk masukan pada proses penyisipan dan ekstraksi. Cara yang dilakukan adalah memberikan dua jenis video input ke dalam proses penyisipan, yang memiliki codec yang berbeda. Video jenis pertama memiliki

codec H.263, yang menjadi masukan yang valid, dan video jenis kedua memiliki codec yang tidak valid. Pengujian akan berhasil apabila hanya video jenis pertama saja yang dapat masuk ke dalam proses penyisipan.

2. Kasus uji 2 - Menguji kebenaran proses penyisipan dan ekstraksi

Pengujian ini dilakukan untuk menguji kebenaran proses penyisipan pesan dan ekstraksi pesan. Cara yang dilakukan adalah menyisipkan pesan dengan sebuah kunci, lalu mengekstraksinya dengan kunci yang sama. Pengujian akan berhasil apabila pesan berhasil disisipkan, dan dapat diekstraksi kembali dengan benar. Proses ini juga harus menangani apabila pesan yang disisipkan hanya sebagian, yang dikarenakan ukuran pesan melebihi 3 LSB INTRA-DC pada video.

(6)

3. Kasus uji 3 - Menguji proses penggunaan kunci

Pengujian ini dilakukan untuk menguji kebenaran dari penggunaan kunci, yaitu dengan cara memasukkan kunci yang salah pada saat ekstraksi. Pengujian akan berhasil apabila pesan yang diekstraksi memiliki isi yang tidak sama dengan pesan yang asli.

4. Kasus uji 4 - Menguji dampak penyisipan pada video

Pengujian ini dilakukan untuk menguji kualitas dari video hasil penyisipan, yaitu dengan membandingkannya dengan video yang asli. Pembandingan ini memakai masukan dari video hasil penyisipan pada Kasus uji 2, dan menggunakan dua cara perbandingan, yaitu subjektif dan objektif. Pengujian akan berhasil apabila dari masing-masing cara, didapatkan hasil seperti berikut:

1. Pada cara subjektif, video dianggap mirip.

2. Pada cara objektif, nilai SSIM yang dihasilkan diatas 0,7. 5.2.5 Hasil Pengujian dan Evaluasi

Berikut ini adalah hasil pengujian dari kasus uji yang dilakukan, beserta evaluasi dari masing-masing kasus uji.

1. Kasus uji 1

Pengujian ini mencoba memasukkan 3 buah video dengan codec H.263, dan sebuah video dengan codec MP4. Hasilnya ditunjukkan pada Tabel V-1, dimana video dengan codec H.263 dapat masuk ke dalam proses penyisipan, sedangkan video dengan codec MP4 memunculkan pesan error.

Tabel V-1 Hasil Pengujian Kasus Uji 1

Masukan video Codec Hasil validasi Kesimpulan

“Take-off.3gp” H.263 Valid Diterima

“snagItNarration.3gp” H.263 Valid Diterima

“MacVsPc.3gp” H.263 Valid Diterima

“MOV00123.3gp” MP4 Tidak valid Diterima

Dari hasil tersebut, terbukti bahwa XGP telah berhasil menjalankan fungsi

parsing video 3GP beserta codec H.263, sehingga validasi format video, atau pengambilan nilai dalam video dapat dilakukan dengan baik.

(7)

2. Kasus uji 2

Pengujian ini dilakukan dengan cara menyisipkan pesan ke dalam video, kemudian mengekstraksinya kembali. Video yang menjadi media adalah video yang valid dari hasil Kasus uji 1, dan pesan masukannya adalah semua file

pesan yang terdefinisi pada Data uji. Kunci yang digunakan adalah string 123, dan video keluaran diberi nama baru yang sesuai dengan file pesan. Hasil penyisipan pesan ini ditunjukkan pada Tabel V-2. Beberapa frame dari video asli dan video hasil perbandingan dapat dilihat pada Lampiran D.

Tabel V-2 Hasil Pengujian Kasus Uji 2 (Penyisipan) Masukan

video

Masukan pesan Masukan kunci Keluaran video “Take-off.3gp” “file.txt” 123 “Take-offFile.3gp” “Readme.txt” 123 “Take-offReadme.3gp”

“pic.jpg” 123 “Take-offPic.3gp”, namun hanya

menyisipkan sebagian pesan

“pic2.jpg” 123 “Take-offPic2.3gp”, namun hanya

menyisipkan sebagian pesan “snagItNarr

ation.3gp”

“file.txt” 123 “snagItNarrationFile.3gp”

“Readme.txt” 123 “snagItNarrationReadme.3gp”

“pic.jpg” 123 “snagItNarrationPic.3gp”

“pic2.jpg” 123 “snagItNarrationPic2.3gp”, namun

hanya menyisipkan sebagian pesan “MacVsPc. 3gp” “file.txt” 123 “MacVsPcFile.3gp” “Readme.txt” 123 “MacVsPcReadme.3gp” “pic.jpg” 123 “MacVsPcPic.3gp” “pic2.jpg” 123 “MacVsPcPic2.3gp”

Setelah proses penyisipan selesai, dilakukan proses ekstraksi dari masing-masing video. Hasil dari proses ekstraksi dapat dilihat pada Tabel V-3. Kunci sama pada proses penyisipan, yaitu string „123‟, sehingga diharapkan isi pesan yang dihasilkan juga sama.

Tabel V-3 Hasil Pengujian Kasus Uji 2 (Ekstraksi) Keluaran video Masukan

kunci

Keluaran Kesimpulan

“Take-offFile.3gp”

123 “file_1.txt”, dengan isi sama

dengan “file.txt”

Diterima

“Take-offReadme.3gp”

123 “Readme_1.txt”, dengan isi sama

dengan “Readme.txt”

Diterima

(8)

Keluaran video Masukan kunci

Keluaran Kesimpulan

offPic.3gp” dari “pic.jpg”

“Take-offPic2.3gp”

123 “pic2_1.jpg”, dengan isi separuh

dari “pic2.jpg”

Diterima “snagItNarration

File.3gp”

123 “file_2.txt”, dengan isi sama

dengan “file.txt”

Diterima “snagItNarration

Readme.3gp”

123 “Readme_2.txt”, dengan isi sama

dengan “Readme.txt”

Diterima “snagItNarration

Pic.3gp”

123 “pic_2.jpg”, dengan isi sama

dengan “pic.jpg”

Diterima “snagItNarration

Pic2.3gp”

123 “pic2_2.jpg”, dengan isi separuh

dari “pic2.jpg”

Diterima “MacVsPcFile.3

gp”

123 “file_3.txt”, dengan isi sama

dengan “file.txt”

Diterima “MacVsPcRead

me.3gp”

123 “Readme_3.txt”, dengan isi sama

dengan “Readme.txt”

Diterima “MacVsPcPic.3

gp”

123 “pic_3.jpg”, dengan isi sama

dengan “pic.jpg”

Diterima “MacVsPcPic2.

3gp”

123 “pic2_3.jpg”, dengan isi sama

dengan “pic2.jpg”

Diterima

Dari hasil pengujian, terbukti bahwa XGP sudah berhasil menjalankan proses penyisipan dan ekstraksi dengan benar. Semua pesan yang menjadi masukan telah berhasil disisipkan, dan kemudian dapat diekstraksi dengan baik. Pesan yang diekstraksi sama dengan pesan yang asli, dan kunci yang digunakan pada proses penyisipan dan ekstraksi juga sama. Namun waktu yang dibutuhkan pada beberapa tes cukup lama, dan sebanding dengan besarnya ukuran pesan. Hal ini dikarenakan pembacaan video dan pesan dilakukan secara bagian per bagian, dan tidak secara langsung membaca file secara utuh.

3. Kasus uji 3

Pengujian ini dilakukan dengan cara melakukan ekstraksi dari video hasil penyisipan pada Tabel V-2, namun dengan kunci yang berbeda, yaitu string „456‟. Hasil dari pengujian ini diperlihatkan pada Tabel V-4.

Tabel V-4 Hasil Pengujian Kasus Uji 3 Keluaran video Masukan

kunci

Keluaran Kesimpulan

“Take-offFile.3gp”

456 “file_4.txt”, dengan isi berbeda

dari “file.txt”

Diterima

(9)

Keluaran video Masukan kunci

Keluaran Kesimpulan

offReadme.3gp” berbeda dari “Readme.txt”

“Take-offPic.3gp”

456 “pic_4.jpg”, dengan isi berbeda,

dan berbeda ukuran dari “pic.jpg”

Diterima

“Take-offPic2.3gp”

456 “pic2_4.jpg”, dengan isi berbeda,

dan berbeda ukuran dari “pic2.jpg”

Diterima

“snagItNarration File.3gp”

456 “file_5.txt”, dengan isi berbeda

dari “file.txt”

Diterima “snagItNarration

Readme.3gp”

456 “Readme_5.txt”, dengan isi

berbeda dari “Readme.txt”

Diterima “snagItNarration

Pic.3gp”

456 “pic_3.jpg”, dengan isi berbeda

dari “pic.jpg”

Diterima “snagItNarration

Pic2.3gp”

456 “pic2_3.jpg”, dengan isi berbeda

dari “pic2.jpg”

Diterima “MacVsPcFile.3

gp”

456 “file_6.txt”, dengan isi berbeda

dari “file.txt”

Diterima “MacVsPcRead

me.3gp”

456 “Readme_6.txt”, dengan isi

berbeda dari “Readme.txt”

Diterima “MacVsPcPic.3

gp”

456 “pic_4.jpg”, dengan isi berbeda

dari “pic.jpg”

Diterima “MacVsPcPic2.

3gp”

456 “pic2_4.jpg”, dengan isi berbeda

dari “pic2.jpg”

Diterima

Dari hasil pengujian, terbukti bahwa XGP telah dapat melakukan aspek penggunaan kunci dengan baik. Proses ekstraksi dengan kunci yang salah dapat ditangani, yaitu dengan menghasilkan pesan yang berbeda dengan pesan yang asli. Namun karena header pesan pada video tidak diacak, yaitu tidak tergantung pada kunci, maka informasi yang terdapat pada header tetap dapat diambil walaupun kuncinya berbeda. Sehingga panjang pesan dapat diketahui, dan apabila pesan tersebut berbentuk file, maka file pesan akan terbentuk dengan isi yang berbeda.

4. Kasus uji 4

Pengujian ini dilakukan dengan cara membandingkan video hasil penyisipan pada Tabel V-2, dengan video masukan yang bersesuaian. Frame dari kedua video yang ingin dibandingkan tersebut diekstraksi terlebih dahulu, menjadi gambar berformat JPG. Kemudian dicari nilai SSIM dari masing-masing

(10)

gambar, lalu diambil nilai rata-ratanya, yaitu MSSIM. Hasil pengujian untuk kasus uji ini dapat dilihat pada Tabel V-5.

Tabel V-5 Hasil Pengujian Kasus Uji 4

Masukan video Masukan video

perbandingan

Nilai MSSIM

Kesimpulan

“Take-off.3gp” “Take-offFile.3gp” 0.99665 Diterima

“Take-offReadme.3gp” 0.99585 Diterima

“Take-offPic.3gp” 0.97922 Diterima

“Take-offPic2.3gp” 0.98025 Diterima

“snagItNarration.3gp” “snagItNarrationFile.3gp” 0.99964 Diterima

“snagItNarrationReadme.3gp” 0.99997 Diterima

“snagItNarrationPic.3gp” 0.99957 Diterima

“snagItNarrationPic2.3gp” 0.99133 Diterima

“MacVsPc.3gp” “MacVsPcFile.3gp” 0.99987 Diterima

“MacVsPcReadme.3gp” 0.99990 Diterima

“MacVsPcPic.3gp” 0.99800 Diterima

“MacVsPcPic2.3gp” 0.99627 Diterima

Pada cara subjektif, hampir semua video hasil penyisipan dianggap mirip dengan video yang asli, kecuali “Take-offPic.3gp” dan “Take-offPic2.3gp”, dimana warna di beberapa bagian mengalami perubahan yang cukup signifikan. Hal tersebut disebabkan oleh karena kedua video ini mendapatkan perubahan pada semua 3 LSB.

Pada cara objektif, yaitu dari Tabel V-5, semua perbandingan memperoleh nilai SSIM di atas 0,7. Hal ini membuktikan bahwa proses penyisipan dengan metode DCT Modification ini tidak mengubah kualitas struktur video secara signifikan. Dan tingginya nilai ini dikarenakan resolusi video 3GP yang cukup kecil, dan SSIM akan lebih akurat dengan resolusi frame yang lebih tinggi, sehingga struktur frame lebih terlihat. Walaupun demikian, hal tersebut masih konsisten dengan persepsi manusia yang tidak dapat melihat perbedaan dari resolusi video atau frame yang kecil.

Dari semua hasil pengujian yang telah dilakukan, perangkat lunak XGP dapat menjalankan semua fungsi dan spesifikasi dengan benar. Dan penurunan kualitas video yang dihasilkan juga tidak terlalu signifikan, yang bergantung kepada besarnya ukuran pesan.

Gambar

Tabel V-3 Hasil Pengujian Kasus Uji 2 (Ekstraksi)
Tabel V-4 Hasil Pengujian Kasus Uji 3
Tabel V-5 Hasil Pengujian Kasus Uji 4

Referensi

Dokumen terkait

Ditinjau dari hasil kuisioner memperoleh 72.5% responden menyatakan informasi yang diterapkan pada “Pembangunan Perangkat Lunak Koleksi Pakaian Distro Warehouse

Bab ini merupakan pembahasan mengenai implementasi perangkat lunak untuk menerapkan dynamic folksonomy dan pengujian terhadap perangkat lunak yang telah diimplementasikan..

Pengujian alpha dilakukan dengan menggunakan metode black-box yang berfokus pada persyaratan fungsional perangkat lunak. Pengujian program ini menggunakan metode

Hasil pengujian kasus uji 5 (pengujian Use Case Authenticate) memberikan kesimpulan bahwa protokol otentikasi pengguna dan perangkat yang dirancang telah dijalankan dengan benar

Kelas pada paket ini merupakan kelas yang digunakan sebagai representasi data yang terlibat dalam perangkat lunak antara lain kasus uji, berbagai komponen kasus uji,

Perangkat keras pada Tabel 4.1 digunakan untuk melakukan pengujian terhadap sistem ekstraksi informasi berdasarkan spesifikasi minimum yang telah

Keberhasilan pengujian bahwa perangkat lunak JazzML dapat melakukan pembelajaran terhadap data pelatihan yang diberikan adalah dengan cara membandingkan derajat kualitas musikal

Berdasarkan hasil pengujian dengan kasus Black box dapat ditarik kesimpulan bahwa perangkat lunak dapat mengetahui fungsi – fungsi yang tidak benar atau hilang,