• Tidak ada hasil yang ditemukan

Perbandingan Hasil Watermarking Pada Video Avi Dengan Mp4 Menggunakan Algoritma Echo Data Hiding

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Hasil Watermarking Pada Video Avi Dengan Mp4 Menggunakan Algoritma Echo Data Hiding"

Copied!
19
0
0

Teks penuh

(1)

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 frmEkstraksi.Show()

End Sub End Class

2.Watermarking

Imports System.Data.OleDb Public Class frmMain

Dim NmFileAvi As String, NmFileAvi1 As String, NmFileMp4 As String, _ NmFileMp41 As String

Dim IDFile As Integer, IDData As Integer Dim folderResume As String

(2)

Dim DataSampel As Single Sub CariID()

folderResume = Application.StartupPath & "\RESUME_VIDEO\"

CMD = New OleDbCommand("Select * from [File] order by IDFile desc", Conn)

RD = CMD.ExecuteReader() RD.Read()

If RD.HasRows = True Then

IDFile = RD.Item("IDFile") + 1 Else

IDFile = 1 End If

RD.Close() CMD.Dispose()

End Sub

Sub CariIDData()

CMD = New OleDbCommand("Select * from DataFile order by IDData desc", Conn)

RD = CMD.ExecuteReader() RD.Read()

If RD.HasRows = True Then

IDData = RD.Item("IDData") + 1 Else

IDData = 1 End If

RD.Close() CMD.Dispose()

End Sub

Sub RefreshPlayList() Dim i As Integer

lvwPlayList.Items.Clear()

With WMP.currentPlaylist 'memasukkan k listview For i = 0 To .count - 1

lvwPlayList.Items.Add(.Item(i).getItemInfo("Title")).SubItems.Add(.Item(i) _ .getItemInfo("Artist"))

lvwPlayList.Items(i).ForeColor =

IIf(WMP.currentMedia.isIdentical(WMP.currentPlaylist.Item(i)), Color.Red, Color.Black)

Next End With

End Sub

Private Sub mnuOpenFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuAddFile.Click

Dim i As Integer

With dlgOpenFile .FileName = ""

.Filter = "File Video|*.mp4;*.mpg;*.mpeg;*.mov;*.avi|Playlist Files|*.m3u"

If .ShowDialog = 1 Then

If sender Is mnuOpenFile Then WMP.currentPlaylist.clear()

Try

(3)

.currentPlaylist.appendItem(WMP.newMedia(.FileNames(i))) NmFileAvi = .FileName

lblNmFileAvi1.Text = NmFileAvi Next

Catch ex As Exception MsgBox(ex.Message) End Try

WMP.Ctlcontrols.play() RefreshPlayList() End If

End With End Sub

Private Sub lvwPlayList_DoubleClick(ByVal sender As Object, ByVal e As _ System.EventArgs)

If lvwPlayList.SelectedItems.Count = 0 Then Exit Sub Dim i As Integer

For i = 0 To WMP.currentPlaylist.count - 1

If i = lvwPlayList.SelectedItems(0).Index Then WMP.Ctlcontrols.playItem(WMP.currentPlaylist.Item(i)) Next

End Sub

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)

Next

With WMP.currentMedia

s = "URL" & vbTab & ": " & .getItemInfo("SourceURL") & vbCrLf s &= "Size" & vbTab & ": " & .getItemInfo("FileSize") & vbCrLf s &= "Type" & vbTab & ": " & .getItemInfo("FileType") & vbCrLf & vbCrLf

s &= "Title" & vbTab & ": " & .getItemInfo("Title") & vbCrLf s &= "Artist" & vbTab & ": " & .getItemInfo("Artist") & vbCrLf s &= "Album" & vbTab & ": " & .getItemInfo("Album") & vbCrLf s &= "Genre" & vbTab & ": " & .getItemInfo("Genre") & vbCrLf s &= "Year" & vbTab & ": " & .getItemInfo("WM/Year") & vbCrLf & vbCrLf

s &= "Bit Rate" & vbTab & ": " & .getItemInfo("BitRate") & vbCrLf s &= "Duration" & vbTab & ": " & .durationString & vbCrLf

