SUBROUTINE: Prosedure dan Fungsi
Tujuan and Target Praktikum Tujuan Praktikum Menjelaskan konsep subroutine Menjelaskan perbedaan prosedur dan fungsi Target Praktikum Praktikan dapat membuat prosedur dan fungsi dalam suatu program Praktikan dapat membedakan penggunaan prosedur dan fungsi
Subroutine ? Adalah sekelompok statemen bebas yang merupakan bagian dari suatu program Jenis : Procedure Fungsi
Procedure Adalah blok kode program yang berisi perintah-perintah untuk mengerjakan tugas tertentu. Bentuk penulisan (syntax) procedure sub : [Public | Private] Sub <nama_sub> ([<argumen>]) … <isi procedure> End Sub
Procedure (2) Cara Pemanggilan Prosedure Call NamaProsedur (Param1, Param2,…) atau NamaProsedur Param1, Param2,… Contoh : Call coba(4,5) Or Coba 4,5
Fungsi Adalah modul program yang memberikan/mengembalikan (return) sebuah nilai bertipe sederhana(integer,real,boolean dan string) Bentuk penulisan (syntax) function : [Public | Private] Function <nama_function> ([<argumen>]) As <tipe_data> … <isi procedure> End Function
contoh Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a As Byte a = tes1 tes2(a) ListBox1.Items.Add(a) tes3(a) End Sub Function tes1() As Single Dim a As Single tes1 = 0 For a = 20 To 10 Step -1 If a Mod 2 = 1 Then ListBox1.Items.Add("selesai") tes1 = Math.Round(100 \ a) End If ListBox1.Items.Add(tes1) Next End Function Sub tes2(ByVal a As Byte) Do While a > 10 a = a \ 2 Loop
continued Sub tes3(ByVal a As Byte) Dim b, i As Byte Select Case a Case Is <= 10 a = a * a Case Is <= 200 b = a For i = 1 To a b = b * a a = b Next a = tes1() ListBox1.Items.Add(a) Case Else tes2(111) ListBox1.Items.Add(tes1) End Select End Sub End Class
OUTPUT?
Contoh 2
Code Public Class Form1 Dim x, hasil As Single Dim y, a, h As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ListBox1.Items.Clear() x = Val(TextBox1.Text) y = Val(TextBox2.Text) a = Val(TextBox3.Text) If x = 0 And CInt(y) = 0 Then ListBox1.Items.Add("Nilai Tidak Terdefinisi") Else hasil = pangkat(x, y) ListBox1.Items.Add(hasil) End If h = faktorial(a) Label5.Text = h End Sub Function pangkat(ByVal a As Single, ByVal b As Integer) As Single Dim i As Integer pangkat = 1 If b <> 0 Then For i = 1 To Math.Abs(b) If b > 0 Then pangkat = pangkat * a ElseIf b < 0 Then pangkat = pangkat / a Next End Function
Code (2) + Output Function faktorial(ByVal n As Integer) As Integer If n = 0 Then faktorial = 1 Else faktorial = n * faktorial(n - 1) End If End Function End Class OUTPUT :