130 likes | 313 Views
SUB PROGRAM PROCEDURE (SUB) dan FUNCTION. PROCEDURE / SUB. Adalah sekumpulan statemen dari visual basic yang diberi nama , tidak menghasilkan nilai balik , hanya mengerjakan sejumlah proses. Private /public sub nmsub ( byref / byval /optional/ paramarray namapara as type ) Perintah
E N D
PROCEDURE / SUB • Adalahsekumpulanstatemendari visual basic yang diberinama, tidakmenghasilkannilaibalik, hanyamengerjakansejumlahproses Private /public sub nmsub(byref/byval/optional/paramarraynamapara as type ) Perintah Periintah End sub Nmsubnama subprogram / procedure Byref melewatkan parameter secarareferensi Byvalmelewatkan parameter secaranilai Optional nilai parameter bolehtidakdiisi Paramarrayparameterberupa array Namaparanama parameter • Catatan : • Parameter bisalebihdari 1 • Parameter optional harusdiletakandiurutanbelakang • Memanggil Procedure / Sub • Namaprocedure(para,para,para…) • Call Namaprocedure(para,para,para…)
Private Sub Button1_Click() call bisaisi() End Sub Private Sub Button2_Click() call tidakbisaisi() End Sub Sub bisaisi() Me.TextBox1.Enabled = True Me.TextBox2.Enabled = True Me.TextBox3.Enabled = True Me.TextBox4.Enabled = True Me.TextBox5.Enabled = True End Sub Sub tidakbisaisi() Me.TextBox1.Enabled = False Me.TextBox2.Enabled = False Me.TextBox3.Enabled = False Me.TextBox4.Enabled = False Me.TextBox5.Enabled = False End Sub Contoh Procedure/ subprogram tanpa parameter
Contoh Procedure/Sub dengan parameter byval Sub hitung(ByVal bil1 As Integer, ByVal bil2 As Integer) TextBox3.Text = bil1 + bil2 End Sub Private Sub TextBox1_TextChange() call hitung(Val(TextBox1.Text), Val(TextBox2.Text)) End Sub Private Sub TextBox2_TextChanged() call hitung(Val(TextBox1.Text), Val(TextBox2.Text)) End Sub
Contoh Procedure/Sub dengan parameter byref Private Sub cmdtukar_Click() Dim satu as integer Dim dua As Integer satu = Val(TextBox1.Text) dua = Val(TextBox2.Text) call tukar(satu, dua) TextBox1.Text = satu TextBox2.Text = dua End Sub Sub tukar(ByRef bil1 As Integer, ByRef bil2 As Integer) Dim smt As Integer smt = bil1 bil1 = bil2 bil2 = smt End Sub
Private Sub Button1_Click() call bisadiisi() End Sub Private Sub Button2_Click() call bisadiisi(False) End Sub Sub bisadiisi(Optional ByVal keadaan As Boolean = True) Me.TextBox1.Enabled = keadaan Me.TextBox2.Enabled = keadaan Me.TextBox3.Enabled = keadaan Me.TextBox4.Enabled = keadaan Me.TextBox5.Enabled = keadaan End Sub Contoh Procedure/ subprogram dengan parameter optional
FUNCTION • Adalah sekumpulan statemen dari visual basic yang diberi nama yang menghasilkan nilai balik Private /public function nmfu(byref/byval/optional/paramarraynmpara as type ) as type data Perintah Periintah End sub nmfunama function Byref melewatkan parameter secarareferensi Byvalmelewatkan parameter secaranilai Optional nilai parameter bolehtidakdiisi Paramarrayparameterberupa array Namaparanama parameter • Catatan : • Parameter bisalebihdari 1 • Parameter optional harusdiletakandiurutanbelakang • Memanggil function • Var=Namafunction(para,para,para…)
Contoh function dengan parameter array Private Function Sum(ParamArray args() As Variant) As SingleDim total As SingleDim i As Integer For i = 0 To UBound(args) total = total + args(i)Next iSum = totalEnd Function Pada button 1 dapat disii dengan print Sum(1,2,3,4,5) Atau Print Sum(11, 14, 55, 78, 102, 45, 99, 101, 55, 21)
Function dengan return value berupa array Private Function fstat(ByVal ParamArray args() As Object) As Single() Dim hasil(3) As Single Dim i As Integer For i =0 To UBound(args) hasil(0) = hasil(0) + args(i) If i = 0 Then hasil(1) = args(i) hasil(2) = args(i) End If If hasil(1) > args(i) Then hasil(1) = args(i) If hasil(2) < args(i) Then hasil(2) = args(i) Next i Return hasil End Function pada button1 click ketik program berikut Dim statistik As Single() = fstat(1, 6, 2, 7, 3, 9, 4, 10, 8, 5) TextBox1.Text = statistik(0) TextBox2.Text = statistik(1) TextBox3.Text = statistik(2)
Overloading Function • Beberapa function mempunyai nama sama tetapi mempunyai parameter berbeda Function hitung(ByVal bil1 As Integer, ByVal bil2 As Integer) As Integer hitung = bil1 + bil2 End Function Function hitung(ByVal bil1 As Integer, ByVal bil2 As Integer, ByVal bil3 As Integer) As Integer hitung = bil1 + bil2 + bil3 End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Text = hitung(1, 2, 3) End Sub