Thursday, April 2, 2015

6. ByVal, ByRef dan Function

ByVal dan ByRef
ByVal atau "By Value" yaitu melewatkan salinan variable ke dalam subrutin. Ketika salinan variable  diubah nilainya maka variable aslinya tidak akan berubah.
ByRef atau “By Reference”. Kebalikan dari ByVal, artinya nilai variable aslinya lah yang diubah  bukan salinanya.

Function
Function yaitu Sebuah kumpulan Statement yang akan mengembalikan sebuah nilai balik pada pemanggilnya. Nilai yang dihasilkan Function harus ditampung kedalam sebuah variabel.


Tutorial 1 :  Contoh Penggunaan ByVal & ByRef

·         Langkah pertama adalah buka program microsoft visual studio 2010 dengan cara klik Start >> All Program >> Microsoft Visual Studio 2010

·         Langkah Kedua klik pada create project untuk memulai project baru, atau masuk ke menu File >> New Project.

·         Langkah ketiga buatlah desain form seperti gambar di bawah ini. Masukkan 1 listbox, dan 2 command button. Lalu ubahlah propertiesnya  seperti pada tabel berikut:


Objek
Text
Name
ListBox1
-
lstContohBilangan
Button1
Go!
btnGo
Button2
Exit
btnExit

·         Langkah keempat masukan koding dibawah ini :

Public Class Form1

    Private Sub btnGo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGo.Click
        Dim intNumber As Integer = 100

        lstOutput.Items.Add("Pemanggilan procedure dengan menggunakan ByRef")

        lstOutput.Items.Add("Sebelum memanggil Procedure Nilai dari" &
                            "intNumber adalah " &
                            intNumber.ToString())

        lstOutput.Items.Add("====================================")
        lstOutput.Items.Add("====Sekarang memanggil procedure====")
        ChangeArg(intNumber)

        lstOutput.Items.Add("====================================")
        lstOutput.Items.Add("Setelah memanggil procedure Nilai dari," &
                            "intNumber adalah " &
                            intNumber.ToString())

    End Sub

    Sub ChangeArg(ByRef intArg As Integer)

        lstOutput.Items.Add("Didalam procedure," _
                            & "Saya akan mengubah intArg.")
        intArg = 0
        lstOutput.Items.Add("Sekarang intNumber adalah " & intArg.ToString)
    End Sub

    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        End
    End Sub
End Class



·         Langkah kelima bila koding sudah dimasukan running programnya.

·         Tampilan setelah klik “Go!” :

-          Tampilan ByRef :


-          Tampilan ByVal :


Tutorial 2 :  Penggunaan Function “Menghitung Penjumlahan”

·         Langkah pertama adalah buka program microsoft visual studio 2010 dengan cara klik Start >> All Program >> Microsoft Visual Studio 2010

·         Langkah Kedua klik pada create project untuk memulai project baru, atau masuk ke menu File >> New Project.

·         Langkah ketiga buatlah desain form seperti gambar di bawah ini. Masukkan 1 groupbox, 3 label, 3 textbox dan 2 command button. Lalu ubahlah propertiesnya  seperti pada tabel berikut:


Objek
Text
Name
GroupBox1
Hitung
-
Label1
Bilangan 1
-
Label2
Bilangan 2
-
Label3
Hasil
-
TextBox1
-
txtBil1
TextBox2
-
txtBil2
TextBox3
-
txtHasil
Button1
Hitung
btnHitung
Button2
Exit
btnExit

·         Langkah keempat masukan koding dibawah ini :

Public Class Form1

    Private Sub btnHitung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHitung.Click
        Dim sngResult As Single
        sngResult = Sum(txtBil1.Text, txtBil2.Text)
        txtHasil.Text = sngResult
    End Sub

    Function Sum(ByVal sngNum1 As Single, ByVal sngNum2 As Single) As Single
        Dim sngResult As Single
        sngResult = sngNum1 + sngNum2
        Return sngResult
    End Function

    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub
End Class



