/* */

Tuesday, December 22, 2009

[belajar-access] Kalkulator

----- Original Message -----
From: "Roland" <roland@alkitab.or.id>
To: <belajar-access@yahoogroups.com>
Sent: Tuesday, December 22, 2009 10:24 AM
Subject: Re: [belajar-access] Kalkulator


Terima kasih Pak Aksan, suatu pengalaman baru bagi saya pemula ini dalam
membaca listing vba bapak. Saya sendiri coba2 tuk buat kalkulator, tapi
tidak kelar2 :D

Buat teman2 milis, saya coba susun kembali proses pembuatan kalkulator ini.
Jika ada yang salah mohon dikoreksi.

Pembangunan form :
1. Buat form seperti yang ada dicontoh, untuk nama setiap kontrol (tombol,
label) bebas diberi nama apa saja.
2. Buat event yang dapat menangkap tombol apa saja yang ditekan. Khusus
kalkulator, maka karakter yang dipakai hanya angka (1 s/d 9); simbol
operator (+,-,*,/); tanda titik (.) dan reset atas penghitungan terakhir.

Private Sub Form_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 48 To 57: Call Angka(KeyAscii - 48)
Case 43: Call Calculate("+")
Case 45: Call Calculate("-")
Case 42: Call Calculate("*")
Case 47: Call Calculate("/")
Case 46: Call Period
Case 27: Call ClearDisplay
End Select

End Sub

Prosedur Call Angka() adalah proses penangkapan angka.
Prosedur Call Calculate() adalah proses penghitungan/ambil hasil
Prosedur Call Period() adalah proses pemberian angka desimal
Prosedur Call ClearDisplay adalah proses reset kalkulator.

Semua prosedur diatas pada akhirnya ditampilkan ke textbox.

3. Set Key Preview= Yes

4. Buat VBA untuk Call Angka, Calculate, Period dan Reset atau ClearDisplay.

5. Set event disetiap command/tombol
- Pada tombol dengan angka..... pada misalkan tombol angka 0 maka pada
properties event OnClick tsb diisi =Angka(0) dst s/d tombol angka 9
- Pada Tombol Operator + pada properties event OnClick diisikan
=Calculate("+"), dan dilanjutkan pada tombol operator yang lain.
- Pada Tombol +/- pada properties event OnClick diisikan =Flag()

6. Selesai

Sedikit analisa VBA:

Setting awal yang berlaku global
Dim strOperan1 As String
Dim strOperan2 As String
Dim strOperator As String
Dim dblResult As Double
Dim bolFinalResult As Boolean

Proses Kalkulator adalah proses penghitungan nilai X terhadap nilai Y dimana
nilai akhirnya ditentukan oleh operasi aritmatika mana yang akan digunakan.

strOperan1 dan strOperan2 adalah nilai X dan nilai Y
strOperator adalah proses arimatikanya

Mengapa menggunakan type data String bukan Integer atau Double dalam
penentuan type data?
Karena analisa untuk proses perhitungan yang digunakan adalah menggunakan
Eval().

contoh: Eval("1 + 1") hasilnya 2, silahkan ditest di immediate window
?Eval("1 + 1")

Lanjut, dblResult adalah hasil akhirnya. sedangkan bolFinalResult digunakan
untuk menandai proses penghitungan akhir menggunakan prosedur
Calculate("=").

Ini dulu deh.

salam,
Roland

NB: kalkulator ini tidak bisa menyisipkan angka, dan reset 1 angka
dibelakang.

No comments:

Post a Comment