s &= "Dimensi" & vbTab & ": " & .imageSourceHeight * .imageSourceWidth

txtDetails.Text = s End With

End Sub

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

(4)

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))

cmdProses.Enabled = False cmdProses1.Enabled = False Call KoneKsi()

CMD = New OleDbCommand("Delete from [File] where st='1'", Conn) RD = CMD.ExecuteReader

RD.Close() CMD.Dispose()

ProgressBar1.Minimum = 0 ProgressBar1.Maximum = 100 ProgressBar1.Value = 0 Label3.Visible = False ProgressBar1.Visible = False ProgressBar2.Minimum = 0 ProgressBar2.Maximum = 100 ProgressBar2.Value = 0 Label9.Visible = False ProgressBar2.Visible = False End Sub

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

Private Sub cmdBrowseAvi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBrowseAvi.Click

Dim i As Integer eks = ""

With dlgOpenFile .FileName = ""

.Filter = "File Video AVI|*.avi|Playlist Files|*.avi" If .ShowDialog = 1 Then

(5)

Try

For i = 0 To UBound(.FileNames) 'memasukkan k playlist

WMP.currentPlaylist.appendItem(WMP.newMedia(.FileNames(i))) NmFileAvi = .FileName

lblNmFileAvi1.Text = NmFileAvi Call CariID()

NmFileAvi1 = folderResume & "FileWM" & IDFile & ".avi" lblNmFileAvi2.Text = NmFileAvi1

eks = "AVI" Call AcakAVI() Next

Catch ex As Exception MsgBox(ex.Message) End Try

WMP.Ctlcontrols.pause() RefreshPlayList() End If

End With WMP.Focus() WMP.Select() End Sub

Private Sub cmdBrowseMP4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBrowseMP4.Click

Dim i As Integer eks = ""

With dlgOpenFile .FileName = ""

.Filter = "File Video mp4|*.mp4|Playlist Files|*.mp4" If .ShowDialog = 1 Then

If sender Is mnuOpenFile Then WMP1.currentPlaylist.clear() Try

For i = 0 To UBound(.FileNames) 'memasukkan k playlist

WMP1.currentPlaylist.appendItem(WMP1.newMedia(.FileNames(i))) NmFileMp4 = .FileName

lblNmFileMp41.Text = NmFileMp4 Call CariID()

NmFileMp41 = folderResume & "FileWM" & IDFile & ".mp4" lblNmFileMp42.Text = NmFileMp41

eks = "MP4" Call AcakMP4() Next

Catch ex As Exception MsgBox(ex.Message) End Try

WMP1.Ctlcontrols.pause() RefreshPlayList()

End If End With End Sub

Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

(6)

Private Sub cmdProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdProses.Click

cmdProses.Enabled = False ProgressBar1.Minimum = 0 ProgressBar1.Maximum = 100 ProgressBar1.Value = 0 Call KonversiBIN() Call CariID()

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)

RD = CMD.ExecuteReader() RD.Close()

CMD.Dispose()

Call CariIDData()

CMD = New OleDbCommand("Insert into DataFile (IDData,

NmFileWM,KdEks,strKey) values (" & IDData & ",'" & NmFileAvi1 & "','" & lblKdEks.Text & "','" & txtKey.Text & "')", Conn)

RD = CMD.ExecuteReader() RD.Close()

CMD.Dispose()

End Sub

Sub KonversiBIN() Label2.Text = "" Label7.Text = ""

Dim binKey As New ASCIItoBIN(txtKey.Text) Label2.Text = binKey.convertASCIItoBIN

Dim binLabel As New ASCIItoBIN(txtLabel.Text) Label7.Text = binLabel.convertASCIItoBIN End Sub

Private Sub txtLabel_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtLabel.TextChanged

On Error Resume Next

If Len(txtLabel.Text) < 1 Then Exit Sub

End If

Dim binLabel As New ASCIItoBIN(txtLabel.Text) 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

(7)

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)

RD = CMD.ExecuteReader() RD.Close()

CMD.Dispose()

Call CariIDData()

