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
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
.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
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
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)
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
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 = ""
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))
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
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()
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
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()
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
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
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)
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
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
#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)
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