Senin, 07 Mei 2012

Cara membuat Kalkulator Sederhana Mengunakan VB 6

Posted by By4n_Nur4 15.09, under | No comments

Cara membuat Kalkulator Sederhana Mengunakan VB 6

Program kalkulator adalah program standar yang sudah tersedia di Microsoft Windows. Tetapi, tak ada
salahnya jika kita mencoba membuat kalkulator sendiri dengan Microsoft Visual Basic 6.0.

Pertama-tama, buatlah sebuah form sesuai selera Anda, yang bentuknya kurang lebih seperti
kalkulator standar Windows, seperti ini:





Untuk properties dari masing-masing objek, saya contohkan seperti dibawah ini, dengan letak
masing-masing objek disesuaikan dengan gambar diatas.

Textbox 1:
(Name) : txtDisplay
Alignment: 1-Right Justify
Text : (kosongkan)
Maxlength : 12

Command Button 1:
(Name) : cmdAngka
Index :  1
Caption : 1

Command Button 2:
(Name) : cmdAngka
Index :  2
Caption : 2

Command Button 3:
(Name) : cmdAngka
Index :  3
Caption : 3

Command Button 4:
(Name) : cmdAngka
Index :  4
Caption : 4

Command Button 5:
(Name) : cmdAngka
Index :  5
Caption : 5

Command Button 6:
(Name) : cmdAngka
Index :  6
Caption : 6

Command Button 7:
(Name) : cmdAngka
Index :  7
Caption : 7

Command Button 8:
(Name) : cmdAngka
Index :  8
Caption : 8

Command Button 9:
(Name) : cmdAngka
Index :  9
Caption : 9

Command Button 10:
(Name) : cmdAngka
Index :  0
Caption : 0

Command Button 11:
(Name) : cmdPlusMinus
Caption : +/-

Command Button 12:
(Name) : cmdKoma
Caption : .

Command Button 13:
(Name) : cmdOperator
Index :  1
Caption : +


Command Button 14:
(Name) : cmdOperator
Index :  2
Caption : -

Command Button 15:
(Name) : cmdOperator
Index :  3
Caption : x

Command Button 16:
(Name) : cmdOperator
Index :  4
Caption : /

Command Button 17:
(Name) : cmdClearEntry
Caption : CE

Command Button 18:
(Name) : cmdClear
Caption : C

Command Button 19:
(Name) : cmdSamaDengan
Caption : = 

Berikutnya, Anda tinggal membuat coding dari kalkulator tersebut. Jika Anda mengikuti semua
setting properties seperti diatas, maka codingnya saya contohkan seperti ini:

Option Explicit

Private Hasil As Double
Private Const opNol = 0
Private Const opTambah = 1
Private Const opKurang = 2
Private Const opKali = 3

Private Const opBagi = 4
Private Operator As Integer
Private NilaiBaru As Boolean

' untuk menghapus karakter terakhir
Private Sub Hapus()
Dim txt As String
Dim min_len As Integer

    txt = txtDisplay.Text
    If Left$(txt, 1) = "-" Then
        min_len = 2
    Else
        min_len = 1
    End If
   
    If Len(txt) > min_len Then
        txtDisplay.Text = Left$(txt, Len(txt) - 1)
    Else
        txtDisplay.Text = "0"
    End If
End Sub

' hapus angka, hasil terakhir dan operator
Private Sub cmdClear_Click()
    cmdClearEntry_Click
    Hasil = 0
    Operator = opNol
End Sub

' hapus angka
Private Sub cmdClearEntry_Click()
    txtDisplay.Text = ""
End Sub


' menambahkan koma (desimal)
Private Sub cmdKoma_Click()
    If InStr(txtDisplay.Text, ".") Then
        Beep
    Else
        If NilaiBaru Then
            txtDisplay.Text = "."
            NilaiBaru = False
        Else
            txtDisplay.Text = txtDisplay.Text & "."
        End If
    End If
End Sub

' Menghitung
Private Sub cmdSamaDengan_Click()
Dim HasilBaru As Double

    If txtDisplay.Text = "" Then
        HasilBaru = 0
    Else
        HasilBaru = CDbl(txtDisplay.Text)
    End If
    Select Case Operator
        Case opNol
            Hasil = HasilBaru
        Case opTambah
            Hasil = Hasil + HasilBaru
        Case opKurang
            Hasil = Hasil - HasilBaru
        Case opKali
            Hasil = Hasil * HasilBaru
        Case opBagi
        'Tidak bisa dibagi nol
            If HasilBaru = 0 Then
            MsgBox "Tidak bisa dibagi 0", vbOKOnly + vbCritical, "Kalku ERROR"
            Call cmdClear_Click
            Else
            Hasil = Hasil / HasilBaru
            End If
    End Select
    Operator = opNol
    NilaiBaru = True
    txtDisplay.Text = Format$(Hasil)
