LISTING PROGRAM
TAMPILAN UTAMA
Public Class FormUtama
Public lokasiLsb As String Public lokasi2Lsb As String Public besarFileLsb As Long Public besarFile2Lsb As Long Public lokasiEof As String Public lokasi2Eof As String Public besarFileEof As Long Public besarFile2Eof As Long Public waktuSisipLsb As Long Public waktuSisipEof As Long Public waktuEkstraksiLsb As Long Public waktuEkstraksiEof As Long
Private Sub LSBToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
LSBToolStripMenuItem.Click Dim frm As New LSB frm.Show()
End Sub
Private Sub EOFToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
EOFToolStripMenuItem.Click Dim frm As New EOF frm.Show()
End Sub
Private Sub MDIParent1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ExitToolStripMenuItem.Click Me.Close()
End Sub
Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
AboutToolStripMenuItem.Click Dim frm As New Tentang frm.Show()
EOF
Public besarFileSetelahProses As Long = 0 Dim kelas As New Kelas()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles
OpenFileDialog1.FileOk
'Buka file gambar
'Variabel temp untuk menampung nama file sementara, jika
diujung nama file terdapat terdapat -EOF.bmp berarti file tersebut sudah tersisip gambar.
Dim temp = OpenFileDialog1.SafeFileName.ToString
'Cek apakah file tersebut memiliki panjang string lebih dari
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage If IsNothing(strm) Then
strm.Close() End If
LSB
Public besarFileSetelahProses As Long = 0 Dim sudahSisip = False
Dim kelas As New Kelas()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles
OpenFileDialog1.FileOk
'Buka file gambar
'Variabel temp untuk menampung nama file sementara, jika
diujung file terdapat terdapat -LSB.bmp berarti file tersebut sudah tersisip gambar.
Dim temp = OpenFileDialog1.SafeFileName.ToString
'Cek apakah file tersebut memiliki panjang string lebih dari
namaFile2 = OpenFileDialog1.SafeFileName.ToString
'Masukkan gambar pada textbox
PictureBox1.ImageLocation = lokasi2
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage sudahSisip = True
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
diketahui gambar yang telah disisipi text atau tidak. Dim lokasiNamaFile As String =
Environment.CurrentDirectory & "\" & namaFile & "-LSB.bmp"
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If lokasi2 = "" Then
MsgBox("Gambar hasil sisip LSB belum di masukkan") Else
Dim bmp As New Bitmap(lokasi2)
TextBox1.Text = kelas.ekstraksiLSB(bmp) End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
PictureBox1.Image = Nothing TextBox1.Text = ""
lokasi = ""
lokasi2 = ""
namaFile = ""
namaFile2 = ""
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If namaFile = "" Then
MsgBox("Masukkan gambar terlebih dahulu!") TextBox1.Clear()
Button1.Focus() Else
If IsNothing(PictureBox1.Image) Then Else
Label1.Text = TextBox1.Text.Length & " / " &
Math.Floor((((PictureBox1.Image.Width * PictureBox1.Image.Height) * 3) / 8) - 1)
End If
End If End Sub
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
LAPORAN
Public Class Laporan
Private Sub Laporan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If FormUtama.lokasiLsb = "" Or FormUtama.lokasi2Lsb = "" Or FormUtama.besarFileLsb = 0 Or FormUtama.besarFile2Lsb = 0 Then MsgBox("Penyisipan / Ekstraksi LSB belum di lakukan!") lblWaktuEkstraksiLSB.Text = FormUtama.waktuEkstraksiLsb &
" ms"
End If
If FormUtama.lokasiEof = "" Or FormUtama.lokasi2Eof = "" Or FormUtama.besarFileEof = 0 Or FormUtama.besarFile2Eof = 0 Then MsgBox("Penyisipan / Ekstraksi EOF belum di lakukan!") lblWaktuEkstraksiEof.Text = FormUtama.waktuEkstraksiEof &
" ms"
End If End Sub
Private Sub pBoxLSB2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pBoxLSB2.Click
TENTANG
Public Class Tentang
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
End Sub End Class
HELP
Public Class Help
Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
End Sub End Class
CLASS
Imports System.Drawing Public Class Kelas
Private Function binerKeDesimal(ByVal biner As String) Dim hasil As Integer = 0
Dim multi As Integer = 0
Dim i As Integer = biner.Length - 1
Do While (i >= 0)
If biner.Substring(i, 1) = "1" Then hasil += Math.Pow(2, multi) End If
multi += 1 i -= 1 Loop
Return hasil End Function
Private Function desimalKeBiner(ByVal desimal As Integer) Dim biner As String = ""
Dim temp As Integer = 0 While (desimal > 0) temp = desimal Mod 2
desimal = Math.Floor(desimal / 2) biner = biner.Insert(0, temp.ToString) End While
If biner.Length < 8 Then
For i As Integer = 0 To 8 - biner.Length - 1 biner = biner.Insert(i, "0")
Next End If
biru = biru.Insert(7, str.Substring(z, 1))
FormUtama.waktuSisipLsb = selang.TotalMilliseconds
'Lempar kembali bmp ke si pemanggil fungsi ini.
Return bmp End Function
Dim temp As String = Chr(binerKeDesimal(biner)).ToString
'Jika karakter yang ditemukan = # maka proses
ekstraksi telah selesai / selesai=true, keluar dari perulangan x. If temp = "#" Then
'Jika karakter yang ditemukan = # maka proses ekstraksi telah selesai / selesai=true, keluar dari perulangan x. If temp = "#" Then
FormUtama.waktuEkstraksiLsb = selang.TotalMilliseconds
'Lempar kembali String str kepada si pemanggil fungsi.
Return str End Function
Public Function endOfFile(ByVal bmp As Bitmap, ByVal txt As String)
Dim biru As Integer = bmp.GetPixel(x, y).B
true dan isi semua piksel yang belum terisi sepanjang X dengan 0(NULL) / warna hitam.
FormUtama.waktuSisipEof = selang.TotalMilliseconds
' Lempar kembali bmp2 kepada si pemanggil fungsi.
Return bmp2 End Function
'Jika start = true. If start Then
'Masukkan karakter ke String str, di indeks ke 0
String str tersebut.
str = str.Insert(0, karakter) End If
'Jika karakter = # dan start = false.
If karakter = "#" And start = False Then
'Telah ditemukan tanda pagar, inisialisasi start =
true.
start = True
ElseIf karakter = "#" And start = True Then
'Jika karakter = # dan start = true.
'Hilangkan indeks ke 0 dari String str agar tanda #
tidak terikut ke pesan.
str = str.Remove(0, 1)
'Keluar dari perulangan.
selesai = True Exit Do
End If
'Jika y<0 keluar perulangan agar tidak terjadi error.
If y <= 0 Then Exit Do End If
'Jika x masi lebih besar dari 0, kurangi x agar dapat
membaca kolom piksel selanjutnya. If x > 0 Then
x -= 1 Else
'Ini menandakan baris tertentu telah terbaca
semuanya.
'Jika x = 0 maka x = maksimumX dari gambar dikurang
1.
x = maksX - 1
'Kurangi y agar dpt membaca baris berikutnya.
y -= 1 End If Loop
'Hitung selang waktu.
selang = DateTime.Now - waktu
FormUtama.waktuEkstraksiEof = selang.TotalMilliseconds
'Lempar kembali str kepada si pemanggil fungsi.