Membuat ReCaptcha Visual Basic (2008)

Ditulis oleh  First Ryan Saturday, 31 July 2010 14:20

Biasanya bila kita ingin berkomentar atau regristasi member pada sebuah situs. Kita akan dihadapkan pada sebuah scurity yang biasanya berbentuk Scurity Code atau yang sering kita sebut dengan ReCaptcha.

Yak, anda benar. pasti anda menebak kita akan membuat sebuah ReCaptcha. Tetapi kali ini kita tidak mengaplikasikanya di web melainkan di Program VisualBasic.

Fungsi ReCaptcha tidak lain adalah untuk mencegah bot/spam/sesuatu inputan data yang dilakukan oleh bukan-manusia,  yang menyebabkan menggelembungnya data. itu menurut saya loh,  hehehe.

Pada VB atau program lain, Scurity kode bisa gunakan untuk sebuah verifikasi data.

Ok, kita mulai saja.

Buat sebuah Form baru. Masukan component PictureBox (1), TextBox (1), Button.
lalu susun seperti gambar dibawah ini.

Captcha in VB2008

Pada Form1 Declaration tepat dibawah Public Class Form1 masukan Variable berikut.

Dim DrawingFont As New Font("Arial", 20)
Dim CaptchaImage As New Bitmap(140, 40)
Dim CaptchaGraf As Graphics = Graphics.FromImage(CaptchaImage)
Dim Alphabet As String = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"
Dim CaptchaString, TickRandom As String
Dim ProcessNumber As Integer

 

Lalu Kita buat Method baru dengan nama GenerateCaptcha.

Anda tinggal copy kode dibawah ini, dan paste paada Form1 anda. Maka Method akan langsung dibuat secara otomatis.

Private Sub GenerateCaptcha()
        ProcessNumber = My.Computer.Clock.LocalTime.Millisecond
        If ProcessNumber < 521 Then
            ProcessNumber = ProcessNumber \ 10
            CaptchaString = Alphabet.Substring(ProcessNumber, 1)
        Else
            CaptchaString = CStr(My.Computer.Clock.LocalTime.Second \ 6)
        End If
        ProcessNumber = My.Computer.Clock.LocalTime.Second
        If ProcessNumber < 30 Then
            ProcessNumber = Math.Abs(ProcessNumber - 8)
            CaptchaString += Alphabet.Substring(ProcessNumber, 1)
        Else
            CaptchaString += CStr(My.Computer.Clock.LocalTime.Minute \ 6)
        End If
        ProcessNumber = My.Computer.Clock.LocalTime.DayOfYear
        If ProcessNumber Mod 2 = 0 Then
            ProcessNumber = ProcessNumber \ 8
            CaptchaString += Alphabet.Substring(ProcessNumber, 1)
        Else
            CaptchaString += CStr(ProcessNumber \ 37)
        End If
        TickRandom = My.Computer.Clock.TickCount.ToString
        ProcessNumber = Val(TickRandom.Substring(TickRandom.Length - 1, 1))
        If ProcessNumber Mod 2 = 0 Then
            CaptchaString += CStr(ProcessNumber)
        Else
            ProcessNumber = Math.Abs(Int(Math.Cos(Val(TickRandom)) * 51))
            CaptchaString += Alphabet.Substring(ProcessNumber, 1)
        End If
        ProcessNumber = My.Computer.Clock.LocalTime.Hour
        If ProcessNumber Mod 2 = 0 Then
            ProcessNumber = Math.Abs(Int(Math.Sin(Val(My.Computer.Clock.LocalTime.Year)) * 51))
            CaptchaString += Alphabet.Substring(ProcessNumber, 1)
        Else
            CaptchaString += CStr(ProcessNumber \ 3)
        End If
        ProcessNumber = My.Computer.Clock.LocalTime.Millisecond
        If ProcessNumber > 521 Then
            ProcessNumber = Math.Abs((ProcessNumber \ 10) - 52)
            CaptchaString += Alphabet.Substring(ProcessNumber, 1)
        Else
            CaptchaString += CStr(My.Computer.Clock.LocalTime.Second \ 6)
        End If
        CaptchaGraf.Clear(Color.White)

        For hasher As Integer = 0 To 5
            CaptchaGraf.DrawString(CaptchaString.Substring(hasher, 1), DrawingFont, Brushes.Black, hasher * 20 + hasher + ProcessNumber \ 200, (hasher Mod 3) * (ProcessNumber \ 200))

        Next
        PictureBox1.Image = CaptchaImage

    End Sub

 

Klik 2 kali pada button Check. Lalu tambahkan kode dibawah ini.

If TextBox1.Text = "" Then

  MsgBox("Mohon Masukan Kode Verifikasi", MsgBoxStyle.Information)
  GenerateCaptcha()

ElseIf TextBox1.Text = CaptchaString Then

  MsgBox("Kode Benar." + Chr(13) + "Coba yang lainya", MsgBoxStyle.Information)
  TextBox1.Clear()
  GenerateCaptcha()

Else
  MsgBox("Kode Salah !", MsgBoxStyle.Exclamation)
  TextBox1.Clear()
  GenerateCaptcha()

End If

kode diatas akan mengeksikusi inputan yang kita masukan pada InputText nantinya.

 

Klik 2x Form anda. Lalu pada Method Load tambahkan kode dibawah ini yang fungsinya untuk meng-generate ReCaptcha.

GenerateCaptcha()

Yang Terakhir Pilih TextBox1 dengan Method KeyPress. Lalu masukan kode dibawah ini

If e.KeyChar = Chr(13) Then Button2.PerformClick()

Contoh Program + File pendukung (background) + PDF dapat anda download dibawah ini.

Selamat mencoba. Semoga tutorial kali ini berguna dan bermanfaat, terimakasih.

Download Program dan PDF

Last modified on Wednesday, 21 September 2011 16:08
First Ryan

First Ryan

Seorang Blogger yang tertarik dengan segala sesuatu yang berhubungan dengan tekhnologi website.

Website: firstryan.net

Leave a comment

Pastikan anda mengisi data dengan banar. tanda (*) harus di isi.
Budayakan berkomentar yang sopan. Kami selalu menerima kritik dan saran.

You are here Tutorial Tutorial Pemrograman VB dan VB.Net Membuat ReCaptcha Visual Basic (2008)

Email Feed

Kirim artikel terbaru via email:

Delivered by FeedBurner