Membuat Kalkulator Sederhana Dengan VB 6.0


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

About these ads
  1. #1 by alpha on 2 April, 2011 - 10:32 am

    bang …

    caranya gmn ya biar bisa kita pake kali,bagi,tambah,sama kurang ..

    saya gak ngerti..
    sudah saya coba
    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

    tapi gak bisa malah error..

    tolong dijelasin lagi dunk ..
    gmn caranya agar bisa mengalikan,membagi,mengurang,sama menjmlah ..

    Trims …

  2. #2 by mundink on 10 March, 2011 - 7:52 pm

    mas, bs pesen cd master vb6 nya gk.klo bs email me ya.thx..

  3. #3 by ieien on 2 July, 2010 - 12:23 am

    thanks artikelnya…lumayan buat tambah2n ilmu…kali aja kepake ni di sidang TA nanti…hehehe

  4. #4 by Febri on 21 June, 2010 - 3:59 pm

    terima kasih mas…
    saya mau comment….
    kok yang di bagian “Private Sub txtDisplay_KeyPress(KeyAscii As Integer)”

    script yg tulisannya…
    cmdClearEntry_Click()

    kok error???

    tolong mas…

  5. #5 by amin on 11 June, 2010 - 1:02 pm

    GAN yang budiman saya minta tolong bangeett.. saya seorang yang snaagt new bie tapi saya ingin belajar vb.saya minta tolong gann. kasih saya cara dasar buat program nya kalkulator itu dengan tekhnik dsar srta panduan gambar,, contoh nya dari awal pembuatan. CARA MEMASUKKAN CODING. dan proses end nya gmana.. untuk kebaikanya untuk berbagi ilmu saya sunguh sangat berterima kasih..

  6. #6 by yuka on 20 May, 2010 - 11:29 am

    mas nanya, ak makek VB 2010, yang pasti sama aja dunk, tapi diatas nama dari tiap button angka 0-9 adalah cmdAngka, tapi napa di VBku gk bisa dibuat kaya gitu, error, karena cmdAngka gk bisa dibuat lebih dari 1 button,
    nah di VB 2010 index tu gk da, adanya tab index jadi ku makek itu, apakah gara2 tu terjadi error,
    mkssh atas jawabanya,
    ohya disemua web kok calculator VBnya sama aja yah, lum da yang makek VB 2010,

    • #7 by eritristiyanto on 20 May, 2010 - 10:52 pm

      Setiap program VB memang semua sama..namun dari perkembangan yg ada..bnyak fitur yg mungkin di tambahkan sehingga membuat penggunanya bingung..mungkin tips ini bisa bermanfaat bagi anda…

      1. Buat project baru, kemudian TextBox dan sebuah commandButton

      2. Klik kanan pada tombol command1, kemudian pilih copy, lalu klik kanan lagi dan pilih paste. Ketika muncul pesan “You already have a control named ’Command1’. Do you want to create a control array ?”, pilih yes. Akan muncul kontrol commandButton baru dengan nama Command1(1). Kemudian klik kanan lalu paste lagi sehingga muncul kontrol command1(2). Lakukan proses tersebut teru-menerus sampai kontrol CommandButton berjumlah sepuluh buah.

      3. Atur posisi kontrol-kontrol Command tersebut sesuai keinginan anda

      4. Kemudian atur properti caption untuk commandButton

      5. Agar kalkulator dapat dioperasikan, tambahkan sepuluh buah commanButton baru.

      6. Atur properti kontrol TextBox dan CommandButton baru seperti berikut.

      Kontrol : Properti

      Text1 : Text

      Command2

      Name : Koma
      Caption : ,

      Command3

      Name :AC
      Caption :AC

      Command4

      Name : Tambah
      Caption : +

      Command5

      Name : Kurang
      Caption : -

      Command6

      Name : Tanda
      Caption : +/-

      Command7

      Name : Bagi
      Caption : /

      Command8

      Name : KAli
      Caption : x

      Command9

      Name : Akar
      Caption : Akar

      Command10

      Name : Hasil
      Caption : =

      Command11

      Name : Kuadrat
      Caption : X^2

      7. Setelah itu Atur posisi kontrol-kontrol tersebut

      8. Buka jendela kode, lalu ketikkan kode berikut ini:
      Private pilihan As String
      Private x As Double
      Private y As Double

      Private Sub AC_Click()
      Text1.Text = “”
      y = x = 0
      Tanda.Enabled = False
      End Sub

      Private Sub Akar_Click()
      If x < 0 Then
      Text1.Text = "Angka Tidak Boleh Negatif Coy"
      Else
      Text1.Text = Sqr(x)
      End If
      End Sub

      Private Sub Bagi_Click()
      Text1.Text = ""
      pilihan = "bagi"
      y = x
      x = 0
      Tanda.Enabled = False
      End Sub

      Private Sub Command1_Click(Index As Integer)
      Text1.Text = Text1.Text & Command1(Index).Caption
      x = Text1.Text
      Tanda.Enabled = True
      End Sub

      Private Sub Form_Load()
      Tanda.Enabled = False
      End Sub

      Private Sub Hasil_Click()
      If pilihan = "tambah" Then
      x = y + x
      Text1.Text = x
      ElseIf pilihan = "kurang" Then
      x = y – x
      Text1.Text = x
      ElseIf pilihan = "kali" Then
      x = y * x
      Text1.Text = x
      ElseIf pilihan = "bagi" And x 0 Then
      x = y / x
      Text1.Text = x
      Else
      Text1.Text = “Tidak Terdefinisi”
      End If
      End Sub

      Private Sub Kali_Click()
      Text1.Text = “”
      pilihan = “kali”
      y = x
      x = 0
      Tanda.Enabled = False
      End Sub

      Private Sub Koma_Click()
      If Text1.Text = “” Then
      Text1.Text = “0.”
      Else
      Text1.Text = Text1.Text & “.”
      End If
      End Sub

      Private Sub Kuadrat_Click()
      Text1.Text = x ^ 2
      End Sub

      Private Sub Kurang_Click()
      Text1.Text = “”
      pilihan = “kurang”
      y = x
      x = 0
      Tanda.Enabled = False
      End Sub

      Private Sub Tambah_Click()
      Text1.Text = “”
      pilihan = “tambah”
      y = x
      x = 0
      Tanda.Enabled = False
      End Sub

      Private Sub Tanda_Click()
      If x < 0 Then
      Text1.Text = -x
      x = -x
      Else
      Text1.Text = "-" & Text1.Text
      x = -x
      End If
      End Sub

      9. Selamat Mencoba…..! dan jangan berhenti belajar program karena program itu mengasyikkan.

  7. #8 by tukiman on 22 April, 2010 - 3:51 pm

    gooooooooooooodlah ^_^ pi ni gak pake m.acces kah

  8. #9 by rezky on 15 April, 2010 - 11:20 am

    thankkkkkkssss……. buat artikelnya.

  9. #10 by Tisna on 12 April, 2010 - 6:26 am

    makasih atas artikel ini….
    saya akan coba mempelajarinya….

    • #11 by eritristiyanto on 12 April, 2010 - 10:17 pm

      ok bro thanks juga buat kunjungannya…

      selamat ber eksperimen……..good luck

  10. #12 by sulistiyono on 16 February, 2010 - 10:27 pm

    thankkkkkkkkkk,,,,aku mo coba programnya, mudah2an bisa dirun ya.

1 2 3 4

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 212 other followers

%d bloggers like this: