LISTING PROGRAM
1. Menu Utama
Imports System.Data.OleDb Public Class frmMutama
Private Sub WatermarkingToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) Handles _
WatermarkingToolStripMenuItem.Click frmMain.Show()
End Sub
Private Sub QuitToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) Handles _ QuitToolStripMenuItem.Click
Close() End Sub
Private Sub frmMutama_Load(ByVal sender As _
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call KoneKsi()
End Sub
Private Sub AboutToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) Handles _
AboutToolStripMenuItem.Click frmAbt.Show()
End Sub
Private Sub MSEDanPSNRToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) Handles _
MSEDanPSNRToolStripMenuItem.Click frmHasil1.Show()
End Sub
Private Sub RRToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) Handles _
RRToolStripMenuItem.Click frmHasil2.Show()
End Sub
Private Sub ToolStripMenuItem1_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) Handles _
ToolStripMenuItem1.Click
Dim DataSampel As Single Sub CariID()
folderResume = Application.StartupPath & "\RESUME_VIDEO\"
CMD = New OleDbCommand("Select * from [File] order by IDFile desc",
Private Sub lvwPlayList_DoubleClick(ByVal sender As Object, ByVal e As _ System.EventArgs)
Private Sub WMP_MediaChange(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_MediaChangeEvent) Handles WMP.MediaChange If WMP.currentMedia Is Nothing Then Exit Sub
Dim i As Integer, s As String
For i = 0 To WMP.currentPlaylist.count - 1
lvwPlayList.Items(i).ForeColor = IIf(WMP.currentMedia.isIdentical _ (WMP.currentPlaylist.Item(i)), Color.Red, Color.Black)
Private Sub WMP_PlayStateChange(ByVal sender As Object, _
ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles _ WMP.PlayStateChange
'utk mengatasi sedikit bug
If WMP.currentPlaylist.count > 0 Then
lvwPlayList.Items(0).SubItems(1).Text = WMP.currentPlaylist.Item(0)._
getItemInfo("Artist") End If
End Sub
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Load
WMP.settings.volume = GetSetting("PVBMP", "main", "vol", 100) ' WMP.uiMode = "none"
tabSideBar.Visible = GetSetting("PVBMP", "main", "sidebar", True) Me.TopMost = GetSetting("PVBMP", "main", "ontop", False)
WMP.settings.setMode("Loop", GetSetting("PVBMP", "main", "loop", False))
WMP.settings.setMode("Shuffle", GetSetting("PVBMP", "main", "shuffle", False))
Private Sub mnuRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuRemove.Click
For Each LI As ListViewItem In lvwPlayList.SelectedItems
WMP.currentPlaylist.removeItem(WMP.currentPlaylist.Item(LI.Index)) LI.Remove()
Next
WMP.Ctlcontrols.play() End Sub
Private Sub mnuPlayList_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles mnuPlayList.Opening
mnuRemove.Enabled = (lvwPlayList.SelectedItems.Count > 0) End Sub
Try
Private Sub cmdBrowseMP4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBrowseMP4.Click
Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Private Sub cmdProses_Click(ByVal sender As System.Object, ByVal e As
NmFileAvi1 = folderResume & "FileWM" & IDFile & ".avi" lblNmFileAvi2.Text = NmFileAvi1
Timer1.Enabled = True Dim encryptor
encryptor = Edh_AVI(txtKey.Text, txtLabel.Text) FileCopy(lblNmFileAvi1.Text, lblNmFileAvi2.Text) lblKdEks.Text = FileLen(lblNmFileAvi1.Text) CMD = New OleDbCommand("Insert into File (IDFile,
NmFile,NmFile1,eks,pr,strKey,strLabel,st,bitKey,bitLabel,MSE,PSNR,KdEks) values (" & IDFile & ",'" & NmFileAvi & "','" & NmFileAvi1 & "','AVI','W','" &
txtKey.Text & "','" & txtLabel.Text & "','1','" & Label2.Text & "','" & Label7.Text & "','" & lblMSE.Text & "','" & lblPSNR.Text & "','" & lblKdEks.Text & "')", Conn)
NmFileWM,KdEks,strKey) values (" & IDData & ",'" & NmFileAvi1 & "','" & lblKdEks.Text & "','" & txtKey.Text & "')", Conn)
RD = CMD.ExecuteReader()
Private Sub txtLabel_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtLabel.TextChanged lblBinLabel.Text = binLabel.convertASCIItoBIN cmdProses.Enabled = True
cmdProses1.Enabled = True End Sub
Private Sub cmdProses1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdProses1.Click
ProgressBar2.Value = 0 Call KonversiBIN() Call CariID()
NmFileMp41 = folderResume & "FileWM" & IDFile & ".mp4" lblNmFileMp42.Text = NmFileMp41
Timer1.Enabled = True Dim encryptor
encryptor = Edh_Mp4(txtKey.Text, txtLabel.Text) FileCopy(lblNmFileMp41.Text, lblNmFileMp42.Text) lblKdEks1.Text = FileLen(lblNmFileMp41.Text) CMD = New OleDbCommand("Insert into File (IDFile,
NmFile,NmFile1,eks,pr,strKey,strLabel,st,bitKey,bitLabel,MSE,PSNR,KdEks) values (" & IDFile & ",'" & NmFileMp4 & "','" & NmFileMp41 & "','MP4','W','" &
txtKey.Text & "','" & txtLabel.Text & "','1','" & Label2.Text & "','" & Label7.Text & "','" & lblMSE1.Text & "','" & lblPSNR1.Text & "','" & lblKdEks1.Text & "')", Conn)
NmFileWM,KdEks,strKey) values (" & IDData & ",'" & NmFileMp41 & "','" & lblKdEks1.Text & "','" & txtKey.Text & "')", Conn)
RD = CMD.ExecuteReader() RD.Close()
CMD.Dispose() End Sub
Private Sub cmdBatal1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal1.Click
Private Sub cmdKeluar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click
Close() End Sub
ProgressBar1.Value = 0
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Next Dim JumLabelEkstraksi As Integer Dim IDFIle As Integer
Dim RR As Single
Private Sub cmdSelesai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Close() End Sub
Private Sub frmEkstraksi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Call Bersih() End Sub
With dlgOpenFile NmFile1='" & RTrim(NmFileAvi) & "' and Eks='" & eks & "'", Conn)
RD = CMD.ExecuteReader() Color.Black) 'warna merah utk yg sedang diputar
Next End With End Sub
Private Sub cmdSelesai_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
Close() End Sub Sub EksAvi()
Dim validcode02 As Long
decrypted = Decrypt(txtKey.Text, lblEkstraksi.Text) lblEkstraksi.Text = decrypted
CMD = New OleDbCommand("Update [File] SET RR=" & RR & ",strLabelEks='" & decrypted & "',st='*' where IDFile=" & IDFile & "", Conn)
RD = CMD.ExecuteReader()
Private Sub cmdLoad1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLoad1.Click NmFile1='" & RTrim(NmFileMP4) & "' and Eks='" & eks & "'", Conn)
RD = CMD.ExecuteReader() If RD.Read = True Then
KdEksSisip = RD.Item("KdEks")
Private Sub cmdBatal_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click
Call Bersih()
lblNmFileAvi1.Text = "" End Sub
Private Sub cmdBatal1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal1.Click
Call Bersih()
lblNmFileMP41.Text = "" End Sub
Private Sub cmdEkstraksi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEkstraksi.Click
Dim bolSave As Boolean
If lblNmFileAvi1.Text <> "" And txtKey.Text <> "" And txtKodeEks.Text <> "" Then
CMD = New OleDbCommand("Select * from [File] where NmFile1='" & NmFileAvi & "' and Eks='" & eks & "' and KdEks='" & txtKodeEks.Text & "' and strKey='" & txtKey.Text & "'", Conn)
MsgBox("Data ekstraksi belum lengkap...")
",strLabelEks='" & LabelSisip & "',st='*' where IDFile=" & IDFIle & "", Conn) RD = CMD.ExecuteReader()
Dim binLabelEkstraksiAVI As New ASCIItoBIN(lblEkstraksi.Text) LsBinEkstraksiAVI.Items.Add(binLabelEkstraksiAVI.convertASCIItoBIN) Dim binLabelPenyisipAVI As New ASCIItoBIN(lblPenyisip.Text)
LsBinPenyisipAVI.Items.Add(binLabelPenyisipAVI.convertASCIItoBIN) JumLabelEkstraksi = Len(binLabelEkstraksiAVI.convertASCIItoBIN) JumLabelSisip = Len(binLabelPenyisipAVI.convertASCIItoBIN)
If JumLabelSisip > 0 Then
Dim binLabelEkstraksiMP4 As New ASCIItoBIN(lblEkstraksi1.Text) LsBinEkstraksiMP4.Items.Add(binLabelEkstraksiMP4.convertASCIItoBIN) Dim binLabelPenyisipMP4 As New ASCIItoBIN(lblPenyisip1.Text)
Private Sub txtKodeEks_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKodeEks.TextChanged
cmdEkstraksi.Enabled = True End Sub
Private Sub cmdEkstraksi1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEkstraksi1.Click
Dim bolSave As Boolean
If lblNmFileMP41.Text <> "" And txtKey1.Text <> "" And txtKodeEks1.Text <> "" Then
CMD = New OleDbCommand("Select * from [File] where NmFile1='" & NmFileMP4 & "' and Eks='" & eks & "' and KdEks='" & txtKodeEks1.Text & "' and strKey='" & txtKey1.Text & "'", Conn)
RD = CMD.ExecuteReader()
",strLabelEks='" & LabelSisip & "',st='*' where IDFile=" & IDFIle & "", Conn) RD = CMD.ExecuteReader()
RD.Close() CMD.Dispose() End If
End Sub
Private Sub txtKodeEks1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKodeEks1.TextChanged
cmdEkstraksi1.Enabled = True End Sub
Private Sub cmdHistoris_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHistoris.Click
frmHistoris.Show() End Sub
randoms(i) = GetSampel(1, PictureBox1.Width) ListBox1.Items.Add(randoms(i))
Dim binSampel As New ASCIItoBIN(randoms(i)) ListBox1.Items.Add(binSampel.convertASCIItoBIN) Next ListBox2.Items.Add(binSampel.convertASCIItoBIN) Next
End Sub
Private Sub cmdSelesai_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSelesai.Click
Public Sub New(ByVal ASCII_Input As String) ASCIIstr = ASCII_Input
End Sub
End While
Public strProses As String
Public myProcess As New Process() Public maxSampel As Single = 255 Public maxSampel1 As Single = 326 Public Sub KoneKsi()
strConn = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\IO.mdb")
Public Sub EchoFile(ByVal SourceFile As String, ByVal DestFile As String) 'On Error GoTo salah
DestFile = Application.StartupPath & "\Cover_Video\" Filenr = FreeFile()
#Open SourceFile For Binary As #Filenr
Public Function Edh_AVI(ByVal Key1 As String, ByVal txtcode As String) Dim i, j, k As Integer, thekey
If k > maxSampel1 Then k = k - maxSampel1
Public Function Encrypt(ByVal Key1 As String, ByVal txtcode As String) Dim i, j, k As Integer, thekey
DAFTAR PUSTAKA
[1]. Bachri, Karel Octavianus. 2008. Analisis Pemrosesan Paralel pada Filter
Digital Finite Impulse Response Orde 3. Jurnal Teknik Elektro Universitas
Katolik Indonesia Atma Jaya Vol. 1, No. 1. Oktober 2008 30-35.
[2]. Binanto. 2010. Multimedia Digital Dasar Teori +Pengembangan.PenerbitANDI: Yogyakarta.
[3]. Jogiyanto, HM. 2005. Analisis dan Desain Sistem Informasi. Jakarta. Penerbit: Kawan Pustaka.
[4]. Mar, Etal. 2009.Implementasi Dan Analisis Video Watermarking Dengan
Format Video Mpeg Berbasis Wavelet Transform. Seminar Nasional Aplikasi
Teknologi Informasi 2009 (SNATI 2009). Yogyakarta, 20 Juni 2009.
[5]. Persada, Bayu Adi. 2004. Studi Dan Implementasi Non Blind Watermarking
Dengan Metode Spread Spectrum, Bandung: Jurnal Teknik Elektro dan
Informatika Institut Teknologi Bandung.
[6]. Petrovi, Rade. 2000.Data Hiding Within Audio Signals. Jurnal Facta Universitatis (NI_S) Series: Electronics and Energetics vol. 12, No.2 (2000), 103122.
[7]. Putra, Darma. 2010. Pengolahan Citra Digital.Yogyakarta. Penerbit: ANDI.
[8]. Redmond. 1993. Multimedia Programming Interface AndData Specifications. Microsoft Corporation.
[9]. Sugiono, etal. 2008. Watermarking Pada File Audio PCM WAVE Dengan
Metode Echo Data Hiding. Konferensi Nasional Sistem dan Informatika 2008;
Bali, Nopember 15, 2008.
[10]. Winarso, Sri. M.E. 2007. Digital Watermarking Menggunakan MetodeDiscrete Cosine Transform. Jurnal Teknologi Informasi-AITI. Februari
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Analisis sistem adalah merupakan proses untuk memperoleh pemahaman yang
menyeluruh terhadap kebutuhan sistem sehingga diperoleh gambaran proses yang
akan dilakukan sistem. Hal ini akan membantu pemodelan rancang bangun sistem
yang nantinya akan diimplementasikan dalam bentuk nyata.
3.1.1 Analisis Masalah
Salah satu cara untuk mengidentifikasi permasalahandengan penggunaan diagram
Ishikawa (fishbone diagram). Diagram Ishikawa adalah sebuah alat grafis yang
digunakan untuk mengidentifikasi, mengeksplorasi dan menggambarkan suatu
masalah serta sebab dan akibat dari masalah tersebut. Diagram ini juga sering disebut
sebagai diagram sebab-akibat atau diagram tulang ikan. Identifikasi terhadap
permasalahan akan membantu analisis persyaratan sistem yang nantinya akan
dikembangkan.
Pada aplikasi ini dilakukan perbandingan hasil watermarkingpada video yang
berformat AVI dengan MP4 menggunakan algoritma Echo Data Hiding.Labelwatermarkyang disisipkan berupa teks berformat .txt. Setelah proses watermarking dan ekstraksi selesai, maka dilakukan pengujian parameter
watermarking dengan menghitung nilairecovery rate (RR), Mean Squared Error
(MSE) serta Peak Signal to Noise Ratio (PSNR).
Proses kerja algoritmaEcho Data Hidingpada watermarking dan ekstraksi
yaitu penyisipan dan pengekstrakan video dilakukan pada sampel audio dengan
maka key yang digunakan berfungsi sebagai acuan dalam melakukanproses
pembuatan delay echo yang mewakili bit biner “0” dan “1”. Hasil dari operasi penyisipan ini adalah sebuah sinyal yang telah berisi data dan key. Data yang
disisipkan dalam modul ini adalah sederetan bit biner yang merupakan konversi dari
kode unik hasil generate.
Frame pada streamaudio yang terdapat pada file AVI dan MP4 berformatRIFF
(Resource Interchange File Format) yang membagi sebuah data file ke dalam blok,
atau potongan. Untuk membentuk echodigunakan dua buah impuls yang disebut
kernel. Kernel “satu” dibuat dengan delay δ1 detik sedangkankernel “nol” dibuat
dengan delay δ0 detik.Jika hanya 1 echo yang dihasilkan dari sinyal asli maka hanya 1 bit dari teks yang dapat disisipkan. Karena itu, sinyal awal dibagi-bagi ke dalam
beberapa blok sebelum proses encoding dimulai. Ketika proses encoding telah selesai,
blok-blok tersebut digabungkan kembali membentuk sinyal baru.
Seluruh kategori dan sebab akibat yang disebutkan kemudian dimuat dalam
sebuah diagram Ishikawa sebagai berikut.
Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem
Pada diagram Ishikawa, masalah utama ditunjukkan oleh segi empat paling
dihubungkan oleh sebuah garis ke tulang utama (garis horizontal yang terhubung ke
kepala ikan). Selanjutnya sebab akibat yang muncul ditunjukkan oleh tulang-tulang
kecil yang diwakili oleh garis panah yang mengarah ke tulang-tulang kategori
masalah.
3.1.2 Analisis Persyaratan
Analisis persyaratan sebuah sistem dikelompokkan ke dalam dua bagian yaitu, analisis
persyaratan fungsional dan analisis persyaratan non-fungsional.
3.1.2.1 Analisis Persyaratan Fungsional
Persyaratan fungsional adalah segala sesuatu yang harus dimiliki oleh sistem.
Persyaratan fungsional sistem yang akan dirancang antara lain sebagai berikut:
1. Sistem harus menyediakan sumberdaya untuk melakukan watermarking dan
ekstraksi dengan menerapkan echo data hiding, dimana untuk keamanannya
ekstraksi digunakan kunci.
2. Pada penerapan algoritma Echo Data Hiding, sistem juga harus menyediakan
sumberdaya untuk parameter-parameter yang ingin dicapai.
3.1.2.2 Analisis Persyaratan Non-Fungsional
Persyaratan non-fungsional adalah persyaratan apa yang harus dilakukan sistem.
Seringkali berupa batasan atau sesuatu yang menjadi perhatian builder sebuah sistem.
Persyaratan non-fungsional yang harus dipenuhi oleh sistem yang dirancang adalah
penggunaan Microsoft Accesssebagai pangkalan data dan Crystal Report untuk
merepresentasikan hasil proses watermarking serta esktraksi.
3.1.3 Pemodelan Sistem
Pemodelan sistem dibuat untuk mengetahui gambaran umum dari sistem yang akan
3.1.3.1 Pemodelan Sistem dengan Use Case Diagram
Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang
objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang harus
dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai
dengan mestinya.
Perancangan fungsionalitas perangkat lunak pembuktian kepemilikan video
yang akan dikembangkan dimodelkan dengan diagram use case. Aktor yang nantinya
akan berinteraksi dengan sistem adalah pengguna (user). Pengguna dikategorikan
sebagai entitas yang melakukan proses watermarking dan ekstraksi.
Sesuai dengan analisis kebutuhan sistem, beberapa hal yang nantinya harus
dilakukan sistem adalah:
1. Melakukan watermarking terhadap video asli untuk pemberian label identitas
kepemilikan menghasilkan video ter-watermark
2. Melakukan ekstraksi label kepemilikan terhadap file video ter-watermark
Berdasarkan informasi kebutuhan sistem dan aktor yang berperan, diagram use
case berikut dirancang sebagai pemodelan persyaratan sistem.
Gambar 3.2 Use CaseDiagram Sistem Aplikasi
Perbandingan Hasil Watermarking Pada Video AVI dengan MP4 Menggunakan Algoritma Echo Data
Hiding
Sistem Kepemilikan
File Video
Watermarking
Esktraksi
Key/Kode Esktraksi <<extends>> <<uses>>
<<uses>>
Pada diagram tersebut tampak bahwa seorang User (pengguna) hanya bekerja
dengan mengakses Use Case sistem watermark video. Pengguna tidak perlu
mengetahui secara persis proses apa saja yang terjadi pada setiap tahap. Dengan
demikian untuk memutuskan proses apa yang nantinya dilakukan pada setiap tahap
menjadi tanggung jawab sistem.
Berikut ini merupakan dokumentasi naratif untuk use case Proses
watermarking.
Tabel 3.1 Dokumentasi Naratif Use CaseWatermarking
Nama use case Sistem keamanan file video
Aktor User
Deskripsi Use case yang mendeskripsikan fungsi pengamanan file video dengan pemberian label identitas.
Pre-condition Video yang di-label teks ber format AVI dan MP4.
Activity diagram untuk use case kontrol proses watermarking terlihat sebagai
berikut.
User Sistem
Gambar 3.3 Activity DiagramProses Watermarking Memilih tombol watermarking
Memilih tombol Browse
Memasukkan Key dan label
Tampilkan kesalahan
Tidak
Memilih tombol Proses
Ya
Penyisipan label
Menghitung nilai MSE dan PSNR
Pada dokumentasi naratif use casedan activity diagram terlihat bahwa kontrol
proses dilakukan dengan menjaga tahapan watermarking berlangsung sesuai dengan
mekanisme dan kemudian sistem memutuskan apa saja yang harus dilakukan oleh
sistem pada setiap tahapan dengan memanggil modul program yang sesuai untuk
memproses proses selanjutnya.
Berikut ini merupakan dokumentasi naratif untuk use case Proses Ekstraksi.
Tabel 3.2 Dokumentasi Naratif Use CaseEkstraksi
Nama use case Sistem keamanan file video
Aktor User
Deskripsi Use case yang mendeskripsikan fungsi ekstraksi kepemilikan dengan pengambilan label identitas dari file video.
Pre-condition Video yang di-label teks ber format AVI dan MP4.
Typical course of
event
Aksi aktor Respon sistem
Langkah 1: User memilih tombol
Ekstraksi dari menu utama.
Langkah 3 User memasukkan file
video watermark dengan memilih
tombol Browse
Langkah 5: User memasukkan
Key dan kode ekstraksi
Langkah 2: Sistem merespon
dengan memanggil program
Ekstraksi video.
Langkah 4: Sistem
menampilkan nama-nama file
video
Langkah 6: Sistem melakukan
ekstraksi label dari file video
watermark dan menghitung
nilai RR.
Alternate course Aksi aktor Respon sistem
- -
Activity diagram untuk use case proses ekstraksi terlihat sebagai berikut.
User sistem
Gambar 3.4Activity DiagramProses Ekstraksi Memilih tombol
Proses Melakukan ekstraksi label
Menghitung nilai RR
Mengkonfirmasi keberhasilan proses Memilih tombol Ekstraksi
Memilih tombol Browse
Memasukkan Key dan Kode Ekstraksi
Tampilkan kesalahan
Tidak
Ya
Pada dokumentasi naratif use casedan activity diagram terlihat bahwa kontrol
proses dilakukan dengan menjaga tahapan ekstraksi berlangsung sesuai dengan
mekanisme yang seharusnya dan kemudian sistem memutuskan apa saja yang harus
dilakukan oleh sistem pada setiap tahapan dengan memanggil modul program yang
sesuai untuk memproses pesan.
3.1.4Analisis Proses Sistem
Implementasi watermarking pada pemberian identitas file video terdiri proses
Watermarking dan Ekstraksi dapat digambarkan dalam penelitian sebagai sequence
diagram.Sequence Diagram proses Watermarking dapat dilihat seperti pada Gambar
3.5.
Gambar 3.5Sequence Diagram Proses Watermarking :Watermarking
Browse File video
File video
:Echo Data Hiding
Echo
:Insertion Echo
Insert Key dan label
Kernel File video
Biner Key dan label
:Hitung MSE dan PSNR
Sistem watermarking memerlukan file video asli, key dan label identitas yang akan
dimasukkan sebagai identitas video. Tahap awal dilakukan pembentukan echo pada
video dengan bantuan kernel (0 dan 1). Fungsi echo adalah sebagai wadah tempat
penyisip dalam bentuk biner.
Sequence Diagram proses Ekstraksi dapat dilihat seperti pada Gambar 3.6.
Gambar 3.6Sequence Diagram Proses Ekstraksi
Sistem ekstraksi memerlukan file video watermark, key dan kode ekstraksi yang akan
dimasukkan untuk mendapatkan label identitas video. Tahap awal dilakukan
pembacaan echo pada video watermark untuk mendapatkan kernel (0 dan 1). Label
penyisip yang peroleh dalam bentuk biner dikonversikan ke ASCII.
Implementasi watermarking dituliskan sebagai pseudocode dibawah ini. :Ekstraksi
Browse File video watermark
File video watermark
Kernel 0 dan 1 :Ekstraksi bit echo
Insert Key dan Kode Ekstraksi
Biner Key dan Kode Ekstraksi
:Hitung RR
Nilai RR
:Pembentukan Label
Video Video_input Label Label_input
For i=1 to sampel_video_max
Kernel=echo_kernel0
If kernel=0 then
Kernel=1
Else
Kernel=0
Endif
bin_label=ASCII_to_Bin (label)
if bin_label=1 then
Kernel 0 bin_label
Else if bin_label=0 then
Kernel 1 bin_label
Endif
Next i
Video_Watermark Video(save)
kd_Ekstr= FileLen(Video)
Jum_bit_label_Aslilen(label_asli)
Keterangan:
User menginput file video yang hendak di-watermarking, serta label sebagai pemberi
identitas. Selanjutnya sistem membuat echo pada file video dengan menggunakan
kernel 0 dan 1. Label kemudian dikonversi menjadi kode biner dan disisipkan pada
echo 0 dan 1 sampai semua biner label habis dan dilakukan penyimpanan file video
ter-watermarking.
Implementasi ekstraksi dituliskan sebagai pseudocode dibawah ini.
video Video_Watermark kodeEks kd_Ekstr
If kernel0 then
bin_label=1
Else
bin_label=0
Endif
ASCII_labelbinToASCII (bin_label)
Next i
Label ASCII_label
Jum_bit_label_Ekstlen(ASCII_label)
Keterangan:
User menginput file video dan kode ekstraksi, selanjutnya sistem membentuk echo 0
dan 1 menggunakan kernel 0 dan 1. Sistem membaca kernel 0 sebagai biner 1 dan
kernel 1 sebagai biner 0 dari label watermark. Setelah semua biner diperoleh, maka
biner label dikonversikan ke ASCII sebagai label watermark.
3.2Perancangan Sistem
Perancangan sistem berdasarkan hasil analisis proses sistem akan diperoleh gambaran
fungsionalitas yang akan diterapkan pada sistem. Berdasarkan gambaran ini suatu
model rancang bangun diwujudkan dalam bentuk flow chartdan rancangan antarmuka
pengguna, dimana rancangan ini nantinya akan diimplementasikan melalui bahasa
pemrograman.
3.2.1 Perancangan Flow Chart
Flowchart adalah bagan alir yang menggambarkan arus data dari program. Flowchart
menggambarkan proses-proses yang akan dilakukan oleh sistem dengan bentuk
3.2.1.1 Flow ChartWatermarking Video
Flow ChartWatermarking Video dapat dilihat seperti pada Gambar 3.7
Gambar 3.7Flow ChartWatermarking
3.2.1.2 Flow Chart Ekstraksi
Flow Chart ekstraksi label dari file video watermark dapat dilihat seperti pada
Gambar 3.8.
Start
Input File Video, Label dan Password
Baca Sampel Audio
Pembuatan Echo dengan Kernel 0 dan 1
Sisipkan setiap kernel untuk data sampel
Konversikan Pesan Biner
Ganti Kernel 1 dengan bit-bit Pesan
Gabung Kernel dengan Data Sampel
Representasi Video watermark Nilai MSE, PSNR, Kode Ekstraksi
Stop
Gambar 3.8Flow Chart Ekstraksi
3.2.2 Perancangan Antarmuka (Interface)
Perancangan antar muka adalah rancangan tampilan yang menghubungkan pengguna
(user) dengan komputer dengan bantuan program. Salah satu syarat pembuatan antar
muka adalah berorientasi pada mudah digunakan (user friendly) serta informatif. Start
Input File Video Watermark, Key dan Kode Ekstraksi
Baca Sampel Audio
Baca Kernel 1 dari Sampel Audio
Konversikan 8 Biner ASCII
Gabung kode ASCII Label
Representasi Label dan Recovery rate
Stop
3.2.2.1Rancangan Menu Utama
Rancangan Menu Utama merupakan tampilan yang pertama kali muncul saat program
dijalankan. Pada rancangan ini terdapat menu Watermarking yang berfungsi untuk
melakukan watermarking terhadap file video, Extractionyang berfungsi untuk
melakukan ekstraksi terhadap file video watermark, Result yang untuk menampilkan
informasi hasil watermarking serta ekstraksi label dari file video, About dan Quit.
Rancangan Menu Utama terlihat seperti pada Gambar 3.9.
Gambar 3.9Rancangan Menu Utama
Keterangan:
1. Menu Watermarkingyaitu program yang berfungsi untuk melakukan proses
watermarking terhadap file video.
2. Menu Extraction yaitu program yang berfungsi untuk melakukan proses
ekstraksi terhadap file video watermark.
3. Menu Result yaitu program yang berfungsi untuk menampilkan hasil
perbandingan watermarking video AVI dan MP4
4. Menu About yaitu program yang berfungsi untuk menampilkan informasi
aplikasi.
5. Menu Quit yaitu program yang berfungsi untuk menutup form Menu Utama
aplikasi.
6. Logo Universitas Sumatera Utara
7. Label Keterangan nama penelitian
Judul Penelitian
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Xxxxxxxxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxx
Watermarking About Quit
1 4 5
7 Extraction
2
Result
3
3.2.2.2Rancangan Form Watermarking
Rancangan Form Watermarking berfungsi sebagai penyisipan label identitas yang
berformat teks ke dalam filevideo digital. Pada rancangan ini terdapat tampilan tombol
untuk pemanggilan file video yang akan di-watermarking. Sebelum proses
watermarking user harus menginput Key serta label penyisip. Output pada proses
watermarking adalah nilai MSE (Mean Squared Error), PSNR (Peak Signal to Noise
Ratio) serta kode ekstraksi yang harus diinput pada saat melakukan ekstraksi.
Rancangan Form Watermarking dapat dilihat seperti pada Gambar 3.10.
Gambar 3.10 Rancangan Form Watermarking
Video Watermark AVI Video Watermark MP4
Keterangan:
1. TextBox berfungsi berisi nama file video AVI yang akan di-watermarking
2. TextBox berfungsi berisi nama file video MP4 yang akan di-watermarking
3. Tampilan Video AVI melalui Windows Media Player
4. Tampilan Video MP4 melalui Windows Media Player
5. TextBox berfungsi berisi nama file video AVI watermark
6. TextBox berfungsi berisi nama file video MP4 watermark
7. TextBox berisi keywatermark
8. TextBox berisi label watermark dalam ASCII
9. TextBox berisi label watermark dalam biner
10. TextBox berisi kode ekstraksi video AVI
11. TextBox berisi kode ekstraksi video MP4
12. Label berisi nilai MSE video AVI
13. Label berisi nilai PSNR video AVI
14. Label berisi nilai MSE video MP4
15. Label berisi nilai PSNR video MP4
3.2.2.3Rancangan Form Extraction
Rancangan form Extraction berfungsi melakukan ekstraksi label penyisip dari file
video yang sudah di-watermarking. Pada tampilan form Extraction yang terdiri dari
opsi pilihan format file video yang hendak diekstraksi dengan memilih tombolLoad.
Tombol Play berfungsi untuk menjalankan video yang dipilih sebelum dan sesudah
dilakukan extraction. Tombol Batal berfungsi untuk membersihkan halaman
Extraction. Sebelum dilakukan proses Extraction, user diharuskan menginput
informasi Key serta kode ekstraksi. Output dari proses Extractionadalah label penyisip
serta nilai Recovery Rate (RR). Rancangan Form Extraction dapat dilihat seperti pada
Gambar 3.11 Rancangan Form Ekstraksi
Keterangan:
1. TextBox berfungsi untuk menampilkan nama file video AVI watermark
2. TextBox berfungsi untuk menampilkan nama file video MP4 watermark
3. Tampilan Video AVI melalui Windows Media Player
4. Tampilan Video MP4 melalui Windows Media Player
5. TextBox berfungsi berisi key ekstraksi file video AVI
6. TextBox berfungsi berisi key ekstraksi file video MP4 Tampilan
Biner Penyisip 11 Biner Penyisipan 12
7. TextBox berisi kode ekstraksi video AVI
8. TextBox berisi kode ekstraksi video MP4
9. Label berisi ASCII label penyisip video AVI
10.Label berisi ASCII label penyisip video MP4
11.Label berisi Biner label penyisip video AVI
12.Label berisi Biner label penyisip video MP4
13.Label berisi ASCII label ekstraksi video AVI
14.Label berisi ASCII label ekstraksi video MP4
15.Label berisi Biner label ekstraksi video AVI
16.Label berisi Biner label ekstraksi video MP4
17.Label berisi nilai Recovery Rate video AVI
18.Label berisi nilai Recovery Rate video MP4
3.2.2.4Rancangan Hasil Pengujian Watermarking
Rancangan Hasil Pengujian Watermarking berfungsi untuk menampilkan hasil
watermarking video AVI dan MP4 berupa menghitung nilai MSE dan PSNR.
Rancangan Hasil Pengujian MSE dan PSNR dapat dilihat seperti pada Gambar 3.12.
Gambar 3.12 Rancangan Hasil Pengujian Watermarking
No FileVideoAsli FileVideoWatermark Label Penyisip MSE PSNR Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx
3.2.2.5Rancangan Hasil Pengujian Ekstraksi
Rancangan Hasil Pengujian Ekstraksi berfungsi untuk menampilkan hasil ekstraksi
label dari video watermark yang berformat AVI dan MP4 berupa menghitung nilai
recovery rate. Rancangan Hasil Pengujian ekstraksi dapat dilihat seperti pada Gambar
3.13.
Gambar 3.13 Rancangan Hasil Pengujian Ekstraksi
3.2.2.6Rancangan About
Rancangan About ini berfungsi menampilkan informasi tentang aplikasi pada
penelitian ini. Rancangan About dapat dilihat seperti pada Gambar 3.14.
Gambar 3.14 Rancangan About
Informasi Watermarking dan ekstraksi video format AVI dan MP4 dengan algoritma Echo Data Hiding
No FileVideoAsli FileVideoWatermark Label Penyisip Label Ekstraksi RR Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx Xx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxx xxxxxx xxxxxxx
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1Implementasi
Implementasimerupakanhasil dari perancangan sistem pada bab sebelumnya yang
berisi tentang proses dan tampilan sistem mencakup keseluruhan bentuk tampilan
pada sistem.
4.1.1 Proses Pembacaan File Video
Sebagai contoh dibawah ini adalah struktur file RIFF (wav)
52 48 46 46 24 08 00 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00
00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00 1e1734 00 20 1f 1e 4a 1d 3b 1f
10 f4 1e f324 e7 23 a6 3c f2 24 f2 11 c0 1a 0d 00 7f 11 00 22 07 3d 3d 0 3d 0 2 9a 2a 4f 3e 3d 00 10 10 10 03 3d 10 10 2 f 10 10 12 00 12 10 25 23 13 00 04 11 23 00 00 12 11 32 2a 2a 9f 25 10 -10 02 12 10 53 13 00 a6 11 12 23 00 0f 10 10 10 12 10 5d 23 13 70 11 26 23 00 01 13 9a 2a 2f 10 10 10 12 10 53 90 56 11 23 00 01 13 0e 22 529a 2a 10 3d 10 02 2f 10 10 10 12 -10 11 33 13 00 07 3d 10 02 3f 10 10 12 12 53 13 30 30 37 07 13 3d 10 02 f 0 10 10 12 -10 53 14 13 00 07 3d 10 02 f 0 10 00 12 26 25
Gambar 4.1Data StreamAudio Wav
Dari file audio dengan format WAV di atas:
a. Empat byte pertama selalu berisi 52 48 46 46 (hexa) yang jika di konvensi
mempunyai arti R =52, I =48, F= 46, F = 46 sama dengan RIFF.
b. Empat byte berikutnya berisi 24 08 00 00 menyatakan ukuran file audio yaitu
24=36, 08=8, 00=0, 00=0 yang sama dengan 36800, maka ukuran filenya
adalah 36800 kb – I kb = 36799 kb.
c. Empat byte berikutnya 57 41 56 45 menyatakan jenis file: 57=W, 41=A, 56=V,
45=E
e. Empat byte berikutnya adalah 10 00 00 00 yang menyatakan panjang
informasi, 10 = 16, 00=0, 00=0, 00=0 semuanya bernilai 16.
f. Empat byte berikutnya adalah 01 00 02 00 yang bernilai 1 dan 2 channel
(stereo).
g. Empat byte berikutnya adalah 22 56 00 00 yang menyatakan sample rate
dengan nilai 22=”, 56=V, 00=0, 00=0.
h. Empat byte berikutnya adalah 88 58 01 00 yang menyatakan byte rate dengan
nilai 22=”, 56=V, 00=0, 00=0.
i. Dua byte berikutnya adalah BlockAlign yang bernilai 04 00 yang menyatakan
yang menyatakan ukuran data untuk satu sample penuh dalam byte. Yang
dimaksud dengan satu sample penuh adalah satu sample yang mewakili nilai
dari sample pada semua channel pada suatu waktu.
j. Dua byte berikutnya adalah nilai bit per sampel (BitsPerSample) yang bernilai
10 00 adalah 16 dan 00 = 16 bit per sampel untuk sampel right channel
maupun untuk sampel left channel.
k. Empat byte berikutnya adalah 64 61 74 61 yang menyatakan ID dengan nilai
64=d, 61=a, 74=t, 61=a dengan arti “data” yang menyatakan data sampel
digital audio.
l. Enam belas (16) byte berikutnya adalah sampel audio right channel sampel 1
sampai sampel ke 4 dengan nilai 1e1734 00 20 1f 1e 4a 1d 3b 1f 10 f4 1e f324.
m. Enam belas (16) byte berikutnya adalah sampel audio left channel sampel 5
sampai sampel ke 8 dengan nilai f2 11 c0 1a 0d 00 7f 11 00 22 07 3d 3d 0 3d
0.
n. Selanjutnyaadalah data sampel audio.
Langkah-langkah watermarking dengan algoritma echo data hiding adalah
sebagai berikut:
1. Input file video asli (cover vidio) dan key.
2. Pemisahan frame video dengan sampleaudio.
3. Pembacaan sample audio dari frame audio
4. Hitung nilai biner untuk setiap sampleaudio.
5. Konversikan label teks dan password ke nilai biner.
7. Sisipkan nilai biner label ke dalam echo audio.
8. Simpan file video watermark.
Sebagai contoh 16 byte dari sample audio diatas: 1e1734 00 20 1f 1e 4a 1d 3b 1f 10 f4
1e f324 disisipi dengan pesan HEY. Sample audio dikonversikan ke biner menjadi:
1e = 00011110
17 = 00010001
34 = 00110100
00 = 00000000
20 = 10000000
If = 00011111
Ie = 00011110
4a = 01001010 1d = 00011101
3b = 00111011
1f = 00011111
10 = 00010000
f4 = 11110100
1e = 00011110
f3 = 11110011
24 = 00100100
Biner pesan “HEY” adalah 01001000 01000101 01011001 Biner key “123” adalah 00000001 00000010 00000011
Jadi, biner penyisip adalah 00000001 00000010 00000011 00100011 01001000
01000101 01011001
Dengan biner 00100011 (dalam ASCII adalah “#”) sebagai penanda batasan antara biner key dan biner pesan yang akan disisipkan.
Pembagian data sampel menjadi 4 blok dimana masing-masing berisi 16 byte/4 yaitu 4
data.
Blok-1
1e = 00011110
34 = 00110100
00 = 00000000
Blok-2
20 = 10000000
If = 00011111
Ie = 00011110
4a = 01001010 Blok-3
1d = 00011101
3b = 00111011
1f = 00011111
10 = 00010000
Blok-4
f4 = 11110100
1e = 00011110
f3 = 11110011
24 = 00100100
Pembuatan kernel 0 dan 1 dari data sampel adalah:
Pada setiap blok ditambahkan kernel 0 dan 1 secara berselang-seling, dimana Blok-1
dan Blok-3 ditambah kernel 0 sedangkan Blok-2 dan Blok-4 ditambah kernel 1
sebagai berikut:
Blok-1
1e = 00011110
17 = 00010001
34 = 00110100
00 = 00000000
0 = 00000000 <Kernel 0>
Blok-2
20 = 10000000
If = 00011111
Ie = 00011110
1 = 00000001 <Kernel 1>
Blok-3
1d = 00011101
3b = 00111011
1f = 00011111
10 = 00010000
0 = 00000000 <Kernel 0>
Blok-4
f4 = 11110100
1e = 00011110
f3 = 11110011
24 = 00100100
1 = 00000001 <Kernel 1>
Selanjutnya sisipkan biner vektor penyisip 00000001 00000010 00000011 00100011
01001000 01000101 01011001 ke dalam setiap blok, dimana bit 0 ke dalam kernel 0
dan bit 1 ke dalam bit 1.
Langkah-langkah ekstraksi adalah sebagai berikut:
1. Input file video watermark,key serta kode ekstraksi.
2. Pembacaan header file video.
3. Baca sample audio dari stream pada posisi kode ekstraksi.
4. Baca bit terakhir atau echo.
5. Hitung nilai biner untuk setiap echo pada sample audio.
6. Rekonstruksi biner setiap 8 bit ke ASCII menjadi label.
7. Tampilkan label.
Selanjutnya pesan “HEY” dalam biner adalah: 01001000 01000101 01011001
H : 01001000
E : 01000101
Y : 01011001
0 1 0 0 1 0 0 0
Gambar 4.2 Sinyal awal yang dipecah menjadi beberapa bagian kecil
Pada Gambar 4.2 sinyal asli dibagi menjadi tujuh bagian yang diberi label a, b,
c, d, e, f, dan h. Pada bagian a, c, d, dan f akan disisipkan bit 0. Untuk itu akan
digunakan kernel 0 sebagai fungsi sistem pada setiap bagian tersebut. Demikian
sebaliknya bit 1 akan disisipkan pada bagian b, e, g dan h maka akan digunakan kernel
1 sebagai fungsi sistem pada bagian tersebut. Untuk mencapai hasil yang tidak dapat
didengar oleh pendengaran manusia, maka dapat dibuat sinyal echo 1 dengan
melakukan pembuatan echo pada sinyal asli menggunakan kernel 1 dan membuat
sinyal echo 0 dengan menggunakan kernel 0 sebagai fungsi sistem terhadap sinyal
asli. Hasil dari sinyal sinyal tersebut dapat dilihat pada Gambar 4.3.
Gambar 4.3 Pembuatan sinyal echo 1 dan sinyal echo 0
Untuk menggabungkan dua sinyal tersebut, maka dibuat dua sinyal mixer. Sinyal
mixer terdiri dari nol dan satu tergantung dari bit yang ingin disembunyikan pada
Gambar 4.4 Sinyal Mixer
Sinyal mixer 0 kemudian dikalikan dengan sinyal echo 0 sedangkan sinyal
mixer 1 dikalikan dengan sinyal echo 1, kemudian kedua hasil tersebut dijumlahkan.
Sebagai catatan bahwa sinyal mixer 0 merupakan komplemen dari sinyal mixer 1 dan
transisi antara masing masing sinyal adalah bertahap atau melandai. Jumlah antara dua
sinyal mixer tersebut selalu 1. Ini akan memberikan transisi yang halus antara masing
masing bagian yang dikodekan dengan bit yang berbeda, dan mencegah perubahan
yang mencolok pada hasil gabungan sinyal.
4.1.2 Perhitungan Mean Square Error (MSE), Peak Signal to Noise Ratio (PSNR) dan Recovery Rate (RR)
MSE didalam statistik merupakan kuadrat rata-rata dari error yaitu perbedaan antara
sinyal asli dengan sinyal estimasi. Sinyal estimasi merupakan sinyal output dari
sistem. Semakin kecil nilai MSE maka sinyal asli dengan sinyal estimasi mempunyai
kesamaan. MSE digunakan untuk mengukur rata-rata kesalahan yang berasal dari
kuantitas yang akan diestimasi.
MSE = ∑ )2
Dimana MSE = Mean Square Error
N = jumlah data sampel
S = sinyal baseline (nilai data cover audio)
Se = sinyal estimasi (nilai data watermark audio)
Jika diketahui jumlah sampel (N) = 10, maka perhitungan nilai sinyal Baseline dan
Tabel 4.1 Perhitungan Nilai Sinyal Baseline dan Estimasi
S Se (S-Se) (S-Se)2
S1 = 50 S1e = 50 S-Se = 0 0
S2 = 40 S2e = 55 S-Se = 15 225
S3 = 30 S3e = 30 S-Se = 0 0
S4 = 0 S4e = 15 S-Se = 15 225
S5 = 80 S5e = 75 S-Se = 5 25
S6 = 110 S6e = 100 S-Se = 10 100
S7 = 30 S7e = 30 S-Se = 0 0
S8 = 20 S8e = 20 S-Se = 0 0
S9 = 10 S9e = 20 S-Se = 10 100
S10 = 10 S10e = 10 S-Se = 0 0
∑ (S-Se)2 675
Jadi, nilai MSE = 1/10 x (675) = 67.5
Setelah nilai MSE diperoleh, maka selanjutnya dapat dilakukan perhitungan nilai
PSNR dengan rumus PSNR = 20 x log10 (
√ ) dengan Nmax = 110
PSNR = 20 x log (
√
PSNR = 20 x log (
PSNR = 20 x log(13.39)
PSNR = 20 x 1.12
PSNR = 22,53
Bit label watermarking “HEY” berjumlah = 24 bit dan bit label yang berhasil
diekstraksi = 24 bit maka, perhitungan recovery rate dapat dihitung dengan rumus
( )
Recovery Rate (RR)= (24/24) x 100 %= 100 %
Berikut ini adalah tampilan dan penjelasan dari form – form yang terdapat pada
aplikasi watermarking pada video AVI dengan MP4 menggunakan algoritma Echo
Data Hiding.
4.2.1 Tampilan Menu Utama
Tampilan Menu Utama merupakan tampilan awalyang muncul setelah menjalankan
program watermarking video. Tampilan ini berisi menu Watermarking,Extraction,
Result, Aboutdan Quit. Tampilan Menu Utama dapat dilihat pada Gambar4.5.
Gambar 4.5 Tampilan Menu Utama
4.2.2 Tampilan Form Watermarking
Dari Menu Utama pada Gambar 4.1 terdapat sub menu Watermarking berfungsi untuk
melakukan proses penyisipan pesan ke dalam file video AVI dan MP4 seperti pada
Gambar 4.6 Tampilan Form Watermarking
4.2.3 Tampilan Form Extraction
Dari Menu Utama terdapat sub menu Extraction yang berfungsi untuk melakukan
deteksi label dari file video AVI dan MP4 yang ter-watermarking seperti pada
Gambar 4.7.
4.2.4 Tampilan Hasil Pengujian Watermarking
Tampilan Hasil Pengujian Watermarkingmerupakan informasi hasil penyisipan label
identitas pada file video AVI maupun MP4. Tampilan Hasil Pengujian Watermarking
dapat dilihat pada Gambar 4.8.
Gambar 4.8 Tampilan Hasil Pengujian Watermarking
4.2.5 Tampilan Hasil Pengujian Extraction
Tampilan Pengujian Extractionmerupakan informasi hasil ekstraksi label identitas dari
file video AVI maupun MP4 yang ter-watermarking. Tampilan Hasil Pengujian
Gambar 4.9 Tampilan Hasil Pengujian Extraction
4.2.6 Tampilan About
Tampilan About berfungsi untuk menampilkan keterangan tentang penulis skripsi
watermarkingvideo menggunakan algoritma Echo Data Hiding(EDH). Tampilan
About dapat dilihat pada Gambar 4.10.
4.3 Hasil Implementasi dan Pengujian
Pengujian sistem berfungsi untuk mengetahui kinerja dari program dalam melakukan
watermarking dan ekstraksi file video dengan algoritma Echo Data Hiding.
4.3.1 Hasil Pengujian Watermarking
Pengujian Watermarking adalah melakukan penyisipan file video dengan panjang
pesan yang bervariasi. Tampilan hasil pengujian watermarking file video dapat dilihat
pada Gambar4.11.
Gambar 4.11 Tampilan Hasil Pengujian Watermarking beserta file video
Pada proses watermarking dengan menggunakan algoritma Echo Data Hiding,
dilakukan penyisipan label identitas berupa teks yang kemudian diubah ke dalam nilai
biner dan disisipkan pada bit-bit sample audio yang juga berupa nilai biner.Setelah
proses penyisipan label berhasil dilakukan, maka diperoleh nilai MSE dan PSNR pada
masing-masing file video AVI dan MP4 sesuai dengan formula yang digunakan dalam
perhitungan nilai MSE dan PSNR. Berikut hasil perolehan nilai MSE dan PSNR dari
proses watermarking pada AVI dan MP4 menggunakan algoritma Echo Data Hiding
MSE = ∑ )2
Jika diketahui jumlah sampel (N) = 10 dan ∑ (S-Se)2 = 675
maka nilai MSE = 1/10 x (675) = 67.5
Setelah nilai MSE diperoleh, maka selanjutnya dapat dilakukan perhitungan nilai
PSNR dengan rumus PSNR = 20 x log10 ( √ ) dengan Nmax = 110
PSNR = 20 x log (
√
PSNR = 20 x log (
PSNR = 20 x log(13.39)
PSNR = 20 x 1.12
PSNR = 22,53
4.3.2 Hasil Pengujian Ekstraksi
Pengujian Extraction adalah melakukan pengeluaran/ pengembalianlabel dari dalam
file video watermark. Tampilan Pengujian Extraction dapat dilihat pada Gambar 4.12.
Gambar 4.12 Tampilan Hasil Pengujian Ekstraksi beserta file video
Pada proses ekstraksi, label penyisip berupa nilai biner dalam representasi teks
penyisip yang telah disisipkan pada proses watermarking sebelumnya. Nilai
pengembalian label penyisip melalui proses ekstraksi ini yang dimaksud sebagai nilai
Recovery Rate (RR). Berikut perolehan hasil dari ekstraksi berupanilai RR:
Bit label watermarking “FASILKOM-TI” berjumlah = 88 bit dan bit label yang berhasil diekstraksi = 88 bit maka, perhitungan Recovery Rate dapat dihitung dengan
( )
Recovery Rate= (88/88) x 100% = 100%
Setelah melakukan pengujian terhadap sistem maka diperoleh hasil pengujian. Hasil
pengujian sistem terhadap proses watermarking dan ekstraksi pada 6 buah sample
video AVI dan 6 buah sample video MP4 memperoleh nilai rata-rata untuk
parameter-parameter yang diuji disajikan pada tabel 4.2.
Tabel 4.2 Nilai Rata-rata MSE, PSNR dan RR
No.
AVI MP4
MSE PSNR RR MSE PSNR RR
1. 41,77 31,92 100 59,08 32,55 100
2. 38,10 32,32 100 53,89 32,95 100
3. 44,37 31,66 100 62,74 32,29 100
4. 26,44 33,91 100 37,39 34,54 100
5. 51,23 31,04 100 72,45 31,66 100
6. 46,80 31,43 100 66,19 32,06 100
Rata-rata
41,45 32,05 100 58,62 32,68 100
Nilai MSE rata-rata untuk video format AVI : 41.45
Nilai PSNR rata-rata untuk video format AVI : 32,05
Nilai Recovery Rate rata-rata video format AVI : 100
Nilai MSE rata-rata untuk video format MP4 : 58,62
Nilai PSNR rata-rata untuk video format MP4 : 32,68
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah melakukan studi literatur, analisis dan perancangan sistem serta melalui
implementasi dan pengujian sistem, maka diperoleh kesimpulan sebagai berikut:
1. Sistem dapat melakukan watermarking dan ekstraksi label teks yang disisipkan
pada dua file video yang berformat AVI serta MP4 dengan baik dan tepat.
2. Pengujian sistem terhadap 6 buah sample video AVI dan 6 buah sample video
MP4 memperoleh nilai rata-rata untuk parameter-parameter yang diuji sebagai
berikut:
Nilai MSE rata-rata untuk video format AVI : 41.45
Nilai PSNR rata-rata untuk video format AVI : 32,05
Nilai Recovery Rate rata-rata video format AVI : 100
Nilai MSE rata-rata untuk video format MP4 : 58,62
Nilai PSNR rata-rata untuk video format MP4 : 32,68
Nilai Recovery Rate rata-rata video format MP4 : 100
3. Dari hasil pengujian sistem dapat dilihat bahwa nilai rata-rata MSE untuk file
video MP4 lebih besar dibandingkan dengan video AVI. Nilai MSE yang
besar, menyatakan bahwa penyimpangan atau selisih antara frame video hasil
penyisipan dengan frame video aslinya cukup besar. Hal ini menunjukkan
bahwa metode Echo Data Hiding berjalan lebih baik pada video AVI
Sebaliknya, nilai rata-rata PSNR untuk file video MP4 lebih besar
dibandingkan dengan video AVI. Nilai PSNR yang besar menunjukkan
kualitas yang lebih baik. Semakin besar nilai PSNR, semakin baik pula hasil
yang diperoleh pada tampilan citra hasil. Hal ini menunjukkan bahwa metode
Echo Data Hiding berjalan lebih baik pada video MP4 dibandingkan dengan
video AVI ditinjau dari parameter PSNR.
Sedangkan untuk nilai rata-rata RR untuk kedua video adalah sama dengan
nilai pengembalian yang bernilai sama.
5.2 Saran
Adapun saran-saran untuk pengembangan penelitian ini di masa yang akan datang
adalah:
1. Agar penelitian selanjutnya dapat mencoba menyisipkan file lain selain file
ekstensi .txt, seperti logo citra ataupun suara.
2. Mencoba parameter lain selain Recovery Rate (RR), Mean Squared Error
(MSE), dan Peak Signal to Noise Ratio (PSNR) yang telah digunakan pada
penelitian ini. Parameter lainnya seperti, Robust VideoWatermarking dalam
BAB 2
TINJAUAN PUSTAKA
2.1Video Digital
Untuk memahami tentang video digital, harus dipahami dulu pengertian
mengenai video itu sendiri. Video dapat didefinisikan sebagai 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. Di sisi lain, komputer digital hanya dapat menyimpan dan mengolah data
yang bersifat biner. Untuk itu di kalangan industri komputer didefinisikan warna
dalam besaran 24-bit yang dapat digunakan untuk menyimpan sekitar 16,7 juta
kemungkinan warna yang berbeda [8].
Dengan demikian data video dapat disimpan secara digital sebagai titik-titik
yang masing-masing memiliki warna tertentu dan titik-titik tersebut jika disusun
sebagai satu kesatuan akan membentuk suatu gambar secara utuh.
Kemajuanteknologi yang dicapai pada saat ini telah
memungkinkan komputer pribadi (Personal Computer) memiliki kemampuan
untukmenampilkan informasi berupa video yang berisi gambar bergerak beserta
suaranya.
Untuk menyimpan data video secara digital, telah diciptakan berbagai
format penyimpanan dan metode kompresi-dekompresi. Perangkat lunak yang
digunakan untuk melakukan kompresi dan dekompresi terhadap data video digital
dengan menggunakan teknik tertentu disebut juga dengan codec yang merupakan
singkatan dari compressor-decompressor. Sampai saat ini masih dilakukan
menyimpan data video digital dengan seefisien mungkin. Di antara format video
digital yang populer dan banyak digunakan pada saat ini adalah: AVI, QuickTime,
Indeo, Cinepak dan MPEG [2]. MPEG memiliki beberapa jenis ekstensi seperti
MPEG-1, MPEG-2,MPEG-4 dan sebagainya, jenis-jenis tersebut semakin
berkembang seiring pesatnya teknologi multimedia saat ini.
File videodigital terdiri dari 2 bagian utama yaitu gambar (visual) dan suara
(audio), kedua aspek tersebut digabungkan menjadi satu kesatuan yang disebut file
video. Pada umumnya file video sekarang ini banyak yang telah mengalami proses
kompresi. Salah satu format multimedia yang dibentuk berdasarkan proses kompresi
adalah format AVI (AudioVideoInterleave). Banyak file video yang dikompresi
dengan ukuran yang tingkat perbedaannya sangat jauh, sehingga kualitas gambar yang
dihasilkan menjadi berbeda kualitasnya (menurun) dengan file aslinya. Algoritma
yang tersedia untuk melakukan kompresi tersebut juga sangat beragam, penggunaan
algoritma itu biasanya lebih mengutamakan efisiensi pengecilan ukuran file, akan
tetapi juga ada yang mempertahankan kualitas dari file multimedia tersebut.Pada file
AVI terdapat 3 bagian utama yang merupakan komponen penyusun audio dan visual
pada file AVI yaitu AVI Header, AVI Stream dan AVI Frame.
AVI (Audio Video Interleaved) adalah format video yang paling populer, karena
kwalitas gambar yang di berikan sangat baik. AVI sendiri diperkenalkan oleh
Microsoft pada tahun 1992 sebagai bagian dari teknologi Video for Windows
miliknya. File AVI menyimpan data audio dan video pada struktur interleaved. File ini
hanya berupa kontainer - dan data audio video dapat dikompres menggunakan
berbagai codec. Kualitas dan kapasitas tergantung pada codec dan secara khusus
codec yang digunakan adalah MPEG, Divx atau WMV. Video dengan format MPEG
adalah format kompresi yang distandarisasi oleh Moving Picture Experts Group yang
terbentuk oleh 350 perusahaan dan organisasi dimana ukuran format MPEG lebih
kecil dari ukuran format AVI.
File AVI dimulai dengan header utama,header ini ditandai dengan 4 karakter
kode. Header mengandung informasi utama yang terdapat pada file AVI, yaitu
AVI (misal: Hasindex, Mustuseindex, Copyrighted), metode kemampuan file AVI
(misal: can read, canwrite, allkeyframe, nocompression), jumlah stream pada file,
sebagai contoh pada file yang mempunyai audio dan visual akan mempunyai 2
stream, ukuran buffer yang digunakan untuk menyimpan data file AVI pada memori,
tinggi dan lebar dari sekuensial file AVI, skala waktu yang digunakan pada
keseluruhan file AVI, jumlah sampel dari file AVI, panjang / lama waktu file AVI,
jumlah stream yang ditambahkan atau dihilangkan dari file serta deskripsi tipe file.
Sedangkan AVI stream terdiri dari 2 jenis yaitu streamvideo dan streamaudio,
streamaudio tidak harus terdapat di dalam suatu file AVI. Pada bagian streamvideo ini
berisi data yaitu tipe stream yang didefinisikan dengan 4 karakter kode, handler yang
menangani kompresi saat file disimpan, kode untuk metode penggunaan stream
(misal: AVIstreamInfodisabled, AVIstreaminfoenabled), metode, prioritas, bahasa
yang digunakan oleh stream, skala waktu yang digunakan, jumlah sampel stream,
posisi frame awal, panjang / lama waktu stream, spesifikasi ukuran dari pergeseran
audio dan video data pada file AVI, ukuran buffer yang digunakan untuk menyimpan
data file AVI pada memori, kualitas data video pada stream, ukuran sebuah sampel
data pada stream, dimensi frame, jumlah dari proses pengeditan stream yang pernah
dilakukan, jumlah dari proses pengeditan format stream yang pernah dilakukan serta
deskripsi nama stream.
Frame pada streamvideo yang terdapat pada file AVI merupakan suatu data
yang berbentuk DIB (Device Independent Bitmap). Bentuk DIB secara umum terdiri
dari 3 bagian utama yaitu bitmap file header yang berisi informasi tentang tipe,
ukuran, dan layout dari file DIB, bitmap info yang terdiri dari 2 struktur utama yaitu
bitmap info header dan RGB-quad, serta data piksel-piksel penyusun gambar yang
terdapat pada frame.
2.1.1 Format File AVI (Audio Video Interleaved)
Format file AVI didefinisikan oleh Microsoft Corporation. Secara umum, file AVI
dapat mengandung dua jenis aliran data yangdisebut juga dengan stream, yaitu stream
video saja tanpa harus memilikistream audio[8].Semuafile AVI minimalharus
memiliki dua buah chunk list. Dua chunk list inidigunakan untuk menyimpan format
dari stream dan isi data dari stream yangterdapat di dalam file. File AVI juga dapat
memiliki chunk index. Chunk index iniberisi informasi mengenai lokasi dari
chunk-chunk data yang ada di dalam file. Data yangterdapat di dalam file AVI merupakan
data audio dan data video yang disimpan
untuk dimainkan secara berselingan antara audio dengan video-nya sehingga
gambar video yang dijalankan akan tampak secara bersamaan dengan suara dari
audio-nya.
File AVI memiliki beberapa karakteristik yang penting untuk diperhatikan.
Karakteristik yang penting ini meliputi:
a. Ukuran lebar dan tinggi dari gambar video dalam satuan pixel. Semakin besar
ukuran gambar yang digunakan, akan semakin besar pula kapasitas yang
dibutuhkan oleh media penyimpannya. Ukuran yang digunakan umumnya
memiliki perbandingan lebar dibanding tinggi sebesar 4 : 3, misalnya: 160 x
120, 240 x 180, dan 320 x 240.
b. Laju frame (frame rate) dari stream video dalam satuan frame per detik (fps).
Semakin tinggi laju frame yang digunakan, semakin halus dan semakin alami
gambar yang dihasilkan, namun semakin besar pula kapasitas yang dibutuhkan
oleh media penyimpannya. Laju frame yangumum digunakan adalah 10, 12, 15,
24, 25, dan 30 fps.
c. Resolusi warna dari stream video dalam satuan bit per pixel (bpp). Semakin
tinggi resolusi warna, semakin bagus gambar yang dihasilkan, namun semakin
besar pula kapasitas yang dibutuhkan oleh media penyimpannya. Resolusi yang
umum digunakan adalah 4 bpp, 8 bpp, 16 bpp, dan 24 bpp.
d. Ukuran sampel dari stream audio dalam satuan bit. Ukuran sampel yang umum
digunakan adalah 8-bit dan 16-bit. Semakin tinggi ukuran sampel, semakin
tinggi pula kualitas suara yang dihasilkan, namun semakin besar pula kapasitas
e. Laju sampel (sample rate) dari stream audio dalam satuan Hz. Laju sampel yang
umum digunakan adalah 11025 Hz, 22050 Hz, dan 44100 Hz. Semakin tinggi
laju sampel, semakin bagus kualitas suara yang dihasilkan, namun semakin
besar pula kapasitas yang dibutuhkan oleh media penyimpannya.
f. Jumlah kanal dari stream audio. Untuk audio mono menggunakan 1 kanal,
sedangkan untuk stereo menggunakan 2 kanal.
2.1.2 Format Video MPEG
Video format MPEG merupakan file video yang sudah mengalami kompresi.
Teknologi kompresi dapat dilakukan pada audio atau video dengan memiliki standar
kompresi tertentu. MPEG salah satu standar kompresi video yang mengembangkan
standar pengkodean citra bergerak. MPEG memiliki beberapa jenis seperti MPEG-1,
MPEG-2,MPEG-4 dan sebgainya, jenis-jenis tersebut semakin berkembang seiring
pesatnya teknologi multimedia saat ini [5].
1. MPEG-1
Seperti halnya kompresi MPEG-2, kompresi MPEG-1 merupakan metode
kompresi yang diperuntukkan bagi distribusi video dan merupakan standar MPEG
versi pertama. Kompresi ini memiliki ukuran frame size 352x240 pixel. Kompresi
ini masih dipakai sebagai acuan standar untuk VCD, CD-ROM dan web video.
2. MPEG-2
MPEG merupakan singkatan dari Motion Pictures Expert Group, sebuah
organisasi para professional dalam bidang film dan video yang menentukan
peraturan standar industri dalam bidang ini, sedangkan angka 2 menyatakan versi
dari standar ini (versi 2). MPEG-2 dapat menyajikan video dengan kualitas yang
tinggi, mendukung kecepatan transfer lebih dari 8 Mbps. MPEG-2 ideal untuk
DVD yang memiliki data rate sebesar 9,8 Mbps. Kompresi MPEG-2 ditujukan
untuk distribusi video bukan untuk konsumsi editing video. Jadi dalam proses
editing video kita menggunakan kompresi DV25, untuk kemudian dikompresi