Pages

Monday, April 9, 2012

Membuat Kalkulator sederhana dengan VB(Virtual Basic)

Tampilan nya :



Sebelum dilakukan pengcodingan sebaiknya dilakukan pengaturan pada tabel properties.

Coding :

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 menuliskan angka
Private Sub cmdAngka_Click(Index As Integer)
If NilaiBaru Then
txtHasil.Text = Format$(Index)
NilaiBaru = False
Else
txtHasil.Text = _
txtHasil.Text & Format$(Index)
End If
End Sub

'/Untuk menuliskan koma
Private Sub cmdKoma_Click()
If InStr(txtHasil.Text, ".") Then
Beep
Else
If NilaiBaru Then
txtHasil.Text = "."
NilaiBaru = False
Else
txtHasil.Text = txtHasil.Text & "."
End If
End If
End Sub

'/Untuk melakukan operasi aritmatika
Private Sub cmdOperator_Click(Index As Integer)
cmdSamaDgn_Click
Operator = Index
NilaiBaru = True
End Sub

'/Untuk menuliskan tanda min
Private Sub cmdPlusMin_Click()
If NilaiBaru Then
txtHasil.Text = "-"
ElseIf Left$(txtHasil.Text, 1) = "-" Then
txtHasil.Text = Right$(txtHasil.Text, 2)
Else
txtHasil.Text = "-" & txtHasil.Text
End If
End Sub

'/Untuk menghentikan program
Private Sub cmdQuit_Click()
End
End Sub

'/Untuk menghapus
Private Sub cmdReset_Click()
txtHasil.Text = ""
End Sub

'/Untuk menghasilkan jawaban
Private Sub cmdSamaDgn_Click()
Dim HasilBaru As Double
If txtHasil.Text = "" Then
HasilBaru = 0
Else
HasilBaru = CDbl(txtHasil.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
If HasilBaru = 0 Then
MsgBox "Tidak dapat dibagi 0", vbOKOnly + vbCritical, "ERROR"
Call cmdReset_Click
Else
Hasil = Hasil / HasilBaru
End If
End Select
Operator = opNol
NilaiBaru = True
txtHasil.Text = Format$(Hasil)
End Sub


LOGIKA PROGRAM
          Sebelum menjelaskan Coding programnya , saya aka nenjelaskan properties-properties yang saya gunakan dalam pembuatan kalkulator sederhana ini. Dalam Form terdapat angka dari 0 – 9 , pilih satu-satu button.clicknya lalu ganti name nya dengan “cmdAngka” dan ganti caption menjadi angka 0 – 9 lalu ganti juga index nya diurutkan mulai dari angka 0 indexnya 0 sampai angka 9 dengan index 9 dengan memasukkan index maka kita dapat menggunakan name yang sama dan dapat langsung memanggil atau mengeksekusi tanpa harus mengidentifikasikannya satu persatu. Lalu pada operator-operator seperti + , - , * , / pada namenya diganti menjadi cmdAngka dan tentunya dengan index yang berbeda pada operatior + index diubah menjadi 1 , operator – index diubah menjadi 2, pada operator * index diubah menjadi 3 dan pada operator / index diubah menjadi 4. Pada Button C saya mengganti namenya menjadi cmdReset dan pada tanda sama dengan namenya diubah dengan cmdSamaDgn, pada +/- namenya diubah menjadi cmdPlusMin, pada . namenya diubah dengan cmdKoma dan pada button OFF namenya diubah menjadi cmdQuit.
          Dalam coding ada Option Explicit yang berguna untuk mengidentifikasikan suatu variabel yang nantinya akan digunakan sebagai fungsi. Pada cmdAngka_Click(Index As Integer) berfungsi agar apa yang nantinya kita input sesuai dengan index yang telah kita ubah sebelumnya. Terdapat statement kondisi IF-THEN-ELSE yang berfungsi sebagai kondisi dimana jika terdapat nilai baru maka dapat diinputkan melalui button-button Angka yang telah dijadikan index tadi. Pada cmdKoma terdapat statement yang berfungsi untuk menambahkan tanda koma atau titik pada txthasil.Text. Ingatlah jika memulai dengan If maka harus diakhiri dengan End If. Pada cmdOperator_Click(Index As Integer), cmdSamaDgn_Click, Operator = Index,  NilaiBaru = True dengan statement tersebut maka kita dapat melakukan proses Aritmatika dengan index yang sudah diubah tadi dan kita juga mengidentifikasikan button-button Aritmatika menjadi sama fungsinya dengan cmdSamaDgn, dengan kata lain jika kita melakukan penambahan , misalnya sudah diinput 1 + 1 maka jika kita menginput atau mengklik tanda + maka Outputnya akan berupa angka 2 . Pada cmdPlusMin terdapat statement  yang akan menambahkan tanda – (Min) pada text . Left$(txtHasil.Text, 1) = "-" digunakan agar tanda – berada di sebelah kiri angka.
          Pada cmdSamaDgn_Click terdapat statement Dim HasilBaru As Double fungsi Dim tersebut sama halnya dengan Var pada Delphi, untuk mendeklarasikan tipe data suatu variabel , disini variabel di deklarasikan sebagai Double. Statement kondisi disini berfungsi untuk menyatakan jika txthasil kosong maka hasilbaru = 0. Disini terdapat Select Case Operator dimana operator-operator tersebut telah kita ganti dari index menjadi opNol yang berfungsi untuk menyatakan Hasil=HasilBaru, opTambah yang berfungsi untuk menyatakan Hasil=Hasil+HasilBaru , opKurang yang berfungsi untuk menyatakan Hasil=Hasil-HasilBaru, opKali yang menyatakan Hasil=Hasil*HasilBaru, opBagi untuk menyatakan Hasil=Hasil/HasilBaru. Dalam opBagi ini dapat ditambahkan If HasilBaru = 0 Then MsgBox "Tidak dapat dibagi 0", vbOKOnly + vbCritical, "ERROR" Call cmdReset_Click maksudnya adalah jika HasilBaru = 0 maka program akan menampilkan MessageBox yang bertuliskan Tidak dapat dibagi 0 dan Error dan akan langsung mereset programnya. Pada cmdReset_click terdapat statement txtHasil.Text = "" yang berfungsi untuk menghapus atau mereset input yang telah dimasukkan sebelumnya. Pada cmdQuit_click terdapat statement End yang berfungsi untuk menghentikan jalannya sebuah program.

Nb : Program diatas adalah contoh kecil , jika anda berminat untuk menambahkan atau memodifikasi itu lebih baik  xD.









No comments:

Post a Comment

Bleach - Kurosaki Ichigo's Sword Zangetsu