Breaking News

Sunday 6 January 2013

Overloading pada PBO

Overloading Merupakan Suatu Function yang memiliki parameter , dan function tersebut dapat memiliki nama function yang sama dengan yang lainnya dengan syarat jumlah parameter mesti berbeda


atau bisa kita bilang Situasi di mana beberapa rutin dalam sebuah program dapat mempunyai nama sama tetapi berbeda jenis parameter dan/utau jenis return value.
coba kalian analisa class diagram ini;


class induk nya adalah class KELUARGA dan turunannya adalah semua class yang ada.
pertama buat class KELUARGA sebagai class induk dan masukkan code;


Public MustInherit Class KELUARGA
    Private bapak As String
    Private ibu As String
    Private anak_pria As String
    Private anak_wanita As String

    Public Property nama_bapak() As String
        Get
            Return bapak
        End Get
        Set(ByVal value As String)
            bapak = value
        End Set
    End Property
    Public Property nama_ibu() As String
        Get
            Return ibu
        End Get
        Set(ByVal value As String)
            ibu = value
        End Set
    End Property
    Public Property nama_anak_pria() As String
        Get
            Return anak_pria
        End Get
        Set(ByVal value As String)
            anak_pria = value
        End Set
    End Property
    Public Property nama_anak_wanita() As String
        Get
            Return anak_wanita
        End Get
        Set(ByVal value As String)
            anak_wanita = value
        End Set
    End Property
End Class
kemudian buat class turunannya dengan code;
Public Class BAPAK
    Inherits KELUARGA
    Private nama_ke As New Hashtable
    Public Overloads Property nama_bapak(ByVal jenis As jenis_nama_bapak) As String
        Get
            Return nama_ke(jenis)
        End Get
        Set(ByVal value As String)
            nama_ke.Add(jenis, value)
        End Set
    End Property
End Class
buat enum di bawah code class, nama enum bisa di sesuaikan dengan nama class nya.
Public Enum jenis_nama_bapak
    lengkap = 1
    panggilan = 2
End Enum
didalam program ini terdapat 4 class turunan, berarti kita juga harus membuat 4 enum yang di sesuaikan dengan nama class nya. code buat smua class nya sama dengan code di atas.
kemudian desain form seperti gambar
kemudian buat codding di dalam combobox;
private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CBStatus.SelectedIndexChanged
        Dim obj_ZAQI As New BAPAK
        Dim zaqi As New IBU
        Dim obj_zacky As New ANAK_WANITA
        Dim zacky As New ANAK_PRIA
        If CBStatus.Text = "BAPAK" Then
            obj_ZAQI.nama_bapak = "ABURIZAL"
            obj_ZAQI.nama_bapak(jenis_nama_bapak.lengkap) = "ABURIZAL BACHRI"
            obj_ZAQI.nama_bapak(jenis_nama_bapak.panggilan) = "ABU"

            TextBox1.Text = obj_ZAQI.nama_bapak(jenis_nama_bapak.lengkap)
            TextBox2.Text = obj_ZAQI.nama_bapak
            TextBox3.Text = obj_ZAQI.nama_bapak(jenis_nama_bapak.panggilan)

        ElseIf CBStatus.Text = "IBU" Then
            zaqi.nama_ibu = "MEGAWATI"
            zaqi.nama_ibu(jenis_nama_ibu.lengkap) = "NUR MEGAWATI"
            zaqi.nama_ibu(jenis_nama_ibu.panggilan) = "MEGA"

            TextBox1.Text = zaqi.nama_ibu(jenis_nama_ibu.lengkap)
            TextBox2.Text = zaqi.nama_ibu
            TextBox3.Text = zaqi.nama_ibu(jenis_nama_ibu.panggilan)

        ElseIf CBStatus.Text = "ANAK WANITA" Then
            obj_zacky.nama_anak_wanita = "HASTARI"
            obj_zacky.nama_anak_wanita(jenis_nama_anak_wanita.lengkap) = "AYU HASTARI"
            obj_zacky.nama_anak_wanita(jenis_nama_anak_wanita.panggilan) = "YUHAS"

            TextBox1.Text = obj_zacky.nama_anak_wanita(jenis_nama_anak_wanita.lengkap)
            TextBox2.Text = obj_zacky.nama_anak_wanita
            TextBox3.Text = obj_zacky.nama_anak_wanita(jenis_nama_anak_wanita.panggilan)

        ElseIf CBStatus.Text = "ANAK PRIA" Then
            zacky.nama_anak_pria = "ROZAQI"
            zacky.nama_anak_pria(jenis_nama_anak_pria.lengkap) = "ABDUL ROZAQI"
            zacky.nama_anak_pria(jenis_nama_anak_pria.panggilan) = "ZAQI"

            TextBox1.Text = zacky.nama_anak_pria(jenis_nama_anak_pria.lengkap)
            TextBox2.Text = zacky.nama_anak_pria
            TextBox3.Text = zacky.nama_anak_pria(jenis_nama_anak_pria.panggilan)
        End If
    End Sub
#cbstatus = combobox
kemudian buat codding pada button tampil
 With ListBox1
         .Items.Add("NAMA LENGKAP      : " & textbox1.text)
         .Items.Add("NAMA PENDEK        : " & textbox2.text)
         .Items.Add("NAMA PANGGILAN  : " & textbox3.text)
         .Items.Add("STATUS  : " & CBStatus.Text)
                CBStatus.Text = ""
                TextBox1.Text = ""
                TextBox2.Text = ""
                TextBox3.Text = ""
end with

dalam program ini kalian harus menganalisa class diagram tersebut.






No comments:

Post a Comment

Designed By