Hi semua kali ini saya akan menampilkan sebuah bentuk validasi angka yang di implementasikan pada sebuah program penentu nilai ganjil atau tidak. Pertama-tama sediakan control textbox dengan nama = text1, sebuah Button dengan nama = CMDTENTUKAN dan dengan caption = &TENTUKAN, dengan posisi hampir seperti ini:

Klik dua kali pada text1 kemudian rubah dari Change menjadi keypressed seperti gambar dibawah ini:

Selanjutnya beri koding validasi seperti berikut:

Private Sub TEXT1_KEYPRESS(KEYASCII As Integer)

Select Case KEYASCII

Case vbKey0 To vbKey9, 8 'hanya karakter 0 sampai 9 yang harus di tekan

CMDTENTUKAN.Enabled = True

Exit Sub

Case 13 'backspace di tekan agar tidak keluar pesan

CMDTENTUKAN.SetFocus

Exit Sub

Case 45

MsgBox "minus dibawah nol dan tidak termasuk ganjil atau bukan ganjil"

KEYASCII = 0

Case Else

MsgBox "hanya boleh input angka dan tidak desimal"

KEYASCII = 0

End Select

End Sub

Selanjutnya pada tombol TENTUKAN beri coding seperti dibawah ini:

Private Sub CMDTENTUKAN_Click()

If Text1.Text = "" Then

nice:

MsgBox "ANDA BELUM MENGINPUT"


Else

If Not IsNumeric(Text1.Text) Then

MsgBox "karakter salah"


Else

If Val(Text1.Text) = 0 Then

MsgBox "angka 0 tidak termasuk ganjil atau genap"

bersihkan

Else

If Val(Text1.Text) < 0 Then

MsgBox "di bawah nol atau minus tidak termasuk bilangan ganjil atau bukan ganjil"

bersihkan

Else

If (vbKey0 <= Val(Text1.Text) <= vbKey9) And ((Text1.Text <> Chr(68)) Or (Text1.Text <> Chr(100))) Then

cariganjil (Text1.Text)

Else

MsgBox "maaf inputan salah"

End If

End If

End If

End If

End If

Text1.SetFocus

End Sub

Selanjutnya klik dua kali pada form dan beri coding:

Private Sub Form_Load()

Text1.MaxLength = 9 'maksimal karakter yang di inputkan agar tidak overlow


End Sub

Dibawah coding tersebut pasang coding ini:

Private Sub bersihkan()

Text1.Text = ""

End Sub

Function cariganjil(masuk As Long) As Long 'FUNGSI cari Ganjil dan Bukan Ganjil

Dim angka As Double

cekkoma ' agar koma yang di paksakan di ketahui

If Text1.Text <> "" Then

angka = masuk / 2

If angka <> Fix(angka) Then

MsgBox "GANJIL", , "Hasil"

Else

If angka = Val(Fix(angka)) Then

MsgBox "BUKAN GANJIL", , "Hasil"

Else

MsgBox "karakter salah"

End If


End If

End If

Text1.SetFocus

End Function

Private Sub cekkoma()

Dim b As Single

Dim c As String

b = 0

For i = 1 To Len(Str(Text1.Text))

b = b + 1

c = Mid(Text1.Text, b, 1)

If c = "," Or c = "." Then

MsgBox " ada titik atau koma!"

bersihkan


Else

If c = "d" Or c = "D" Then

bersihkan

MsgBox "KARAKTER SALAH"


End If

End If

Next

End Sub

Coding ini dapat diletakkan dimana saja namun diluar dari koding control. downlad bila anda kurang jelas di sini

TENTUKANGANJILTIDAK.RAR

 Selamat mencoba…