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:
Public Class Form1
'Deklarasi variabel penampung nilai
Dim nilai1, nilai2 As Integer
Dim hasil As Double
'Deklarasi variabel untuk flag
'(penanda nilai pertama atau kedua)
Dim pertama As Boolean
'jenis operasi
Dim operasi As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TxtLayar.Text = Trim(TxtLayar.Text) & "1"
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
TxtLayar.Text = Trim(TxtLayar.Text) & "8"
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TxtLayar.Text = Trim(TxtLayar.Text) & "9"
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'memberi nilai awal var penampung
nilai1 = 0
nilai2 = 0
hasil = 0
'mengongsi layar textbox
TxtLayar.Text = ""
'tidak ada operasi yang dipilih operasi = true
End Sub
Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
TxtLayar.Text = Trim(TxtLayar.Text) & "2"
End Sub
Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
TxtLayar.Text = Trim(TxtLayar.Text) & "3"
End Sub
Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
TxtLayar.Text = Trim(TxtLayar.Text) & "4"
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
TxtLayar.Text = Trim(TxtLayar.Text) & "5"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TxtLayar.Text = Trim(TxtLayar.Text) & "6"
End Sub
Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
TxtLayar.Text = Trim(TxtLayar.Text) & "7"
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
TxtLayar.Text = Trim(TxtLayar.Text) & "0"
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'jika nilai pertama
If pertama = True Then
'mengubah ke posisi nilai kedua
pertama = False
'operasi pembagian
operasi = 4
'Mengambil nilai pertama
'pada layar textbox
nilai1 = Val(TxtLayar.Text)
'mengongsi layar textbox
TxtLayar.Text = ""
End If
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
'jika nilai pertama
If pertama = True Then
'mengubah ke posisi nilai kedua
pertama = False
'operasi perkalian
operasi = 3
'Mengambil nilai pertama
'pada layar textbox
nilai1 = Val(TxtLayar.Text)
'mengongsi layar textbox
TxtLayar.Text = ""
End If
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
'jika nilai pertama
If pertama = True Then
'mengubah ke posisi nilai kedua
pertama = False
'operasi pengurangan
operasi = 2
'Mengambil nilai pertama
'pada layar textbox
nilai1 = Val(TxtLayar.Text)
'mengongsi layar textbox
TxtLayar.Text = ""
End If
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
'jika nilai pertama
If pertama = True Then
'mengubah ke posisi nilai kedua
pertama = False
'operasi penjumlahan
operasi = 1
'Mengambil nilai pertama
'pada layar textbox
nilai1 = Val(TxtLayar.Text)
'mengongsi layar textbox
TxtLayar.Text = ""
End If
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
'jika bukan nilai pertama
'atau yang di masukkan adalah nilai kedua
If pertama = False Then
'mengambil nilai kedua dari hasil layar
nilai2 = Val(TxtLayar.Text)
'memilih operasi yang di lakukan
'berdasarkan pilihan operasi dari user
Select Case operasi
'operasi penjumlahan
Case 1
hasil = nilai1 + nilai2
'operasi pengurangan
Case 2
hasil = nilai1 - nilai2
'operasi perkalian
Case 3
hasil = nilai1 * nilai2
'operasi pembagian
Case 4
hasil = nilai1 / nilai2
End Select
'menampilkan hasil operasi ke layar
TxtLayar.Text = hasil
End If
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
'operasi perhitungan direset
operasi = 0
'mengembalikan ke posisi nilai pertama
pertama = True
'mereset nilai penampung hasil operasi
hasil = 0
'mengongsi layar text box
TxtLayar.Text = ""
End Sub
End Class