·         Langkah kelima bila koding sudah dimasukan running programnya.


Tutorial 3 : Membuat program untuk menghitung Nilai Akhir

·         Langkah pertama adalah buka program microsoft visual studio 2010 dengan cara klik Start >> All Program >> Microsoft Visual Studio 2010

·         Langkah Kedua klik pada create project untuk memulai project baru, atau masuk ke menu File >> New Project.

·         Langkah ketiga buatlah desain form seperti gambar di bawah ini. Masukkan 1 groupbox, 7 label, 7 textbox, dan 3 command button. Lalu ubahlah propertiesnya  seperti pada tabel berikut:


Objek
Text
Name
Label1
Absen
lblAbsen
Label2
Tugas
lblTugas
Label3
Keaktifan
lblKeaktifan
Label4
UTS
lblUts
Label5
UAS
lblUas
Label6
Nilai Akhir
lblNilaiakhir
Label7
Huruf
lblHuruf
Textbox1
-
txtAbsen
Textbox2
-
txtTugas
Textbox3
-
txtKeaktifan
Textbox4
-
txtUts
Textbox5
-
txtUas
Textbox6
-
txtNilaiakhir
Textbox7
-
txtHurf
Button1
Check
btnCheck
Button2
Clear
btnClear
Button3
Exit
btnExit

·         Langkah keempat masukan koding berikut :

Public Class FormNilai
    Dim hasil, nilai As Integer
    Dim absen As Decimal, tugas As Decimal, aktif As Decimal, uts As Decimal, uas As Decimal

    Private Sub btnCheck_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHitung.Click
        absen = txtAbsen.Text * (20 / 100)
        tugas = txtTugas.Text * (15 / 100)
        aktif = txtKeaktifan.Text * (10 / 100)
        uts = txtUTS.Text * (25 / 100)
        uas = txtUAS.Text * (30 / 100)
        hasil = absen + tugas + aktif + uts + uas
        txtNilaiAkhir.Text = hasil

        If GradeA(hasil) Then
            txtHuruf.Text = "A"
        ElseIf GradeB(hasil) Then
            txtHuruf.Text = "B"
        ElseIf GradeC(hasil) Then
            txtHuruf.Text = "C"
        ElseIf GradeD(hasil) Then
            txtHuruf.Text = "D"
        ElseIf GradeE(hasil) Then
            txtHuruf.Text = "E"
        End If
    End Sub

    Function GradeE(ByRef hasil As Integer)
        Dim nilai As Boolean
        If hasil < 40 Then
            nilai = True
        Else
            nilai = False
        End If
        Return nilai
    End Function

    Function GradeD(ByRef hasil As Integer)
        Dim nilai As Boolean
        If hasil >= 40 Then
            nilai = True
        Else
            nilai = False
        End If
        Return nilai
    End Function

    Function GradeC(ByRef hasil As Integer)
        Dim nilai As Boolean
        If hasil >= 56 Then
            nilai = True
        Else
            nilai = False
        End If
        Return nilai
    End Function

    Function GradeB(ByRef hasil As Integer)
        Dim nilai As Boolean
        If hasil >= 70 Then
            nilai = True
        Else
            nilai = False
        End If
        Return nilai
    End Function

    Function GradeA(ByRef hasil As Integer)
        Dim nilai As Boolean
        If hasil >= 85 Then
            nilai = True
        Else
            nilai = False
        End If
        Return nilai
    End Function

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
        txtAbsen.Clear()
        txtTugas.Clear()
        txtKeaktifan.Clear()
        txtUTS.Clear()
        txtUAS.Clear()
        txtNilaiAkhir.Clear()
        txtHuruf.Clear()
    End Sub

    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        Me.Close()
    End Sub
End Class

  

·         Langkah kelima bila koding sudah dimasukan running programnya dan coba isi sesuai keinginan.


Terimakasih segitu dulu pembahasan materi visual basic 2010 dari saya semoga bermanfaat bila ada kesalahan mohon dimaafkan terimakasih J

No comments:

Post a Comment