Perbandingan Penyisipan Pesan ke dalam File Citra True color dengan Algoritma End of File (EOF) dan Least Significant Bit (LSB).

  

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

  End Sub

  EOF

  Public Class EOF Public lokasi As String = "" Public lokasi2 As String = "" Public namaFile As String = "" Public namaFile2 As String = "" Public besarFileAsli As Long = 0 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 OpenFileDialog1.Title = "Buka File Gambar" OpenFileDialog1.Filter = "BMP Files (*.bmp)|*.bmp|JPEG Files

  (*.jpeg)|*.jpeg|JPG Files (*.jpg)|*.jpg|All files (*.*)|*.*"

  OpenFileDialog1.FilterIndex = 1 OpenFileDialog1.RestoreDirectory = True OpenFileDialog1.FileName = "" OpenFileDialog1.ShowDialog()

  End Sub 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 8 agar tidak terjadi error.

  If temp.Length > 8 Then temp = temp.Substring(temp.Length - 8)

  End If If temp <> "-EOF.bmp" Then 'Inisialisasi pembukaan file.

  Dim strm As System.IO. Stream strm = OpenFileDialog1.OpenFile() lokasi = OpenFileDialog1.FileName.ToString

  FormUtama .lokasiEof = lokasi

  namaFile = OpenFileDialog1.SafeFileName.ToString namaFile = namaFile.Remove(namaFile.Length - 4) besarFileAsli = New System.IO. FileInfo (lokasi).Length

  FormUtama .besarFileEof = besarFileAsli 'besarFileAsli *= 0.000976562 'Masukkan gambar pada textbox

  PictureBox1.ImageLocation = lokasi PictureBox1.SizeMode = PictureBoxSizeMode .StretchImage

  If IsNothing(strm) Then strm.Close()

  End If Else

  LSB

  Public Class LSB Public lokasi As String = "" Public lokasi2 As String = "" Public namaFile As String = "" Public namaFile2 As String = "" Public besarFileAsli As Long = 0 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 OpenFileDialog1.Title = "Buka File Gambar" OpenFileDialog1.Filter = "BMP Files (*.bmp)|*.bmp|JPEG Files

  (*.jpeg)|*.jpeg|JPG Files (*.jpg)|*.jpg|All files (*.*)|*.*"

  OpenFileDialog1.FilterIndex = 1 OpenFileDialog1.RestoreDirectory = True OpenFileDialog1.FileName = "" OpenFileDialog1.ShowDialog()

  End Sub 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 8 agar tidak terjadi error.

  If temp.Length > 8 Then temp = temp.Substring(temp.Length - 8)

  End If If temp <> "-LSB.bmp" Then 'Inisialisasi pembukaan file.

  Dim strm As System.IO. Stream strm = OpenFileDialog1.OpenFile() lokasi = OpenFileDialog1.FileName.ToString

  FormUtama .lokasiLsb = lokasi

  namaFile = OpenFileDialog1.SafeFileName.ToString namaFile = namaFile.Remove(namaFile.Length - 4) besarFileAsli = New System.IO. FileInfo (lokasi).Length

  FormUtama .besarFileLsb = besarFileAsli 'besarFileAsli *= 0.000976562 'Masukkan gambar pada textbox

  PictureBox1.ImageLocation = lokasi PictureBox1.SizeMode = PictureBoxSizeMode .StretchImage sudahSisip = False

  If IsNothing(strm) Then strm.Close()

  End If Else 'Inisialisasi pembukaan file.

  Dim strm As System.IO. Stream namaFile2 = OpenFileDialog1.SafeFileName.ToString

  'Masukkan gambar pada textbox

  PictureBox1.ImageLocation = lokasi2 PictureBox1.SizeMode = PictureBoxSizeMode .StretchImage sudahSisip = True

  If IsNothing(strm) Then strm.Close()

  End If End If

  End Sub Private Sub Button2_Click( ByVal sender As System. Object , ByVal e

  As System. EventArgs ) Handles Button2.Click If lokasi = "" Then

  MsgBox( "Gambar belum di masukkan!" ) Else

  If TextBox1.Text.Length = 0 Then MsgBox( "Pesan yang ingin disisipkan kosong!" )

  Else If ((TextBox1.Text.Length * 8) + 1) >

  ((PictureBox1.Image.Width * PictureBox1.Image.Height) * 3) Then MsgBox( "Dimensi gambar tidak cukup untuk

  menampung pesan!" )

  ElseIf sudahSisip = True Then MsgBox( "Gambar yang dipilih adalah gambar yang

  sudah disisipi!" )

  PictureBox1.Image = Nothing TextBox1.Text = "" Button1.Focus()

  Else

  'Masukkan gambar kepada variabel bmp

  Dim bmp As New Bitmap (lokasi)

  'Inisialisasi kelas LSB

  bmp = kelas.leastSignificantBit(bmp, TextBox1.Text & "#" ) PictureBox1.Image = bmp

  'Beri nama file dengan akhiran -LSB agar dapat diketahui gambar yang telah disisipi text atau tidak.

  Dim lokasiNamaFile As String =

  Environment .CurrentDirectory & "\" & namaFile & "-LSB.bmp" FormUtama .lokasi2Lsb = lokasiNamaFile 'Simpan gambar

  bmp.Save(lokasiNamaFile, System.Drawing.Imaging. ImageFormat .Bmp) besarFileSetelahProses = New System.IO. FileInfo (lokasiNamaFile).Length

  FormUtama .besarFile2Lsb = besarFileSetelahProses 'besarFileSetelahProses *= 0.000976562

  TextBox1.Clear() PictureBox1.Image = Nothing MsgBox( "Pesan telah disisip, disimpan pada " & lokasiNamaFile)

  End If End If

  End If End Sub 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 End Sub

  End Class

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

  Dim bmp1 As New Bitmap ( FormUtama .lokasiLsb) pBoxLSB1.Image = bmp1 pBoxLSB1.SizeMode = PictureBoxSizeMode .StretchImage lokasiLSB1.Text = FormUtama .lokasiLsb besarLSB1.Text = FormUtama .besarFileLsb & " Byte" resolusiLSB1.Text = bmp1.Width & " x " & bmp1.Height lblWaktuSisipLSB.Text = FormUtama .waktuSisipLsb & " ms"

  Dim bmp2 As New Bitmap ( FormUtama .lokasi2Lsb) pBoxLSB2.Image = bmp2 pBoxLSB2.SizeMode = PictureBoxSizeMode .StretchImage lokasiLSB2.Text = FormUtama .lokasi2Lsb besarLSB2.Text = FormUtama .besarFile2Lsb & " Byte" resolusiLSB2.Text = bmp2.Width & " x " & bmp2.Height 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!" ) Else

  Dim bmp1 As New Bitmap ( FormUtama .lokasiEof) pBoxEof1.Image = bmp1 pBoxEof1.SizeMode = PictureBoxSizeMode .StretchImage lokasiEof1.Text = FormUtama .lokasiEof besarEof1.Text = FormUtama .besarFileEof & " Byte" resolusiEof1.Text = bmp1.Width & " x " & bmp1.Height lblWaktuSisipEof.Text = FormUtama .waktuSisipEof & " ms"

  Dim bmp2 As New Bitmap ( FormUtama .lokasi2Eof) pBoxEof2.Image = bmp2 pBoxEof2.SizeMode = PictureBoxSizeMode .StretchImage lokasiEof2.Text = FormUtama .lokasi2Eof besarEof2.Text = FormUtama .besarFile2Eof & " Byte" resolusiEof2.Text = bmp2.Width & " x " & bmp2.Height 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 End Sub

  End Class

  TENTANG

  End If multi += 1 i -= 1

  For i As Integer = 0 To 8 - biner.Length - 1 biner = biner.Insert(i, "0" )

  End While If biner.Length < 8 Then

  2 desimal = Math .Floor(desimal / 2) biner = biner.Insert(0, temp.ToString)

  Dim biner As String = "" Dim temp As Integer = 0 While (desimal > 0) temp = desimal Mod

  End Function Private Function desimalKeBiner( ByVal desimal As Integer )

  Loop Return hasil

  If biner.Substring(i, 1) = "1" Then hasil += Math .Pow(2, multi)

  Public Class Tentang Private Sub Label1_Click( ByVal sender As System. Object , ByVal e

  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)

  End Class CLASS Imports System.Drawing Public Class Kelas

  As System. EventArgs ) Handles Label1.Click End Sub

  Public Class Help Private Sub Label1_Click( ByVal sender As System. Object , ByVal e

  HELP

  End Class

  As System. EventArgs ) Handles Label1.Click End Sub

  Next End If Return biner Public Function leastSignificantBit( ByVal bmp As Bitmap , ByVal txt As String )

  Dim waktu As DateTime = DateTime .Now Dim selang As TimeSpan Dim maksX As Integer = bmp.Width Dim maksY As Integer = bmp.Height Dim str As String = "" Dim z As Integer = 0 Dim habis As Boolean = False

  'Ubah setiap karakter dari string menjadi ASCII lalu ubah kedalam bentuk biner.

'Tambahkan setiap 8 bit biner kedalam String str untuk

mempermudah penyisipan.

  For i As Integer = 0 To (txt.Length - 1) str += desimalKeBiner(AscW(txt.Substring(i, 1)))

  Next 'Perulangan dari kiri atas gambar hingga kanan bawah gambar. For y As Integer = 0 To (maksY - 1)

  For x As Integer = 0 To (maksX - 1)

  'Ambil R,G,B dari setiap Piksel dan ubah kedalam bentuk biner lalu masukkan ke variabel merah,hijau,biru.

  Dim merah As String = desimalKeBiner(bmp.GetPixel(x, y).R)

  Dim hijau As String = desimalKeBiner(bmp.GetPixel(x, y).G)

  Dim biru As String = desimalKeBiner(bmp.GetPixel(x, y).B)

  'Cek apakah penyisipan bit telah selesai / sampai z = panjang dari str.

  If z < str.Length Then

'Buang bit terakhir dari merah.

merah = merah.Remove(7, 1) 'Sisipkan bit ke z dari str pada merah. merah = merah.Insert(7, str.Substring(z, 1))

  'Tambahkan z agar dapat membaca bit selanjutnya pada str.

  z += 1 End If

  'Cek apakah penyisipan bit telah selesai / sampai z = panjang dari str.

  If z < str.Length Then

'Buang bit terakhir dari hijau.

hijau = hijau.Remove(7, 1) 'Sisipkan bit ke z dari str pada hijau. hijau = hijau.Insert(7, str.Substring(z, 1))

  'Tambahkan z agar dapat membaca bit selanjutnya pada str.

  z += 1 End If

  'Cek apakah penyisipan bit telah selesai / sampai z = panjang dari str.

  If z < str.Length Then

'Buang bit terakhir dari biru. biru = biru.Remove(7, 1) biru = biru.Insert(7, str.Substring(z, 1))

  'Tambahkan z agar dapat membaca bit selanjutnya pada str.

  FormUtama .waktuSisipLsb = selang.TotalMilliseconds 'Lempar kembali bmp ke si pemanggil fungsi ini.

  If z = 8 Then

  'Cek apakah z=8 / bit yang telah terbaca sudah terdapat 8 bit.

  Dim biru As String = desimalKeBiner(bmp.GetPixel(x, y).B)

  Dim hijau As String = desimalKeBiner(bmp.GetPixel(x, y).G)

  Dim merah As String = desimalKeBiner(bmp.GetPixel(x, y).R)

  'Ambil R,G,B dari setiap Piksel dan ubah kedalam bentuk biner lalu masukkan ke variabel merah,hijau,biru.

  For y As Integer = 0 To (maksY - 1) For x As Integer = 0 To (maksX - 1)

  Dim waktu As DateTime = DateTime .Now Dim selang As TimeSpan Dim maksX As Integer = bmp.Width Dim maksY As Integer = bmp.Height Dim str As String = "" Dim biner As String = "" Dim z As Integer = 0 Dim selesai As Boolean = False 'Perulangan dari kiri atas gambar hingga kanan bawah gambar.

  Return bmp End Function Public Function ekstraksiLSB( ByVal bmp)

  Next 'Hitung selang waktu. selang = DateTime .Now - waktu

  z += 1 End If

  Exit For End If

  Next

'Jika habis = true, keluar dari perulangan y.

If habis Then

  Exit For End If

  If z = str.Length Then habis = True

  'Jika z = panjang dari str, maka habis = true dan keluar dari perulangan x.

  binerKeDesimal(biru)))

  Color .FromArgb(binerKeDesimal(merah), binerKeDesimal(hijau),

  bmp.SetPixel(x, y,

  'Masukkan piksel yang telah dirubah R,G,B nya kepada bmp.

  'Ubah biner ke desimal ASCII lalu ubah kembali

  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 selesai = True

  Exit For End If

  'Jika tidak tambahkan karakter yang didapatkan kepada String str.

  str += temp

  'Set z=0 agar dapat diketahui berapa bit yang telah terbaca.

  z = 0

  'Kosongkan String biner

  biner = "" End If

  'Ambil bit terakhir dari merah, dan tambahkan kedalam String biner.

  biner += merah.Substring(7, 1) 'Tambahkan indeks z. z += 1

  'Cek apakah z=8 / bit yang telah terbaca sudah terdapat 8 bit.

  If z = 8 Then

  'Ubah biner ke desimal ASCII lalu ubah kembali menjadi karakter biasa, masukkan dalam variabel temp.

  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 selesai = True

  Exit For End If

  'Jika tidak tambahkan karakter yang didapatkan kepada String str.

  str += temp

  'Set z=0 agar dapat diketahui berapa bit yang telah terbaca.

  z = 0

  'Kosongkan String biner

  biner = "" End If

  'Ambil bit terakhir dari hijau, dan tambahkan kedalam String biner.

  biner += hijau.Substring(7, 1) 'Tambahkan indeks z. z += 1

  'Cek apakah z=8 / bit yang telah terbaca sudah terdapat 8 bit.

  If z = 8 Then

  'Ubah biner ke desimal ASCII lalu ubah kembali menjadi karakter biasa, masukkan dalam variabel temp.

  Dim temp As String =

  'Jika karakter yang ditemukan = # maka proses ekstraksi telah selesai / selesai=true, keluar dari perulangan x.

  Next 'Hitung selang waktu. selang = DateTime .Now - waktu

  For y As Integer = 0 To maksY - 1 For x As Integer = 0 To maksX - 1

  

'Isi semua pixel gambar asli kepada gambar yang akan

ditambahkan pesan.

  Dim z As Integer = 0 Dim habis = False 'Beri penanda pada awal pesan dan akhir pesan. txt = txt.Insert(0, "#" ) txt = txt.Insert(txt.Length, "#" )

  Dim bmp2 As New Bitmap (maksX, bmp.Height + penambahanPadaY + 1)

  Dim penambahanPadaY As Integer = Math .Ceiling(Val(txt.Length) / Val(maksX))

  'Hitung penambahan pada Y dengan rumus bulatkan keatas(panjang teks / tinggi gambar).

  String ) Dim waktu As DateTime = DateTime .Now Dim selang As TimeSpan Dim maksX As Integer = bmp.Width Dim maksY As Integer = bmp.Height

  Return str End Function Public Function endOfFile( ByVal bmp As Bitmap , ByVal txt As

  

FormUtama .waktuEkstraksiLsb = selang.TotalMilliseconds

'Lempar kembali String str kepada si pemanggil fungsi.

  Exit For End If

  If temp = "#" Then selesai = True

  Next

'Jika selesai = true, keluar dari perulangan y.

If selesai Then

  biner += biru.Substring(7, 1) 'Tambahkan indeks z. z += 1

  'Ambil bit terakhir dari biru, dan tambahkan kedalam String biner.

  biner = "" End If

  'Kosongkan String biner

  z = 0

  'Set z=0 agar dapat diketahui berapa bit yang telah terbaca.

  str += temp

  'Jika tidak tambahkan karakter yang didapatkan kepada String str.

  Exit For End If

  Dim merah As Integer = bmp.GetPixel(x, y).R

  Dim biru As Integer = bmp.GetPixel(x, y).B bmp2.SetPixel(x, y, Color .FromArgb(merah, hijau, biru))

  Next Next

  'Perulangan dari tinggi maksimum gambar sampai penambahan yang telah dihitung.

  For y As Integer = maksY To maksY + penambahanPadaY For x As Integer = 0 To maksX - 1

  'Cek apakah z = panjang text. Jika sudah, habis = true dan isi semua piksel yang belum terisi sepanjang X dengan 0(NULL) / warna hitam.

  If z = txt.Length Then habis = True bmp2.SetPixel(x, y, Color .FromArgb(0, 0, 0))

  Else

  'Ambil 1 karakter pada String txt dan ubah menjadi ASCII.

  Dim karakter As Integer = AscW(txt.Substring(z, 1)) 'Tambahkan indeks z. z += 1

  'Masukkan piksel yang berisikan nilai karakter,karakter,karakter sebagai R,G,B pada bmp2.

  bmp2.SetPixel(x, y, Color .FromArgb(karakter, karakter, karakter)) End If

  Next 'Jika habis = true, maka keluar dari perulangan y. If habis Then

  Exit For End If

  Next 'Hitung selang Waktu. selang = DateTime .Now - waktu

  FormUtama .waktuSisipEof = selang.TotalMilliseconds ' Lempar kembali bmp2 kepada si pemanggil fungsi.

  Return bmp2 End Function Public Function ekstraksiEOF( ByVal bmp As Bitmap )

  Dim waktu As DateTime = DateTime .Now Dim selang As TimeSpan Dim maksY As Integer = bmp.Height Dim maksX As Integer = bmp.Width Dim str As String = "" Dim start As Boolean = False Dim selesai As Boolean = False Dim x As Integer = maksX - 1 Dim y As Integer = maksY - 1

  'Perulangan dari maksimumY dan maksimumX hingga selesai = true.

  Do While (selesai = False )

  'Ambil R dari bmp dan ubah menjadi karakter lalu masukkan kepada variabel karakter.

  Dim karakter As String = Chr(bmp.GetPixel(x, y).R)

  'Jika start = true.

  End If

  Return str End Function

  

FormUtama .waktuEkstraksiEof = selang.TotalMilliseconds

'Lempar kembali str kepada si pemanggil fungsi.

  End If Loop 'Hitung selang waktu. selang = DateTime .Now - waktu

  x = maksX - 1 'Kurangi y agar dpt membaca baris berikutnya. y -= 1

  'Ini menandakan baris tertentu telah terbaca semuanya. 'Jika x = 0 maka x = maksimumX dari gambar dikurang 1.

  Else

  If x > 0 Then x -= 1

  'Jika x masi lebih besar dari 0, kurangi x agar dapat membaca kolom piksel selanjutnya.

  If y <= 0 Then Exit Do

  If start Then

  Exit Do End If 'Jika y<0 keluar perulangan agar tidak terjadi error.

  str = str.Remove(0, 1) 'Keluar dari perulangan. selesai = True

  'Hilangkan indeks ke 0 dari String str agar tanda # tidak terikut ke pesan.

  start = True ElseIf karakter = "#" And start = True Then 'Jika karakter = # dan start = true.

  'Telah ditemukan tanda pagar, inisialisasi start = true.

  If karakter = "#" And start = False Then

  str = str.Insert(0, karakter) End If 'Jika karakter = # dan start = false.

  'Masukkan karakter ke String str, di indeks ke 0 String str tersebut.

  End Class

  ASCII Table ( ASCII = A merican S tandard C ode for I nformation I nterchage)

Decimal Octal Hex Binary Character

  048 060 30 00110000 0 049 061 31 00110001 1 050 062 32 00110010 2 051 063 33 00110011 3 052 064 34 00110100 4 053 065 35 00110101 5 054 066 36 00110110 6 055 067 37 00110111 7 056 070 38 00111000 8 057 071 39 00111001 9 065 101 41 01000001 A 066 102 42 01000010 B 067 103 43 01000011 C 068 104 44 01000100 D 069 105 45 01000101 E 070 106 46 01000110 F 071 107 47 01000111 G 072 110 48 01001000 H 073 111 49 01001001 I 074 112 4A 01001010 J 075 113 4B 01001011 K 076 114 4C 01001100 L 077 115 4D 01001101 M 078 116 4E 01001110 N 079 117 4F 01001111 O 080 120 50 01010000 P 081 121 51 01010001 Q 082 122 52 01010010 R 083 123 53 01010011 S 084 124 54 01010100 T 085 125 55 01010101 U 086 126 56 01010110 V 087 127 57 01010111 W 088 130 58 01011000 X 089 131 59 01011001 Y 090 132 5A 01011010 Z 097 141 61 01100001 a 098 142 62 01100010 b 099 143 63 01100011 c 100 144 64 01100100 d 101 145 65 01100101 e 102 146 66 01100110 f 103 147 67 01100111 g 104 150 68 01101000 h 105 151 69 01101001 i 106 152 6A 01101010 j

  108 154 6C 01101100 l 109 155 6D 01101101 m 110 156 6E 01101110 n 111 157 6F 01101111 o 112 160 70 01110000 p 113 161 71 01110001 q 114 162 72 01110010 r 115 163 73 01110011 s 116 164 74 01110100 t 117 165 75 01110101 u 118 166 76 01110110 v 119 167 77 01110111 w 120 170 78 01111000 x 121 171 79 01111001 y 122 172 7A 01111010 z

  Data Personal Nama : Cindy Violita.

  Tempat/Tanggal Lahir : Medan/7 November 1990 Jenis Kelamin : Perempuan Status Perkawinan : Belum Kawin Alamat Lengkap : Jl. A.R.Hakim GG.Sukahati No.5 Medan. Kode pos 20216 Telp/Hp : 061 – 7361366 / 081375368884 Email :Indylubis@gmail.com Riwayat Pendidikan Universitas Sumatera Utara dari Tahun 2008 s/d Tahun 2013 SMA Negeri 10 Medan dari Tahun 2005 s/d Tahun 2008 SMP Negeri 3 Medan dari Tahun 2002 s/d Tahun 2005 SD Swasta Kartini Medan dari Tahun 1996 s/d Tahun 2002 Kemampuan 1.

  Dance 2. Modeling