Function merupakan suatu fungsi yang dibuat untuk memproses atau melakukan suatu proses didalamnya yang akhirnya mengembalikan nilai dari proses tersebut.
Procedure merupakan suatu fungsi didalamnya yang tidak mengembalikan nilai.
Function dan Procedure digunakan untuk mengelompokan suatu proses sehingga dapat mempermudahkan programmer untuk melacak kesalahan coding dan juga untuk mempercepat pembuatan coding tanpa harus mengulang coding yang sama.
Berikut contoh function dan procedure serta passing nilai antar form.
Setelah tombol Hitung diklik maka akan muncul form kedua yang berisi nilai yang dikirim dari form Utama ini.
Untuk grade sendiri dapat dikembangkan lagi.
Contoh Code:
Public Class frmUtama
Sub ClearInput()
txtNPM.Clear()
txtNama.Clear()
txtNTugas.Clear()
txtNPartisipasi.Clear()
txtNUTS.Clear()
txtNUAS.Clear()
txtNPM.Focus()
End Sub
Function ValidateInput() As Boolean
If txtNPM.Text.Trim.Length <> 7 Then
MessageBox.Show("NPM tidak valid")
txtNPM.Focus()
Return False
ElseIf Not IsNumeric(txtNPM.Text.Trim) Then
MessageBox.Show("NPM harus angka")
txtNPM.Focus()
Return False
ElseIf txtNama.Text.Trim.Length < 3 Then
MessageBox.Show("Masukkan nama yang benar")
txtNama.Focus()
Return False
ElseIf Not IsNumeric(txtNTugas.Text) Then
txtNTugas.Focus()
Return False
ElseIf Not IsNumeric(txtNPartisipasi.Text) Then
txtNPartisipasi.Focus()
Return False
ElseIf Not IsNumeric(txtNUTS.Text) Then
txtNUTS.Focus()
Return False
ElseIf Not IsNumeric(txtNUAS.Text) Then
txtNUAS.Focus()
Return False
Else
Return True
End If
End Function
Function CalcNA(ByVal NTugas As Single, ByVal NPart As Single, _
ByVal NUTS As Single, ByVal NUAS As Single) _
As Single
Dim sngNTugas, sngNPart, sngNUTS, sngNUAS As Single
Dim sngResult As Single
sngNTugas = NTugas * 0.1
sngNPart = NPart * 0.05
sngNUTS = NUTS * 0.4
sngNUAS = NUAS * 0.45
sngResult = sngNTugas + sngNPart + sngNUTS + sngNUAS
Return sngResult
End Function
Private Sub frmUtama_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
ClearInput()
End Sub
Private Sub btnHitungNA_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnHitungNA.Click
If ValidateInput() = False Then Exit Sub
With frmResult
.lblNPM.Text = txtNPM.Text
.lblNama.Text = txtNama.Text
.lblNAkhir.Text = CalcNA(txtNTugas.Text, _
txtNPartisipasi.Text, _
txtNUTS.Text, txtNUAS.Text)
.Show()
End With
Me.Hide()
End Sub
Private Sub txtNama_KeyPress(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles txtNama.KeyPress
'textbox nama hanya bisa input huruf
If Not ((e.KeyChar >= "A" And e.KeyChar <= "z") _
Or e.KeyChar = vbBack) Then
e.Handled = True
End If
End Sub
Private Sub HanyaInputAngkaDec(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles txtNTugas.KeyPress, txtNPartisipasi.KeyPress, _
txtNUAS.KeyPress, txtNUTS.KeyPress
Dim decSeperator As String
Dim digitGrouping As String
'untuk mengambil simbol pemisah desimal
decSeperator = System.Globalization.CultureInfo _
.CurrentCulture.NumberFormat _
.CurrencyDecimalSeparator
'untuk mengambil simbol pemisah ribuan
digitGrouping = System.Globalization.CultureInfo _
.CurrentCulture.NumberFormat _
.CurrencyGroupSeparator
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") _
Or e.KeyChar = vbBack Or e.KeyChar = decSeperator) Then
e.Handled = True
End If
End Sub
End Class
Code pada form Result:
Public Class frmResult
Private Sub btnBack_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnBack.Click
frmUtama.Show()
Me.Close()
End Sub
Private Sub frmResult_FormClosed(ByVal sender As Object, _
ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
frmUtama.Close()
End Sub
End Class
No comments:
Post a Comment