CMD = New OleDbCommand("Insert into DataFile (IDData,

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

lblNmFileMp41.Text = "" lblKdEks1.Text = "" lblMSE1.Text = "" lblPSNR1.Text = "" lblNmFileMp42.Text = "" ProgressBar1.Minimum = 0 ProgressBar1.Maximum = 100 ProgressBar1.Value = 0 ProgressBar2.Minimum = 0 ProgressBar2.Maximum = 100 ProgressBar2.Value = 0 End Sub

Private Sub cmdKeluar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click

Close() End Sub

Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBatal.Click

lblNmFileAvi1.Text = "" lblNmFileAvi2.Text = "" lblKdEks.Text = "" lblMSE.Text = "" lblPSNR.Text = ""

(8)

ProgressBar1.Value = 0 Label3.Visible = False ProgressBar2.Minimum = 0 ProgressBar2.Maximum = 100 ProgressBar2.Value = 0 Label9.Visible = False End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

If Timer1.Enabled = True Then If eks = "AVI" Then

ProgressBar1.Visible = True Label3.Visible = True

ProgressBar1.Value = ProgressBar1.Value + 10 If ProgressBar1.Value >= 100 Then

Timer1.Enabled = False ProgressBar1.Visible = False Label3.Visible = False End If

ElseIf eks = "MP4" Then

ProgressBar2.Visible = True Label9.Visible = True

ProgressBar2.Value = ProgressBar2.Value + 10 If ProgressBar2.Value >= 100 Then

Timer1.Enabled = False ProgressBar2.Visible = False Label9.Visible = False End If

End If End If

End Sub

Public Function GetSampel(ByVal Min As Integer, ByVal Max As Integer) As Integer

'Dim Generator As System.Random = New System.Random() Static Generator As System.Random = New System.Random() Return Generator.Next(Min, Max)

End Function Sub AcakAVI()

Dim randoms(1000) As Integer

ListBox1.Items.Add("No Sampel Audio AVI") For i As Integer = 0 To randoms.Length - 1 randoms(i) = GetSampel(1, PictureBox1.Width) ListBox1.Items.Add(randoms(i))

Dim binSampel As New ASCIItoBIN(randoms(i)) ListBox1.Items.Add(binSampel.convertASCIItoBIN)

Next End Sub Sub AcakMP4()

Dim randoms(1000) As Integer

ListBox2.Items.Add("No Sampel Audio MP4") For i As Integer = 0 To randoms.Length - 1 randoms(i) = GetSampel(1, PictureBox2.Width) ListBox2.Items.Add(randoms(i))

(9)

Next End Sub

End Class

3. Ekstraksi

Imports System.Data.OleDb

Public Class frmEkstraksi Dim NmFileMP4 As String Dim NmFileAvi As String Dim KdEksSisip As String Dim LabelSisip As String Dim strKeySisip As String Dim eks As String

Dim JumLabelSisip As Integer 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

Call KoneKsi() Call Bersih()

cmdEkstraksi.Enabled = False End Sub

Sub Bersih() eks = "" NmFileMP4 = "" NmFileAvi = "" KdEksSisip = "" LabelSisip = "" strKeySisip = "" JumLabelSisip = 0 JumLabelEkstraksi = 0 IDFIle = 0

RR = 0 End Sub

Private Sub cmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Call Bersih() End Sub

Private Sub cmdLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLoad.Click

Dim i As Integer eks = ""

KdEksSisip = "" LabelSisip = "" strKeySisip = "" JumLabelSisip = 0 JumLabelEkstraksi = 0 IDFIle = 0

(10)

With dlgOpenFile .FileName = ""

.Filter = "File Video AVI|*.avi|Playlist Files|*.avi" If .ShowDialog = 1 Then

Try

For i = 0 To UBound(.FileNames) 'memasukkan k playlist

WMP.currentPlaylist.appendItem(WMP.newMedia(.FileNames(i))) NmFileAvi = .FileName

lblNmFileAvi1.Text = NmFileAvi eks = "AVI"

CMD = New OleDbCommand("Select * from [File] where NmFile1='" & RTrim(NmFileAvi) & "' and Eks='" & eks & "'", Conn)

RD = CMD.ExecuteReader()

If RD.Read = True Then

IDFIle = RD.Item("IDFile") KdEksSisip = RD.Item("KdEks") LabelSisip = RD.Item("strLabel") strKeySisip = RD.Item("strKey") Else

KdEksSisip = "" LabelSisip = "" strKeySisip = "" End If

RD.Close() CMD.Dispose() Call AcakAVI() Next

Catch ex As Exception MsgBox(ex.Message) End Try

WMP.Ctlcontrols.pause() RefreshPlayList() End If

End With

End Sub

Sub RefreshPlayList() Dim i As Integer

lvwPlayList.Items.Clear()

With WMP.currentPlaylist 'memasukkan k listview For i = 0 To .count - 1

lvwPlayList.Items.Add(.Item(i).getItemInfo("Title")).SubItems.Add(.Item(i).getI temInfo("Artist"))

lvwPlayList.Items(i).ForeColor =

IIf(WMP.currentMedia.isIdentical(WMP.currentPlaylist.Item(i)), Color.Red, 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()

(11)

Dim validcode02 As Long Dim extmessage As Byte Dim dycrypted

Dim i As Long

validcode01 = txtKodeEks.Text

validcode02 = FileLen(lblNmFileAvi1.Text) Close #1

lblEkstraksi.Text = ""

decrypted = Decrypt(txtKey.Text, lblEkstraksi.Text) lblEkstraksi.Text = decrypted

JumLabelEkstraksi = Len(decrypted)

If JumLabelSisip > 0 Then

RR = (JumLabelEkstraksi / JumLabelSisip) * 100 lblRR.Text = Format(RR, "###.##")

Else RR = 0

lblRR.Text = 100 End If

CMD = New OleDbCommand("Update [File] SET RR=" & RR & ",strLabelEks='" & decrypted & "',st='*' where IDFile=" & IDFile & "", Conn)

RD = CMD.ExecuteReader() RD.Close()

CMD.Dispose()

MsgBox("Proses Selesai...")

Exit Sub

If Err.Number <> 0 Then Exit Sub

End If End Sub

Private Sub cmdLoad1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLoad1.Click

Dim i As Integer eks = ""

KdEksSisip = "" LabelSisip = "" strKeySisip = "" JumLabelSisip = 0 JumLabelEkstraksi = 0 IDFIle = 0

RR = 0

With dlgOpenFile .FileName = ""

.Filter = "File Video MP4|*.mp4|Playlist Files|*.mp4" If .ShowDialog = 1 Then

Try

For i = 0 To UBound(.FileNames) 'memasukkan k playlist

WMP1.currentPlaylist.appendItem(WMP1.newMedia(.FileNames(i))) NmFileMP4 = .FileName

lblNmFileMP41.Text = NmFileMP4 eks = "MP4"

CMD = New OleDbCommand("Select * from [File] where NmFile1='" & RTrim(NmFileMP4) & "' and Eks='" & eks & "'", Conn)

RD = CMD.ExecuteReader()

If RD.Read = True Then

(12)

KdEksSisip = RD.Item("KdEks") LabelSisip = RD.Item("strLabel") strKeySisip = RD.Item("strKey") Else

KdEksSisip = "" LabelSisip = "" strKeySisip = "" End If

RD.Close() CMD.Dispose() Call AcakMP4() Next

Catch ex As Exception MsgBox(ex.Message) End Try

WMP1.Ctlcontrols.pause() RefreshPlayList()

End If End With

cmdEkstraksi.Enabled = True End Sub

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)

RD = CMD.ExecuteReader() If RD.Read = True Then

LabelSisip = RD.Item("strLabel") lblPenyisip.Text = LabelSisip lblEkstraksi.Text = LabelSisip Call KonversiBINAVI()

MsgBox("" & RR) bolSave = True Else

lblPenyisip.Text = "" lblEkstraksi.Text = ""

MsgBox("Label tidak ditemukan...") bolSave = False

End If RD.Close() CMD.Dispose()

(13)

MsgBox("Data ekstraksi belum lengkap...") lblPenyisip.Text = ""

lblEkstraksi.Text = ""

End If

If bolSave = True Then

CMD = New OleDbCommand("Update [File] SET RR=" & RR &

",strLabelEks='" & LabelSisip & "',st='*' where IDFile=" & IDFIle & "", Conn) RD = CMD.ExecuteReader()

RD.Close() CMD.Dispose() End If

End Sub

Sub KonversiBINAVI()

LsBinEkstraksiAVI.Text = "" LsBinPenyisipAVI.Text = "" RR = 0

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

RR = (JumLabelEkstraksi / JumLabelSisip) * 100 lblRR.Text = Format(RR, "###.##") & " %" Else

RR = 0

lblRR.Text = 0 & " %" End If

End Sub

Sub KonversiBINMP4()

LsBinPenyisipMP4.Text = "" LsBinEkstraksiMP4.Text = "" JumLabelEkstraksi = 0 JumLabelSisip = 0 RR = 0

lblRR1.Text = ""

Dim binLabelEkstraksiMP4 As New ASCIItoBIN(lblEkstraksi1.Text) LsBinEkstraksiMP4.Items.Add(binLabelEkstraksiMP4.convertASCIItoBIN) Dim binLabelPenyisipMP4 As New ASCIItoBIN(lblPenyisip1.Text)

LsBinPenyisipMP4.Items.Add(binLabelPenyisipMP4.convertASCIItoBIN)

JumLabelEkstraksi = Len(binLabelEkstraksiMP4.convertASCIItoBIN) JumLabelSisip = Len(binLabelPenyisipMP4.convertASCIItoBIN) If JumLabelSisip > 0 Then

RR = (JumLabelEkstraksi / JumLabelSisip) * 100 lblRR1.Text = Format(RR, "###.##") & " %" Else

RR = 0

lblRR1.Text = 100 & " %" End If

(14)

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() If RD.Read = True Then

LabelSisip = RD.Item("strLabel") lblPenyisip1.Text = LabelSisip lblEkstraksi1.Text = LabelSisip Call KonversiBINMP4()

bolSave = True Else

lblPenyisip1.Text = "" lblEkstraksi1.Text = ""

MsgBox("Label tidak ditemukan...") bolSave = False

End If RD.Close() CMD.Dispose() Else

MsgBox("Data ekstraksi belum lengkap...") End If

If bolSave = True Then

CMD = New OleDbCommand("Update [File] SET RR=" & RR &

",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

Public Function GetSampel(ByVal Min As Integer, ByVal Max As Integer) As Integer

'Dim Generator As System.Random = New System.Random() Static Generator As System.Random = New System.Random() Return Generator.Next(Min, Max)

End Function Sub AcakAVI()

Dim randoms(1000) As Integer

(15)

randoms(i) = GetSampel(1, PictureBox1.Width) ListBox1.Items.Add(randoms(i))

Dim binSampel As New ASCIItoBIN(randoms(i)) ListBox1.Items.Add(binSampel.convertASCIItoBIN)

Next End Sub Sub AcakMP4()

Dim randoms(1000) As Integer

ListBox2.Items.Add("No Sampel Audio MP4") For i As Integer = 0 To randoms.Length - 1 randoms(i) = GetSampel(1, PictureBox2.Width) ListBox2.Items.Add(randoms(i))

Dim binSampel As New ASCIItoBIN(randoms(i)) 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

Close() End Sub End Class

4. CreateBiner

Imports System.Text Public Class ASCIItoBIN

Private ASCIIstr As String

Public Sub New(ByVal ASCII_Input As String) ASCIIstr = ASCII_Input

End Sub

Public Function convertASCIItoBIN() As String Dim ASCII_DECcode As String

Dim DECnum As Double

Dim counter As Integer = 0I Dim BINstr As String = "" Dim BINmessage As String jumByte = 0

jumBit = 0

Dim ASCIIencode As New ASCIIEncoding

For counter1 As Integer = 0 To ASCIIstr.Length - 1 Dim encodedBytes As Byte() =

ASCIIencode.GetBytes(ASCIIstr.Substring(counter1, 1)) ASCII_DECcode += CStr(encodedBytes(0)) + " " Next

Dim stringCounter As Integer = 0I

For counter2 As Integer = stringCounter To ASCII_DECcode.Length - 1

Dim DECnumAsString As String

While ASCII_DECcode.Substring(counter2, 1) <> " "

DECnumAsString += ASCII_DECcode.Substring(counter2, 1) DECnum = CInt(DECnumAsString)

(16)

End While

While DECnum > 0

If counter = 4 Then counter = 0 End If

DECnum = DECnum / 2

'Adding 1 or 0 to final number If Int(DECnum) = DECnum Then BINstr = "0" & BINstr counter = counter + 1 Else

BINstr = "1" & BINstr counter = counter + 1 End If

DECnum = Int(DECnum) End While

Select Case counter Case 1

BINstr = "000" & BINstr Case 2

BINstr = "00" & BINstr Case 3

BINstr = "0" & BINstr Case Else

'Adds 4 extra zeros to BINstr 'if BINstr length is 4

BINstr = "0000" + BINstr End Select

'Append to the BINmessage the next number BINmessage = BINmessage & BINstr & " "

'Reseting certain variables for new use DECnumAsString = Nothing

counter = Nothing BINstr = Nothing jumByte = jumByte + 1

Next

jumBit = jumByte * 8

BINmessage = BINmessage.Remove(BINmessage.Length - 1, 1) 'Return that beautiful BINary footage!

Return BINmessage

End Function End Class

5. Module

Imports System.Data.OleDb Module ModAPP1

Public CMD As OleDbCommand = Nothing Public RD As OleDbDataReader = Nothing Public strConn As String

(17)

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")

Conn = New OleDbConnection(strConn)

If Conn.State = ConnectionState.Closed Then Conn.Open()

End If End Sub

Sub Main()

Dim arr(5) As Integer Dim i As Integer

For i = 0 To arr.GetUpperBound(0) arr(i) = i * i

Next i

For i = 0 To arr.GetUpperBound(0)

Console.WriteLine("arr(" & i & ") = " & arr(i)) Next i

End Sub

Public Sub EchoFile(ByVal SourceFile As String, ByVal DestFile As String) 'On Error GoTo salah

Dim ByteArray() As Byte Dim Filenr As Integer If Not (SourceFile) Then

Err.Raise(vbObjectError, "File tidak ada ....") Else

maxSampel = maxSampel End If

DestFile = Application.StartupPath & "\Cover_Video\" Filenr = FreeFile()

#Open (SourceFile) For Binary As #Filenr #Open DestFile For Binary As #Filenr ReDim ByteArray(0 To LOF(Filenr) - 1) Get #Filenr, , ByteArray()

#Close #Filenr

#Call EDH(ByteArray, UBound(ByteArray) + 1) If DestFile Then Kill(DestFile)

#Open DestFile For Binary As #Filenr #Put #Filenr, , ByteArray()

#Close #Filenr salah:

If Err.Number <> 0 Then bolErr = True Exit Sub End If

End Sub

Public Sub EDH(ByVal SourceFile As String, ByVal DestFile As String) Dim ByteArray() As Byte

Dim Filenr As Integer If Not SourceFile Then

Err.Raise(vbObjectError, "File tidak ada ") End If

(18)

#Open SourceFile For Binary As #Filenr ReDim ByteArray(0 To LOF(Filenr) - 1) #Get #Filenr, , ByteArray()

#Close #Filenr

#Call EDH(ByteArray(), UBound(ByteArray) + 1) If DestFile Then Kill(DestFile)

#Open DestFile For Binary As #Filenr #Put #Filenr, , ByteArray()

#Close #Filenr #Main.List2.Clear()

End Sub

Public Function Edh_AVI(ByVal Key1 As String, ByVal txtcode As String) Dim i, j, k As Integer, thekey

Dim a, b As String Dim CryptText As String Dim JumSampel As Integer On Error Resume Next If Key1 <> "" Then thekey = Key1 i = 0

For j = 1 To Len(txtcode) i = i + 1

If i > Len(thekey) Then i = 1 a = Mid(txtcode, j, 1)

k = Asc(a)

b = Mid(thekey, i, 1) k = k + Asc(b)

If k > maxSampel Then k = k - maxSampel CryptText = CryptText & Chr(k)

JumSampel = JumSampel + 1 Next j

txtcode = CryptText Edh_AVI = txtcode

MSE = (1 / JumSampel) * k ^ 2 MSE = Math.Sqrt(MSE * 0.5) frmMain.lblMSE.Text = MSE

PSNR = 20 * Math.Log10(maxSampel / Math.Sqrt(MSE)) frmMain.lblPSNR.Text = PSNR

End If

End Function

Public Function Edh_Mp4(ByVal Key1 As String, ByVal txtcode As String) Dim i, j, k As Integer, thekey

Dim a, b, CryptText As String Dim JumSampel As Integer 'On Error Resume Next MSE = 0

PSNR = 0

If Key1 <> "" Then thekey = Key1 i = 0

For j = 1 To Len(txtcode) i = i + 1

If i > Len(thekey) Then i = 1 a = Mid(txtcode, j, 1)

k = Asc(a)

(19)

If k > maxSampel1 Then k = k - maxSampel1 CryptText = CryptText & Chr(k)

JumSampel = JumSampel + 1

Next j

txtcode = CryptText Edh_Mp4 = txtcode

MSE = (1 / JumSampel) * k ^ 2 MSE = Math.Sqrt(MSE)

frmMain.lblMSE1.Text = MSE

PSNR = 20 * Math.Log10(maxSampel1 / Math.Sqrt(MSE)) frmMain.lblPSNR1.Text = PSNR

End If End Function

Public Function Encrypt(ByVal Key1 As String, ByVal txtcode As String) Dim i, j, k As Integer, thekey

Dim a, b, CryptText As String On Error Resume Next

If Key1 <> "" Then thekey = Key1 i = 0

For j = 1 To Len(txtcode) i = i + 1

If i > Len(thekey) Then i = 1 a = Mid(txtcode, j, 1)

k = Asc(a)

b = Mid(thekey, i, 1) k = k + Asc(b)

If k > maxSampel1 Then k = k - maxSampel1 CryptText = CryptText & Chr(k)

Next j

txtcode = CryptText Encrypt = txtcode End If

End Function

Public Function Decrypt(ByVal Key1 As String, ByVal txtcode As String) Dim i, j, k As Integer, thekey

Dim a, b, CryptText As String On Error Resume Next

CryptText = "" If Key1 <> "" Then thekey = Key1 i = 0

For j = 1 To Len(txtcode) i = i + 1

If i > Len(thekey) Then i = 1 a = Mid(txtcode, j, 1)

k = Asc(a)

b = Mid(thekey, i, 1) k = k - Asc(b)

If k < 0 Then k = k + maxSampel1 CryptText = CryptText & Chr(k) Next j

txtcode = CryptText Decrypt = txtcode End If

End Function

Referensi

Dokumen terkait

Beban kerja DLP ditentukan dari jumlah peserta JKN yang masuk dalam daftar pesertanya (komunitas binaan). Pemanfaatan DLP oleh komunitas binaan ini dipengaruhi

Further examples of controlling manual handling risks by redesigning the workplace are shown below under the three category headings: Modifying Workplace Layout and

Berdasarkan hasil pengamatan (observasi), agar variabel sifat dapat menjadi satu kesatuan yang terintegrasi dan bersinergi membentuk kinerja yang efektif dalam

Proses menghitung jarak serta ketinggian sebuah objek digunakan tiga buah sensor ultrasonik, setiap sensor ultrasonik ditempatkan pada sebuah Nylon PT pan / tilt

Lalu mereka menutup kaca helm secara bersamaan pertanda siap untuk melaju dan memberikan pelukan kepada sang suami ―Yamaha N -Max momen terbaik bersama yang

Analisa menggunakan metode analisis isi ( content analysis ); Metode ini merupakan analisis ilmiah mengenai isi pesan sebuah pemikiran. Hasil penelitian ini

Hasil penelitian adalah (1) proses pembelajaran pendidikan agama Islam guru mengunakan membuat RPP, menggunakan model pembelajaran, mengelola kelas, dan

Pengaruh penerapan model pembelajaran tutor sebaya dengan multimedia terhadap hasil belajar siswa pada materi operasi himpunan dan diagram venn. 2 Subjek SMP Islam