Wednesday 6 June 2012

Kalkulator Sederhana

 

Sebuah Aplikasi/Program kalkulator adalah aplikasi standar yang sudah tersedia/difasilitasi di Microsoft Windows. Tetapi, tapi sebagai bahan untuk belajar Pemograman, tak ada salahnya jika kita mencoba membuat kalkulator sendiri dengan Microsoft Visual Basic 6.0.
Pang pertama, buatlah sebuah form sesuai selera Anda, yang secara visualnya kira-kira seperti kalkulator standar Windows yang ada di PC seperti ini:


Untuk properties dari masing-masing objek, saya berikan sample 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 step by step. Jika Anda mengikuti semua setting properties seperti diatas, maka dalam meletakkan codingnya, silahkan anda ikuti langkah-langkahnya sbb: 

# Step I
Double Klik Form Project Anda, Copy code berikut dan letakkan di form (General)
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

# Step II
Double click salah satu angka, lalu copy code berikut (menuliskan angka)dan letakkan dibawah 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

# Step III
Double Click tombol (tambah/kurang/bagi/kali) dan copy code berikut lalu letakkan dibawah Private Sub cmdOperator_Click(Index As Integer)
cmdSamaDengan_Click
Operator = Index
NilaiBaru = True
End Sub

# Step IV
Double click Tombol 'DEL'untuk hapus angka, hasil terakhir dan operator dan copy code berikut dan letakkan dibawah Private Sub cmdClear_Click()
cmdClearEntry_Click
Hasil = 0
Operator = opNol
End Sub

# Step V
Double click Tombol 'C'untuk hapus angka, dan copy code berikut letakkan dibawah Private Sub cmdClearEntry_Click()
txtDisplay.Text = ""
End Sub

# Step VI
Double click Tombol '.'untuk menambahkan koma (desimal), dan copy code berikut dan letakkan dibawah 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

# Step VII
Double click Tombol '='untuk menghitung, dan copy code berikut dan letakkan dibawah 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

# Step VII
Double click Tombol '+/-'untuk menghitung, dan copy code berikut dan letakkan dibawah 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

# Step VIII
Double click Form_KeyPress sebagai filter angka saja yang dapat diketikkan, dan copy code berikut dan ketakkan dibawah Private Sub Form_KeyPress(KeyAscii As Integer)
txtDisplay_KeyPress KeyAscii
End Sub

# Step IX
Double click Form_KeyUp, dan copy code berikut tepat dibawah Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
txtDisplay_KeyUp KeyCode, Shift
End Sub

# Step X
Double click Form textDisplay_Change,supaya kursor tetap di kanan , dan copy code berikut tepat dibawah Private Sub txtDisplay_Change()
txtDisplay.SelStart = Len(txtDisplay.Text)
End Sub
Private Sub txtDisplay_GotFocus()
txtDisplay_Change
End Sub
# Step XI
Double click Form,untuk mengetikkan angka dikeyboard, dan copy code berikut dibawahnya 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

# Step XII
Double click Form,untuk mengetikkan angka dinumpad dan copy code berikut dibawahnya
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

Bagaimana?, cukup mudahkan membuat Kalkulator menggunakan Visual Basic ??? Jika anda mengikuti langkah2 yang saya terapkan di atas, maka akan berjalan dengan baik.

Semoga bermanfaat, dan selamat berkreasi Jika ada pertanyaan selahkan berkomentar.

No comments:
Write comments