End Sub

' menuliskan angka
Private Sub cmdAngka_Click(Index As Integer)
    If NilaiBaru Then
        txtDisplay.Text = Format$(Index)
        NilaiBaru = False
    Else
        txtDisplay.Text = _
            txtDisplay.Text & Format$(Index)
    End If
End Sub



' tombol tambah/kurang/bagi/kali
Private Sub cmdOperator_Click(Index As Integer)
   
    cmdSamaDengan_Click

  
    Operator = Index

    NilaiBaru = True
End Sub

' merubah tanda +/-
Private Sub cmdPlusMinus_Click()
    If NilaiBaru Then
        txtDisplay.Text = "-"
    ElseIf Left$(txtDisplay.Text, 1) = "-" Then
        txtDisplay.Text = Right$(txtDisplay.Text, 2)
    Else
        txtDisplay.Text = "-" & txtDisplay.Text
    End If
End Sub

' filter untuk angka saja yg dapat diketikkan
Private Sub Form_KeyPress(KeyAscii As Integer)
    txtDisplay_KeyPress KeyAscii
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    txtDisplay_KeyUp KeyCode, Shift
End Sub

' supaya kursor tetap di kanan
Private Sub txtDisplay_Change()
    txtDisplay.SelStart = Len(txtDisplay.Text)
End Sub


Private Sub txtDisplay_GotFocus()
    txtDisplay_Change
End Sub


' untuk mengetikkan angka di keyboard
Private Sub txtDisplay_KeyPress(KeyAscii As Integer)
Dim ch As String

    ch = Chr$(KeyAscii)
    Select Case ch
        Case "0"
            cmdAngka_Click 0
        Case "1"
            cmdAngka_Click 1
        Case "2"
            cmdAngka_Click 2
        Case "3"
            cmdAngka_Click 3
        Case "4"
            cmdAngka_Click 4
        Case "5"
            cmdAngka_Click 5
        Case "6"
            cmdAngka_Click 6
        Case "7"
            cmdAngka_Click 7
        Case "8"
            cmdAngka_Click 8
        Case "9"
            cmdAngka_Click 9
        Case "*", "x", "X"
            cmdOperator_Click opKali
        Case "+"
            cmdOperator_Click opTambah
        Case vbCrLf, vbCr, "="
          cmdSamaDengan_Click
        Case "-"
            cmdOperator_Click opKurang
        Case "."
            cmdKoma_Click
        Case "/"
            cmdOperator_Click opBagi
        Case "C", "c"
            cmdClearEntry_Click
    End Select

    KeyAscii = 0
End Sub

' untuk ketikan angka di numpad
Private Sub txtDisplay_KeyUp(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeyNumpad0
            cmdAngka_Click 0
        Case vbKeyNumpad1
            cmdAngka_Click 1
        Case vbKeyNumpad2
            cmdAngka_Click 2
        Case vbKeyNumpad3
            cmdAngka_Click 3
        Case vbKeyNumpad4
            cmdAngka_Click 4
        Case vbKeyNumpad5
            cmdAngka_Click 5
        Case vbKeyNumpad6
            cmdAngka_Click 6
        Case vbKeyNumpad7
            cmdAngka_Click 7
        Case vbKeyNumpad8
            cmdAngka_Click 8
        Case vbKeyNumpad9
            cmdAngka_Click 9
        Case vbKeyMultiply
            cmdOperator_Click opKali
        Case vbKeyAdd
            cmdOperator_Click opTambah
        Case vbKeySeparator
            cmdSamaDengan_Click
        Case vbKeySubtract
            cmdOperator_Click opKurang
        Case vbKeyDivide
            cmdOperator_Click opBagi
        Case vbKeyDecimal
            cmdKoma_Click
        Case vbKeyBack, vbKeyDelete
            Hapus
    End Select
   KeyCode = 0
End Sub

Silahkan Anda Berkreasi sendiri dengan menambahkan kudrat, trigonometri…

Selamat mencoba !
Trimkasih atas kunjungannya………………..





0 komentar:

Posting Komentar