LAMPIRAN A LISTING PROGRAM

  

LAMPIRAN A

LISTING PROGRAM

  1. Menu Utama

  Public Class frmMenu Private Sub HelpToolStripMenuItem_Click(ByVal sender As _

  System.Object, ByVal e As System.EventArgs) Handles _ HelpToolStripMenuItem.Click frmHelp.Show()

  End Sub Private Sub QuitToolStripMenuItem_Click(ByVal sender As _

  System.Object, ByVal e As System.EventArgs) Handles QuitToolStripMenuItem.Click End End Sub Private Sub ZeroCompressionToolStripMenuItem_Click(ByVal sender As _

  System.Object, ByVal e As System.EventArgs) Handles _ ZeroCompressionToolStripMenuItem.Click frmLSB.Show()

  End Sub Private Sub DifferenceCodingToolStripMenuItem_Click(ByVal sender As _

  System.Object, ByVal e As System.EventArgs) Handles _ DifferenceCodingToolStripMenuItem.Click frmStegoMLSB.Show()

  End Sub Private Sub AboutToolStripMenuItem_Click(ByVal sender As _

  System.Object, ByVal e As System.EventArgs) Handles _ AboutToolStripMenuItem.Click frmAbt.Show()

  End Sub End Class

  2. Algoritma LSB

  Imports System.Data.OleDb Imports Microsoft.VisualBasic Public Class frmLSB Dim WAVBuffer As System.IO.FileInfo Dim WAVBuffer1 As System.IO.FileInfo Dim JumSampel1 As Integer Dim JumSampel2 As Integer Dim BitSampel1 As Integer Dim BitSampel2 As Integer Dim SNR As Single Dim PlainText As String Dim NewFileName As String Dim NamaFile As String Dim IDData As Integer Dim filePesan As String

  Dim LenPesan As Integer Dim jumBitPesan As Integer Private Sub cmdFileAsal_Click(ByVal sender As System.Object, ByVal e As _

  System.EventArgs) Handles cmdFileAsal.Click If RadioButton1.Checked = True Then openDialog.Title = "Open Cover Audio" openDialog.ShowDialog() cmdFileText.Enabled = True cmdFileText.Focus() ElseIf RadioButton2.Checked = True Then openDialog.Filter = "|*.wav" openDialog.Title = "Open Stego Audio" openDialog.ShowDialog() cmdProses.Text = "Ekstraksi" cmdSave.Enabled = False Else MsgBox("Pilih Proses") End If End Sub Sub KonversiBIN() Dim LenPesan As Integer Dim i As Integer Dim BinerPesan As Long LenPesan = Len(txtPesan.Text) For i = 1 To LenPesan Dim bitKey As New ASCIItoBIN(Mid(txtPesan.Text, i, 1)) ListBox1.Items.Add(bitKey.convertASCIItoBIN) BinerPesan = bitKey.convertASCIItoBIN Next End Sub Sub Bersih() JumSampel1 = 0 JumSampel2 = 0 BitSampel2 = 0 SNR = 0 cmdProses.Enabled = False cmdSave.Enabled = False cmdFileAsal.Enabled = True txtFileAsal.Text = "" lblSize1.Text = "" lblJumSampel1.Text = "" lblJumSampel2.Text = "" lblSize2.Text = "" lblSNR.Text = "" lblTotBitSampel1.Text = "" lblTotBitSampel2.Text = "" txtPesan.Text = "" lblNmStego.Text = "" lblFilePesan.Text = "" ListBox1.Items.Clear() ListBox2.Items.Clear() filePesan = "" cmdSave.Text = "Save" End Sub Private Sub cmdProses_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles cmdProses.Click cmdProses.Enabled = False

  Call KonversiBIN() Dim Ready As Boolean = True Dim PesanEmbed As String Dim WAVFileStream As System.IO.FileStream If RadioButton1.Checked = True Then Try WAVFileStream = WAVBuffer.OpenRead Catch ex As Exception Ready = False MsgBox("Baca File Wav", MsgBoxStyle.Critical, "Error") End Try ElseIf RadioButton2.Checked = True Then Try WAVFileStream = WAVBuffer1.OpenRead Catch ex As Exception Ready = False MsgBox("Baca File Wav", MsgBoxStyle.Critical, "Error") End Try End If If Ready = True Then If RadioButton1.Checked = True Then Dim WAVBytes As Long = WAVFileStream.Length Dim WAVExt As String = WAVBuffer.Extension Dim WAVByteArray(WAVBytes) As Byte WAVFileStream.Read(WAVByteArray, 0, WAVBytes) If txtPesan.Text <> "" Then PlainText = txtPesan.Text Dim PlainTextByteArray(PlainText.Length) As Byte For i As Integer = 0 To (PlainText.Length - 1)_

  PlainTextByteArray(i) = CByte(AscW(PlainText.Chars(i))) ListBox2.Items.Add(PlainTextByteArray(i)) Application.DoEvents() Next Dim WAVAndText(WAVBytes + PlainText.Length + _

  SentinelString.Length) As Byte For t As Long = 0 To (WAVBytes - 1) WAVAndText(t) = WAVByteArray(t) Application.DoEvents() ListBox2.Items.Add(WAVAndText(t)) Next Dim WAVAndText1(WAVBytes + SentinelString.Length) _

  As Byte For t As Long = 0 To (WAVBytes - 1)

  WAVAndText1(t) = WAVByteArray(t) JumSampel1 = JumSampel1 + 1 Next

  Dim count As Integer = 0 For r As Long = WAVBytes To (WAVBytes + _

  (SentinelString.Length) - 1) WAVAndText(r) = SentinelString(count) Application.DoEvents() ListBox2.Items.Add(WAVAndText(r)) count += 1 Next count = 0 For q As Long = (WAVBytes + SentinelString.Length) To _

  (WAVBytes + SentinelString.Length + PlainText.Length - 1)

  WAVAndText(q) = PlainTextByteArray(count) Application.DoEvents() ListBox2.Items.Add(WAVAndText(q)) count += 1 Next lblJumSampel1.Text = JumSampel1 BitSampel1 = JumSampel1 * 8 lblTotBitSampel1.Text = BitSampel1 CMD = New OleDbCommand("Select * from DataLSB _ 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() NewFileName = Application.StartupPath & _

  "\StegoAudioLSB\StegoLSB" & IDData & ".wav" _

  WAVAndText,False) lblNmStego.Text = NewFileName cmdSave.Enabled = True cmdSave.Focus() Else MsgBox("Masukkan Pesan Penyisip ...") txtPesan.Focus() End If

  'Ekstraksi LSB ElseIf RadioButton2.Checked Then txtPesan.Clear() JumSampel1 = 0 Dim WAVBytes As Long = WAVFileStream.Length Dim WAVExt As String = WAVBuffer1.Extension Dim WAVByteArray(WAVBytes) As Byte WAVFileStream.Read(WAVByteArray, 0, WAVBytes) Dim OutterSearch, InnerSearch, StopSearch As Boolean OutterSearch = True InnerSearch = True StopSearch = False Dim count As Long = 0 Dim leftCounter As Long Dim rightCounter As Integer leftCounter = 0 rightCounter = 0 Dim WAVAndText(WAVBytes + SentinelString.Length) As Byte For t As Long = 0 To (WAVBytes - 1) WAVAndText(t) = WAVByteArray(t) Application.DoEvents() ListBox2.Items.Add(WAVAndText(t)) JumSampel1 = JumSampel1 + 1 Next Do While (count < (WAVBytes - SentinelString.Length) And _

  StopSearch = False) If (WAVByteArray(count) = SentinelString(0)) Then leftCounter = count + 1 rightCounter = 1 InnerSearch = True Do While (InnerSearch = True) And (rightCounter < _

  SentinelString.Length) _ And (leftCounter < WAVByteArray.Length) If (WAVByteArray(leftCounter) = _

  SentinelString(rightCounter)) Then rightCounter += 1 leftCounter += 1 If (rightCounter = _

  (SentinelString.Length- 1)) Then StopSearch = True End If JumSampel1 = JumSampel1 + 1 Else InnerSearch = False count += 1 End If Else count += 1 End If Loop lblJumSampel1.Text = JumSampel1 BitSampel1 = JumSampel1 * 8 lblTotBitSampel1.Text = BitSampel1 If StopSearch = True Then

  Do While (leftCounter < WAVBytes) _ txtPesan.AppendText(ChrW(CInt(WAVByteArray(leftCounter)))) PesanEmbed = _

  (ChrW(CInt(WAVByteArray(leftCounter)))) leftCounter += 1 Loop Dim LenPesan As Integer LenPesan = Len(txtPesan.Text) Dim i As Integer For i = 1 To LenPesan Dim bitKey As New ASCIItoBIN(Mid(txtPesan.Text, _ i, 1)) ListBox1.Items.Add(bitKey.convertASCIItoBIN)

  Next txtPesan.Enabled = True MsgBox("Ekstraksi Berhasil") Else txtPesan.Text = "Data tidak ada" End If Else MsgBox("Pilih Proses ..........") End If End If End Sub Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As _

  System.EventArgs) Handles cmdKeluar.Click Close() End Sub Private Sub openDialog_FileOk(ByVal sender As System.Object, _

  ByVal e As System.ComponentModel.CancelEventArgs) Handles _ openDialog.FileOk

  If RadioButton1.Checked = True Then WAVBuffer = New System.IO.FileInfo(openDialog.FileName) txtFileAsal.Text = openDialog.FileName Dim fileDetails As System.IO.FileInfo = New _

  System.IO.FileInfo(txtFileAsal.Text) lblSize1.Text = fileDetails.Length.ToString ElseIf RadioButton2.Checked = True Then WAVBuffer1 = New System.IO.FileInfo(openDialog.FileName) txtFileAsal.Text = openDialog.FileName Dim LenFile As Integer LenFile = Len(NamaFile) Dim NamaFile1 As String = Microsoft.VisualBasic.Mid(NamaFile, _

  LenFile - 12, 8) Dim intPos As Integer intPos = InStr(1, NamaFile, "StegoLSB") If intPos > 0 Then Dim fileDetails1 As System.IO.FileInfo = New _

  System.IO.FileInfo(txtFileAsal.Text) lblSize1.Text = fileDetails1.Length.ToString cmdProses.Enabled = True cmdProses.Focus() Else MsgBox("File Salah ...") cmdProses.Enabled = False cmdFileAsal.Enabled = True cmdFileAsal.Focus() End If End If End Sub Private Sub frmLSB_Load(ByVal sender As System.Object, ByVal e As _

  System.EventArgs) Handles MyBase.Load Call Bersih() cmdFileText.Enabled = False cmdFileAsal.Enabled = False Call KoneKsi() End Sub Private Sub txtPesan_TextChanged(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles txtPesan.TextChanged If RadioButton1.Checked = True Then cmdProses.Text = "Sisip" cmdProses.Enabled = True End If End Sub Private Sub cmdSave_Click(ByVal sender As System.Object, ByVal e_

  As System.EventArgs) Handles cmdSave.Click cmdSave.Enabled = False If RadioButton1.Checked = True Then WAVBuffer1 = New System.IO.FileInfo(NewFileName) lblNmStego.Text = NewFileName Dim fileDetails1 As System.IO.FileInfo = New _

  System.IO.FileInfo(lblNmStego.Text) lblSize2.Text = fileDetails1.Length.ToString CMD = New OleDbCommand("Insert into DataLSB (IDData) values _

  (" & IDData & ")", Conn) RD = CMD.ExecuteReader()

  IDData = 0 RD.Close() CMD.Dispose() Dim WAVFileStream1 As System.IO.FileStream Try WAVFileStream1 = WAVBuffer1.OpenRead Catch ex As Exception Ready = False MsgBox("Baca File Wav", MsgBoxStyle.Critical, "Error") End Try Dim WAVBytes1 As Long = WAVFileStream1.Length Dim WAVExt1 As String = WAVBuffer1.Extension Dim WAVByteArray1(WAVBytes1) As Byte WAVFileStream1.Read(WAVByteArray1, 0, WAVBytes1) For t As Long = 0 To (WAVBytes1 - 1) Application.DoEvents() JumSampel2 = JumSampel2 + 1 Next lblJumSampel2.Text = JumSampel1 BitSampel2 = JumSampel2 * 8 ' Call CnvBITS() lblTotBitSampel2.Text = BitSampel1 Dim BitBerubah As Integer = jumBitPesan SNR = ((BitSampel1 - BitBerubah) / BitSampel1) * 100 lblSNR.Text = Format(SNR, "##.#####") & " %" End If End Sub Private Sub cmdBersih_Click(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles cmdBersih.Click Call Bersih() End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As _

  System.Object, ByVal e As System.EventArgs) Handles _ RadioButton1.CheckedChanged

  GroupBox3.Visible = True cmdFileAsal.Enabled = True End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object,_

  ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged GroupBox3.Visible = False cmdFileAsal.Enabled = True End Sub Sub AppHIT() JumSampel2 = JumSampel2 + 1.01 End Sub Private Sub cmdFileText_Click(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles cmdFileText.Click OpenFileDialog1.Filter = "|*.txt" OpenFileDialog1.Title = "File Pesan" End Sub Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, _

  ByVal e As System.ComponentModel.CancelEventArgs) Handles _ OpenFileDialog1.FileOk filePesan = OpenFileDialog1.FileName lblFilePesan.Text = filePesan 'OpenFileDialog1.FileName Dim fileDetailsPesan As System.IO.FileInfo = New _

  System.IO.FileInfo(filePesan) Dim SizePesan As Single = fileDetailsPesan.Length.ToString If filePesan = "" Then MsgBox("Pesan tidak ada", , "ERR") : _

  Exit Sub Dim pdllAF As New AdvanceFunction pdllAF.ReadFromFile(filePesan, txtPesan) LenPesan = Len(txtPesan.Text) jumBitPesan = LenPesan * 8 End Sub Sub CnvBITS() BitSampel2 = 0.85 * BitSampel2 End Sub End Class

  Imports System.Data.OleDb Imports Microsoft.VisualBasic Public Class frmStegoMLSB Dim WAVBuffer As System.IO.FileInfo Dim WAVBuffer1 As System.IO.FileInfo Dim JumSampel1 As Integer Dim JumSampel2 As Integer Dim BitSampel1 As Integer Dim BitSampel2 As Integer Dim SNR As Single Dim PlainText As String Dim IDData As Integer Dim NewFileName As String Dim filePesan As String Dim LenPesan As Integer Dim jumBitPesan As Integer Private Sub cmdBuka_Click(ByVal sender As System.Object, ByVal e _

  As System.EventArgs) Handles cmdBuka.Click openWAV.Title = "Open WAV Files" openWAV.ShowDialog() If RadioButton1.Checked = True Then TextBox1.Enabled = True cmdProses.Text = "Proses" cmdFilePesan.Enabled = True cmdFilePesan.Focus() ElseIf RadioButton2.Checked = True Then cmdProses.Text = "Ekstraksi" cmdSave.Enabled = False Else MsgBox("Pilih Proses") End If Private Sub openWAV_FileOk(ByVal sender As System.Object, ByVal e _

  As System.ComponentModel.CancelEventArgs) Handles openWAV.FileOk Dim NamaFile As String NamaFile = openWAV.FileName If RadioButton1.Checked = True Then WAVBuffer = New System.IO.FileInfo(openWAV.FileName)_ TextBox2.Text = openWAV.FileName Dim fileDetails As System.IO.FileInfo = New _

  System.IO.FileInfo(TextBox2.Text) lblSize.Text = fileDetails.Length.ToString ElseIf RadioButton2.Checked = True Then Dim intPos As Integer intPos = InStr(1, NamaFile, "StegoMLSB") If intPos > 0 Then WAVBuffer = New System.IO.FileInfo(openWAV.FileName) TextBox2.Text = openWAV.FileName Dim fileDetails As System.IO.FileInfo = New _

  System.IO.FileInfo(TextBox2.Text) lblSize.Text = fileDetails.Length.ToString cmdProses.Enabled = True cmdProses.Focus() Else MsgBox("File Salah") cmdProses.Enabled = False cmdBuka.Enabled = True cmdBuka.Focus() End If End If End Sub Sub KonversiBIN() Dim LenPesan As Integer Dim i As Integer Dim ASCII5BITS As New ASCIItoBIN(TextBox1.Text) LenPesan = Len(TextBox1.Text) For i = 1 To LenPesan Dim bitKey As New ASCIItoBIN(Mid(TextBox1.Text, i, 1)) Dim Bit5 As New ASCIItoBIN(Mid(TextBox1.Text, i, 1)) ListBox1.Items.Add(bitKey.convertASCIItoBIN) Next i = 0 End Sub Private Sub cmdProses_Click(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles cmdProses.Click cmdProses.Enabled = False cmdBuka.Enabled = False Call KonversiBIN() Dim HEXKey As New ASCIItoBIN(TextBox1.Text & " ") Dim Str As String Dim MyPesan As String Dim LenPesan As Integer Dim i As Integer Dim strCS As String, strCS1 As String, strCS2 As String Dim Ready As Boolean = True Dim PesanEmbed As String Dim Pengurang As Integer Dim strCSS As Integer Try WAVFileStream = WAVBuffer.OpenRead Catch ex As Exception Ready = False MsgBox("Baca File Wav", MsgBoxStyle.Critical, "Error") End Try If Ready = True Then Dim WAVBytes As Long = WAVFileStream.Length Dim WAVExt As String = WAVBuffer.Extension Dim WAVByteArray(WAVBytes) As Byte WAVFileStream.Read(WAVByteArray, 0, WAVBytes) 'Penyisipan MLSB If RadioButton1.Checked = True Then If TextBox1.Text <> "" Then MyPesan = TextBox1.Text & " " LenPesan = Len(MyPesan) TextBox3.Text = HEXKey.ASC2HEX(MyPesan) i = 0 For i = 0 To ListBox2.Items.Count - 1 Str = ListBox2.Items(i) If Str <> "20" Then If Microsoft.VisualBasic.Left(Str, 1) = "6" _

  Or Microsoft.VisualBasic.Left(Str, 1) = "7" Then strCS = "1B " ' & Str Huruf kecil Pengurang = 60 ElseIf Microsoft.VisualBasic.Left(Str, 1) = _

  "4" Or Microsoft.VisualBasic.Left(Str, 1) = "5" Then strCS = "1C " '& Str Huruf Besar

  Pengurang = 40 ElseIf Microsoft.VisualBasic.Left(Str, 2) = _

  "20" Then strCS = "1D " '& Str Spasi ElseIf Microsoft.VisualBasic.Left(Str, 2) >= _

  "30" And Microsoft.VisualBasic.Left(Str, 2) <= "39" Then Pengurang = 30 strCS = "1E " '& Str Angka Else strCS = "1F " End If strCSS = Integer.Parse(Str, _

  Globalization.NumberStyles.HexNumber) - _

  Integer.Parse(Pengurang, _ Globalization.NumberStyles.HexNumber) ListBox3.Items.Add(Hex(strCSS)) strCS = ""

  Else ListBox3.Items.Add("1D") 'ListBox3.Items.Add("-------------------- ") End If Next ListBox3.Items.Add("1F") i = 0 CMD = New OleDbCommand("Select * from Data", Conn) RD = CMD.ExecuteReader() ListBox1.Items.Clear() While RD.Read ListBox1.Items.Add(RD.Item("Data")) End While Dim PlainText As String = TextBox1.Text Dim PlainTextByteArray(PlainText.Length) As Byte For i = 0 To (PlainText.Length - 1) PlainTextByteArray(i) = _

  CByte(AscW(PlainText.Chars(i))) Application.DoEvents() Next Dim WAVAndText(WAVBytes + PlainText.Length + _

  SentinelString.Length) As Byte For t As Long = 0 To (WAVBytes - 1) WAVAndText(t) = WAVByteArray(t) Next Dim WAVAndText1(WAVBytes + SentinelString.Length) _

  As Byte For t As Long = 0 To (WAVBytes - 1) WAVAndText1(t) = WAVByteArray(t) JumSampel1 = JumSampel1 + 1 Next Dim count As Integer = 0 For r As Long = WAVBytes To (WAVBytes + _

  (SentinelString.Length) - 1) WAVAndText(r) = SentinelString(count) count += 1 Next count = 0 For q As Long = (WAVBytes + SentinelString.Length) _

  To (WAVBytes + SentinelString.Length + _ PlainText.Length - 1)

  WAVAndText(q) = PlainTextByteArray(count) count += 1 Next lblJumSampel1.Text = JumSampel1 BitSampel1 = JumSampel1 * 8 lblTotBitSampel1.Text = BitSampel1 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() NewFileName = Application.StartupPath & _

  "\StegoAudioMLSB\StegoMLSB" & IDData & ".wav" My.Computer.FileSystem.WriteAllBytes(NewFileName, _

  WAVAndText, False) lblNmStego.Text = NewFileName cmdSave.Enabled = True cmdSave.Focus() Else MsgBox("Masukkan Pesan Penyisip ...") TextBox1.Focus() End If 'Ekstraksi MLSB ElseIf RadioButton2.Checked Then TextBox1.Clear() Dim OutterSearch, InnerSearch, StopSearch As Boolean OutterSearch = True InnerSearch = True StopSearch = False Dim count As Long = 0 Dim leftCounter As Long Dim rightCounter As Integer leftCounter = 0 rightCounter = 0 Do While (count < (WAVBytes - SentinelString.Length) And _

  StopSearch = False) If (WAVByteArray(count) = SentinelString(0)) Then leftCounter = count + 1 rightCounter = 1 InnerSearch = True Do While (InnerSearch = True) And (rightCounter_

  < SentinelString.Length) _ And (leftCounter < WAVByteArray.Length) If (WAVByteArray(leftCounter) = _

  SentinelString(rightCounter)) Then rightCounter += 1 leftCounter += 1 If (rightCounter = (SentinelString.Length_

  • 1)) Then StopSearch = True End If Else InnerSearch = False End If Loop Else count += 1 End If Loop If StopSearch = True Then Do While (leftCounter < WAVBytes)

  TextBox1.AppendText(ChrW(CInt(WAVByteArray(leftCounter))) )

  PesanEmbed = _ (ChrW(CInt(WAVByteArray(leftCounter)))) leftCounter += 1

  Loop LenPesan = Len(TextBox1.Text) Dim strEmbed As String Dim AddEmbed As Integer Dim bol1B As Boolean Dim bol1C As Boolean Dim bol1E As Boolean Dim bol1D As Boolean

  'Ekstraksi For i = 1 To LenPesan Dim bitKey As New ASCIItoBIN(Mid(TextBox1.Text, i,_

  1)) ListBox1.Items.Add(bitKey.convertASCIItoBIN) strEmbed = TextBox1.Text If Microsoft.VisualBasic.Left(strEmbed1B, 2) _

  = "1B" Then AddEmbed = 60 bol1B = True End If If Microsoft.VisualBasic.Left(strEmbed1C, 2)_

  = "1C" Then AddEmbed = 40 bol1C = True End If If Microsoft.VisualBasic.Left(strEmbed1E, 2) _

  = "1E" Then AddEmbed = 30 bol1E = True End If If Microsoft.VisualBasic.Left(strEmbed1D, 2) _

  = "1D" Then bol1D = True strEmbed = " " Else Exit For End If If bol1B = True Then If bol1C = True Then If bol1E = True Then If bol1D = True Then TextBox1.Enabled = True MsgBox("Ekstraksi Berhasil") Else TextBox1.Text = "Pesan tidak ada" End If Else TextBox1.Text = "Pesan tidak ada" End If Else TextBox1.Text = "Pesan tidak ada" End If Else TextBox1.Text = "Pesan tidak ada" End If Else TextBox1.Text = "Pesan tidak ada" End If Else MsgBox("Pilih Proses ..........") End If End If End Sub Private Sub cmdKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdKeluar.Click Close() End Sub Private Sub cmdBersih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBersih.Click TextBox2.Text = "" TextBox1.Text = "" TextBox3.Text = "" TextBox4.Text = "" ListBox1.Items.Clear() ListBox2.Items.Clear() ListBox3.Items.Clear() lblSize.Text = "" lblNmStego.Text = "" lblJumSampel1.Text = "" lblTotBitSampel1.Text = "" lblSize2.Text = "" lblJumSampel2.Text = "" lblTotBitSampel2.Text = "" lblSNR.Text = "" lblFilePesan.Text = "" SNR = 0 JumSampel1 = 0 JumSampel2 = 0 BitSampel1 = 0 BitSampel2 = 0 Call Mate() cmdBuka.Enabled = True Sub Mate() TextBox2.Enabled = False TextBox1.Enabled = False TextBox3.Enabled = False cmdProses.Enabled = False cmdSave.Enabled = False End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles TextBox1.TextChanged If RadioButton1.Checked = True Then cmdProses.Enabled = True End If End Sub Private Sub frmStego_Load(ByVal sender As System.Object, ByVal e_

  As System.EventArgs) Handles MyBase.Load Call Mate() Call KoneKsi() CMD = New OleDbCommand("Delete from Data", Conn) RD = CMD.ExecuteReader() RD.Close() CMD.Dispose() CMD = New OleDbCommand("Delete from Data2", Conn) RD = CMD.ExecuteReader() RD.Close() CMD.Dispose() cmdProses.Enabled = False cmdFilePesan.Enabled = False End Sub Private Sub cmdSave_Click(ByVal sender As System.Object, ByVal e _

  As System.EventArgs) Handles cmdSave.Click cmdSave.Enabled = False If RadioButton1.Checked = True Then WAVBuffer1 = New System.IO.FileInfo(NewFileName) lblNmStego.Text = NewFileName Dim fileDetails1 As System.IO.FileInfo = New _

  System.IO.FileInfo(lblNmStego.Text) lblSize2.Text = fileDetails1.Length.ToString CMD = New OleDbCommand("Insert into DataMLSB (IDData) _ values (" & IDData & ")", Conn)

  IDData = 0 RD = CMD.ExecuteReader() RD.Close() CMD.Dispose() Dim Ready As Boolean = True Dim WAVFileStream1 As System.IO.FileStream Try WAVFileStream1 = WAVBuffer1.OpenRead Catch ex As Exception Ready = False MsgBox("Baca File Wav", MsgBoxStyle.Critical, End Try Dim WAVBytes1 As Long = WAVFileStream1.Length Dim WAVExt1 As String = WAVBuffer1.Extension Dim WAVByteArray1(WAVBytes1) As Byte WAVFileStream1.Read(WAVByteArray1, 0, WAVBytes1) 'Penyisipan bit For t As Long = 0 To (WAVBytes1 - 1) Application.DoEvents() JumSampel2 = JumSampel2 + 1 Next Dim jumHexPesan As Integer Dim jumBitPesan As Integer For i = 0 To ListBox3.Items.Count - 1 jumHexPesan = jumHexPesan + 1 Next jumBitPesan = jumHexPesan * 5 lblJumSampel2.Text = JumSampel1 BitSampel2 = JumSampel2 * 8 lblTotBitSampel2.Text = BitSampel1 lblTotBitSampel2.Text = BitSampel1 Dim BitBerubah As Integer = jumBitPesan SNR = ((BitSampel1 - BitBerubah) / BitSampel1) * 100 lblSNR.Text = Format(SNR, "##.#####") & " %" End If End Sub Private Sub cmdFilePesan_Click(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles cmdFilePesan.Click OpenFileDialog1.Filter = "|*.txt" OpenFileDialog1.Title = "File Pesan" OpenFileDialog1.ShowDialog() End Sub Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, _

  ByVal e As System.ComponentModel.CancelEventArgs) Handles _ OpenFileDialog1.FileOk filePesan = OpenFileDialog1.FileName lblFilePesan.Text = filePesan 'OpenFileDialog1.FileName Dim fileDetailsPesan As System.IO.FileInfo = New _

  System.IO.FileInfo(filePesan) Dim SizePesan As Single = fileDetailsPesan.Length.ToString If filePesan = "" Then MsgBox("Pesan tidak ada", , _

  "ERR") : Exit Sub Dim pdllAF As New AdvanceFunction pdllAF.ReadFromFile(filePesan, TextBox1) cmdProses.Enabled = True LenPesan = Len(TextBox1.Text) jumBitPesan = LenPesan * 5 End Sub Sub CnvBITS() BitSampel2 = 0.85 * BitSampel2 End Sub Private Sub RadioButton2_Click(ByVal sender As Object, ByVal e As _ GroupBox3.Visible = False End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object,_

  ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged GroupBox3.Visible = True End Sub End Class

  Imports System.Text Imports System.Data.OleDb Public Class ASCIItoBIN Dim jumBit As Integer Dim jumByte As Integer 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) counter2 += 1 End While While DECnum > 0 If counter = 4 Then counter = 0 End If DECnum = DECnum / 2 If Int(DECnum) = DECnum Then BINstr = "0" & BINstr counter = counter + 1 Else 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 BINstr = "0000" + BINstr End Select BINmessage = BINmessage & BINstr & " " DECnumAsString = Nothing counter = Nothing BINstr = Nothing jumByte = jumByte + 1 Next jumBit = jumByte * 8 BINmessage = BINmessage.Remove(BINmessage.Length - 1, 1) Return BINmessage End Function Function ASC2HEX(ByVal StrName As String) As String Dim loopCount As Integer, strHold As String For loopCount = 1 To Len(StrName) strHold = strHold & " " & Hex(Asc(Mid(StrName, loopCount, 1))) frmStegoMLSB.ListBox2.Items.Add(Hex(Asc(Mid(StrName, _ loopCount, 1))))

  Next loopCount ASC2HEX = strHold End Function End Class

  Imports System.Data.OleDb Module ModAPP1 Public CMD As OleDbCommand = Nothing Public RD As OleDbDataReader = Nothing Public strConn As String Public Conn As OleDbConnection Public bolLogin As Boolean Public bolTambah As Boolean Public bolCari As Boolean Public X As String, Y 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 & "\dbStegano.mdb") Conn = New OleDbConnection(strConn) 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 Function Embeded(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 Embeded = txtcode End If End Function Public Function Extract(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 Extract = txtcode End Function End Module