Kita akan membangun sebuah aplikasi yang mengijinkan user (pengguna) dapat menginput rangkaian data angka. Setelah selesai memasukkan data angka, program seharusnya menghitung rerata rangkaian angka tersebut dan standar deviasinya. Jika jumlah angka N adalah input dengan data angkanya adalah xi, maka didapatkan rumus rerata (mean) dan standar deviasi (s) di bawah ini. Maka, standar deviasinya adalah akar s kuadrat.
Kita mulai pembuatan aplikasinya dari gambar form dulu.
Properti Form dan controlnya:
Form frmStats:
Caption = Mean and Standard Deviation
CommandButton cmdExit:
Caption = E&xit
CommandButton cmdAccept:
Caption = &Accept Number
CommandButton cmdCompute:
Caption = &Compute
CommandButton cmdNew:
Caption = &New Sequence
TextBox txtInput:
FontName = MS Sans Serif
FontSize = 12
Label lblStdDev:
Alignment = 2 - Center
BackColor = &H00FFFFFF& (White)
BorderStyle = 1 - Fixed Single
FontName = MS Sans Serif
FontSize = 12
Label Label4:
Caption = Standard Deviation
Label lblMean:
Alignment = 2 - Center
BackColor = &H00FFFFFF& (White)
BorderStyle = 1 - Fixed Single
FontName = MS Sans Serif
FontSize = 12
Label Label3:
Caption = Mean
Label lblNumber:
Alignment = 2 - Center
BackColor = &H00FFFFFF& (White)
BorderStyle = 1 - Fixed Single
FontName = MS Sans Serif
FontSize = 12
Label Label2:
Caption = Enter Number
Label Label1:
Caption = Number of Values
Code untuk programnya seperti di bawah ini:
General Declarations:
Option Explicit
Dim NumValues As Integer
Dim SumX As Single
Dim SumX2 As Single
Const vbKeyMinus = 45
Const vbKeyDecPt = 46
cmdAccept Click Event:
Private Sub cmdAccept_Click()
Dim Value As Single
txtInput.SetFocus
NumValues = NumValues + 1
lblNumber.Caption = Str(NumValues)
'Get number and sum number and number-squared
Value = Val(txtInput.Text)
SumX = SumX + Value
SumX2 = SumX2 + Value ^ 2
txtInput.Text = ""
End Sub
cmdCompute Click Event:
Private Sub cmdCompute_Click()
Dim Mean As Single
Dim StdDev As Single
txtInput.SetFocus
'Make sure there are at least two values
If NumValues < 2 Then
Beep
Exit Sub
End If
'Compute Mean
Mean = SumX / NumValues
lblMean.Caption = Str(Mean)
'Compute standard deviation
StdDev = Sqr((NumValues * SumX2 - SumX ^ 2) / (NumValues * (NumValues - 1)))
lblStdDev.Caption = Str(StdDev)
End Sub
cmdExit Click Event:
Private Sub cmdExit_Click()
End
End Sub
cmdNew Click Event:
Private Sub cmdNew_Click()
'Initialize all variables
txtInput.SetFocus
NumValues = 0
lblNumber.Caption = "0"
txtInput.Text = ""
lblMean.Caption = ""
lblStdDev.Caption = ""
SumX = 0
SumX2 = 0
End Sub
txtInput KeyPress Event:
Private Sub txtInput_KeyPress(KeyAscii As Integer)
'Only allow numbers, minus sign, decimal point, backspace,return keys
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyMinus Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then
Exit Sub
ElseIf KeyAscii = vbKeyReturn Then
Call cmdAccept_Click
Else
KeyAscii = 0
End If
End Sub
Cara menggunakan aplikasi ini adalah dengan memasukkan rangkaian angkanya pada txtInput lalu di tekan tombol Accept lalu isi lagi datanya di txtInput sampai rangkaiannya selesai, setelah itu dihitung dengan menekan tombol compute. Untuk menghitung lagi dengan menggunakan tombol new sequence maka perhitungan sequence baru dimulai. Tombol Exit tentu saja untuk keluar mas…mbak…(Recorded Tylee by Indarto/wbi:Bajill)
Semoga jelas dan berguna bagi kita semua.
Selamat belajar VB…:D
Tidak ada komentar:
Posting Komentar