OOP Part 2

  • Class
    1. Class adalah konsep dan deskripsi dari sesuatu.
    2. Satu class dapat memiliki banyak object, dan setiap object tersebut mempunyai sifat yang sama persis seperti yang didefinisikan dalam class tersebut.
    3. Dibawah ini adalah contoh penulisan class
  • Object
    1. Object adalah bentuk (contoh) nyata dari class.
    2. Membuat sebuah Objek, berarti mendeklarasikan dan menginstansiasi objek.
    3. Untuk mendeklarasikan sebuah Objek gunakan aturan penulisan sebagai berikut : Dim <nama objek> As <NamaClass>
    4. Setelah objek dideklarasikan, kemudian objek tersebut diinstantiasi menggunakan perintah New -> <namaobjek> = New <nama class>()
  • Attribute
    1. Object adalah bentuk (contoh) nyata dari class.
    2. Variable digunakan untuk menyimpan nilai yang nantinya akan digunakan pada program.
    3. Cara mendeklarasikan sebuah Attribut/Field hampir sama dengan cara membuat sebuah variabel biasa. <Access Modifier> <namfield> As <Type Data>
  • Method
    1. Method adalah urutan instruksi yang mengakses data dari object/Menentukan Perilaku Objek.
    2. Method melakukan hal berikut :
      a. Maninpulasi data
      b. Perhitungan matematika
      c. Memonitor kejadian dari suatu event
    3. Jika Metode yang dibuat adalah berupa Sub, berarti metode tersebut tidak mengembalikan nilai apapun ke kode program yang memanggilnya.
    4. Jika Metode yang dibuat berupa Fungsi, berarti metode tersebut mengembalikan sebuah nilai ke kode program yang memanggilnya.
  • Konstruktor
    1. Konstruktor adalah Method yang digunakan untuk memberi nilai awal pada saat object diciptakan.
    2. Dipanggil secara otomatis ketika new digunakan untuk membuat instan class.
    3. Sifat konstruktor
      a. Nama konstruktor sama dengan class
      b. Tidak memiliki nilai balik
  • Properti
    1. Properti (Property) adalah sebuah Metode khusus yang digunakan untuk mendapatkan atau mengubah nilai dari sebuah Field dalam Class.
    2. Penggunaan Property biasanya ditujukan untuk Field yang bersifat Private.
    3. Field yang bersifat Public dapat diakses langsung dari luar Class, sedangkan Field yang bersifat Private hanya dapat diakses dari luar Class melalui Property.

Contoh Praktikum

Class Mobil

Public Class Mobil
    'Created by Ruthyana Vita

    'Deklarasi Variabel
    Public warna As String
    Public tahun As Integer

End Class

Form Mobil

Public Class FormMobil
    'Created by Ruthyana Vita

    'Deklarasi Object mbl dengan Static Modifier Public
    Public mbl As Mobil

    Private Sub btproses_Click(sender As Object, e As EventArgs) Handles btproses.Click
        'Instanisasi Object ke ClassMobil
        mbl = New Mobil

        mbl.warna = "Hitam"
        mbl.tahun = 2018

        TextBox1.Text = mbl.warna
        TextBox2.Text = mbl.tahun
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox("Yakin Mau Keluar?", vbYesNo, "Konfirmasi")
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Class Mahasiswa

Public Class Mahasiswa
    'Created by Ruthyana Vita

    Public nim As Integer
    Public nama As String
    Public jurusan As String
    Public alamat As String

End Class

Form Mahasiswa

Public Class FormMahasiswa
    'Created by Ruthyana Vita

    Public mhs As Mahasiswa

    Private Sub btproses_Click(sender As Object, e As EventArgs) Handles btproses.Click
        mhs = New Mahasiswa
        mhs.nim = “201804112”
        mhs.nama = “Wahyu Budi santoso”
        mhs.jurusan = “Sistem Informasi”
        mhs.alamat = “Jl. Kelapa Gading Timur No.12”

        nim.Text = mhs.nim
        nama.Text = mhs.nama
        jurusan.Text = mhs.jurusan
        alamat.Text = mhs.alamat
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox("Yakin Mau Keluar?", vbYesNo, "Konfirmasi")
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Class Segitiga

Public Class Segitiga
    'Created by Ruthyana Vita

    Public alas As Integer
    Public tinggi As Integer

End Class

Form Segitiga

Public Class FormSegitiga
    'Created by Ruthyana Vita

    'Mendeklarasikan Variabel Lokal
    Dim luas As Double

    'Mendeklarasikan Referensi ke Kelas Segitiga
    Dim st As Segitiga

    Private Sub bthitung_Click(sender As Object, e As EventArgs) Handles bthitung.Click
        'Membuat object dari kelas segitiga
        st = New Segitiga()

        st.alas = TextBox1.Text
        st.tinggi = TextBox2.Text

        luas = (st.alas * st.tinggi) / 2

        TextBox3.Text = luas
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox("Yakin Mau Keluar?", vbYesNo, "Konfirmasi")
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Class Persegi Panjang

Public Class PersegiPanjang
    'Created by Ruthyana Vita

    Public panjang As Integer
    Public lebar As Integer

End Class

Form Persegi Panjang

Public Class FormPersegiPanjang
    'Created by Ruthyana Vita

    Dim luas As Integer
    Dim keliling As Integer
    Dim ppanjang As PersegiPanjang

    Private Sub bthitung_Click(sender As Object, e As EventArgs) Handles bthitung.Click
        ppanjang = New PersegiPanjang()

        ppanjang.panjang = TextBox1.Text
        ppanjang.lebar = TextBox2.Text

        luas = (ppanjang.panjang * ppanjang.lebar)
        keliling = 2 * (ppanjang.panjang + ppanjang.lebar)

        TextBox3.Text = luas
        TextBox4.Text = keliling
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox("Yakin Mau Keluar?", vbYesNo, "Konfirmasi")
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Class Lingkaran

Public Class Lingkaran
    'Created by Ruthyana Vita

    Public jarijari As Integer

End Class

Form Lingkaran

Public Class FormLingkaran
    'Created by Ruthyana Vita

    Dim luas As Double
    Dim keliling As Double
    Dim lingkaran As Lingkaran

    Private Sub bthitung_Click(sender As Object, e As EventArgs) Handles bthitung.Click
        lingkaran = New Lingkaran()

        lingkaran.jarijari = TextBox1.Text
        luas = (3.14 * lingkaran.jarijari * lingkaran.jarijari)
        keliling = (2 * 3.14 * lingkaran.jarijari)

        TextBox2.Text = luas
        TextBox3.Text = keliling
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar?”, vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            End
        End If
    End Sub
End Class

Class Kotak

Public Class Kotak
    'Created by Ruthyana Vita

    Public panjang, lebar, tinggi As Integer

End Class

Form Kotak

Public Class FormKotak
    'Created by Ruthyana Vita

    Dim volume As Integer
    Dim kotak As Kotak

    Private Sub bthitung_Click(sender As Object, e As EventArgs) Handles bthitung.Click
        kotak = New Kotak()

        kotak.panjang = TextBox1.Text
        kotak.lebar = TextBox2.Text
        kotak.tinggi = TextBox3.Text

        volume = (kotak.panjang * kotak.lebar * kotak.tinggi)
        TextBox4.Text = volume
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar?”, vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub

End Class

Class Day

Public Class Day
    'Created by Ruthyana Vita

    Dim hari As String

    'Membuat method getday
    Public Sub GetDay()
        hari = "Senin"
        MessageBox.Show("Hari ini adalah : " & hari)
    End Sub

End Class

Form Day

Public Class FormHari
    'Created by Ruthyana Vita

    Private Sub btday_Click(sender As Object, e As EventArgs) Handles btday.Click
        'Mendeklarasikan variabel dan mereferensi ke Classday
        Dim hr As New Day()
        hr.GetDay()
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar?”, vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Class Circle

Public Class Circle
    'Created by Ruthyana Vita

    Dim phi As Decimal = CDec(3.14)
    Dim r As Decimal

    'Membuat method GetArea
    Public Sub GetArea()
        phi = CDec(3.14)
        r = 10
        MessageBox.Show("Luas Lingkaran = " & phi * r ^ 2)
    End Sub

End Class

Form Circle

Public Class FormCircle
    'Created by Ruthyana Vita

    'Mendeklarasikan variabel dan mereferensi ke Class Circle
    Private Sub bthasil_Click(sender As Object, e As EventArgs) Handles bthasil.Click
        Dim hasil As New Circle
        hasil.GetArea()
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar?”, vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Class Persegi Panjang 2

Public Class PersegiPanjang2
    'Created by Ruthyana Vita

    Public panjang As Integer
    Public lebar As Integer

    'Membuat method CetakLuas
    Public Sub CetakLuas()
        Dim luas As Double
        luas = panjang * lebar
    End Sub

    'Membuat method CetakKeliling
    Public Sub CetakKeliling()
        Dim keliling As Double
        keliling = 2 * (panjang + lebar)
    End Sub

End Class

Form Persegi Panjang 2

Public Class FormPersegiPanjang2
    'Created by Ruthyana Vita

    'Mendeklarasikan referensi ke kelas persegi panjang
    Dim pp As PersegiPanjang2

    Private Sub bthitung_Click(sender As Object, e As EventArgs) Handles bthitung.Click
        pp = New PersegiPanjang2()
        pp.lebar = TextBox1.Text
        pp.panjang = TextBox2.Text

        TextBox3.Text = pp.lebar * pp.panjang
        TextBox4.Text = 2 * (pp.lebar + pp.panjang)

        'Panggil Method
        pp.CetakLuas()
        pp.CetakKeliling()
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar?”, vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Class Kotak 2

Public Class Kotak2
    'Created by Ruthyana Vita
    Public panjang As Integer
    Public lebar As Integer
    Public tinggi As Integer

    Public Sub CetakVolume()
        Dim volume As Double
        volume = (panjang * tinggi * lebar)
    End Sub
End Class

Form Kotak 2

Public Class FormKotak2
    'Created by Ruthyana Vita

    Dim kotak As Kotak2

    Private Sub bthitung_Click(sender As Object, e As EventArgs) Handles bthitung.Click
        kotak = New Kotak2()
        kotak.panjang = TextBox1.Text
        kotak.tinggi = TextBox2.Text
        kotak.lebar = TextBox3.Text
        TextBox4.Text = (kotak.panjang * kotak.lebar * kotak.tinggi)
        kotak.CetakVolume()
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar?", vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Class Segitiga 2

Public Class Segitiga2
    'Created by Ruthyana Vita

    Public alas As Integer
    Public tinggi As Integer

    Public Sub CetakLuas()
        Dim luas As Integer
        luas = (alas * tinggi) / 2
    End Sub

End Class

Form Segitiga 2

Public Class FormSegitiga2
    'Created by Ruthyana Vita

    Dim segitiga As Segitiga2

    Private Sub bthitung_Click(sender As Object, e As EventArgs) Handles bthitung.Click
        segitiga = New Segitiga2()

        segitiga.alas = TextBox1.Text
        segitiga.tinggi = TextBox2.Text

        TextBox3.Text = (segitiga.alas * segitiga.tinggi) / 2
        segitiga.CetakLuas()
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar?”, vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class
Tampilan Ketika Code dijalankan
Tampilan Keluar

Class Mahasiswa 2

Public Class Mahasiswa2
    'Created by Ruthyana Vita

    'Deklarasi variabel
    Private nama As String

    'membuat property/method
    Public Function getNama()
        Return nama
    End Function

    'membuat property/method
    Public Sub setNama(ByRef nm As String)
        nama = nm
    End Sub

End Class

Form Mahasiswa 2

Public Class FormMahasiswa2
    'Created by Ruthyana Vita

    Public mahasiswa As Mahasiswa2

    Private Sub FormMahasiswa2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'membuat object dengan nama mahasiswa
        mahasiswa = New Mahasiswa2

        mahasiswa.setNama("Budi Rahardjo")
        MsgBox("Nama Anda : " + mahasiswa.getNama())
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar?”, vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Class Mobil 2

Public Class Mobil2
    'Created by Ruthyana Vita

    'Deklarasi variabel
    Public warna As String
    Public tahun As Integer

    Public Function getWarna()
        Return warna
    End Function

    Public Function getTahun()
        Return tahun
    End Function

    Public Sub setWarna(ByRef wrn As String)
        warna = wrn
    End Sub

    Public Sub setTahun(ByRef thn As String)
        tahun = thn
    End Sub

End Class

Form Mobil 2

Public Class FormMobil2
    'Created by Ruthyana Vita

    Public mbl2 As Mobil2

    Private Sub btproses_Click(sender As Object, e As EventArgs) Handles btproses.Click
        mbl2 = New Mobil2

        mbl2.setWarna("Putih")
        mbl2.setTahun(2018)

        TextBox1.Text = mbl2.warna
        TextBox2.Text = mbl2.tahun
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar?”, vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class
Tmapilan Awal

Class Konversi

Public Class Konversi
    'Created by Ruthyana Vita

    Public celcius, farenheit As Single

    Public Function celfah() As Double
        Return 1.8 * celcius + 32
    End Function

    Public Function celream() As Double
        Return celcius * 0.8
    End Function

    Public Function fahcel() As Double
        Return (farenheit - 32) / 1.8
    End Function
End Class

Form Konversi

Public Class FormKonversi
    'Created by Ruthyana Vita

    Private Sub FormKonversi_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        MsgBox(“Welcome To The Temperature Conversion Program!”, vbInformation, “Warning!”)
    End Sub

    Private Sub convert1_Click(sender As Object, e As EventArgs) Handles convert1.Click
        Dim objcelfah As New Konversi

        With objcelfah
            .celcius = TextBox1.Text
            TextBox2.Text = .celfah
        End With

        TextBox1.Enabled = False
        convert2.Enabled = False
        btclear.Enabled = True
    End Sub

    Private Sub convert2_Click(sender As Object, e As EventArgs) Handles convert2.Click
        Dim objcelream As New Konversi

        With objcelream
            .celcius = TextBox3.Text
            TextBox4.Text = .celream
        End With

        TextBox3.Enabled = False
        TextBox4.Enabled = False
        btclear.Enabled = True
    End Sub

    Private Sub convert3_Click(sender As Object, e As EventArgs) Handles convert3.Click
        Dim objfahcel As New Konversi

        With objfahcel
            .farenheit = TextBox5.Text
            TextBox6.Text = .fahcel
        End With

        TextBox5.Enabled = False
        TextBox6.Enabled = False
        btclear.Enabled = True
    End Sub

    Private Sub btclear_Click(sender As Object, e As EventArgs) Handles btclear.Click
        TextBox1.Text = “”
        TextBox2.Text = “”
        TextBox3.Text = “”
        TextBox4.Text = “”
        TextBox5.Text = “”
        TextBox6.Text = “”
        convert1.Enabled = True
        convert2.Enabled = True
        convert3.Enabled = True
        btclear.Enabled = False
        TextBox1.Enabled = True
        TextBox3.Enabled = True
        TextBox5.Enabled = True
        TextBox1.Focus()
    End Sub

    Private Sub btexit_Click(sender As Object, e As EventArgs) Handles btexit.Click
        If MsgBox(“Are You Sure Want To Quit?”, vbOKCancel, “Warning!”) = MsgBoxResult.Ok Then
            Me.Close()
        Else
            Me.Show()
            TextBox1.Focus()
        End If
    End Sub

End Class

Class Mahasiswa 3

Public Class Mahasiswa3
    'Created by Ruthyana Vita

    Public nim As Integer
    Public nama As String
    Public jurusan As String
    Public alamat As String

    Public Function getNIM()
        Return nim
    End Function

    Public Function getNama()
        Return nama
    End Function

    Public Function getJurusan()
        Return jurusan
    End Function

    Public Function getAlamat()
        Return alamat
    End Function

    Public Sub setNIM(ByRef ni As String)
        nim = ni
    End Sub

    Public Sub setNama(ByRef nm As String)
        nama = nm
    End Sub

    Public Sub setJurusan(ByRef jrs As String)
        jurusan = jrs
    End Sub

    Public Sub setalamat(ByRef alt As String)
        alamat = alt
    End Sub
End Class

Form Mahasiswa 3

Public Class FormMahasiswa3
    'Created by Ruthyana Vita

    Public mhs As Mahasiswa3

    Private Sub btambil_Click(sender As Object, e As EventArgs) Handles btambil.Click
        mhs = New Mahasiswa3()
        mhs.setNIM(“0911105”)
        nim.Text = mhs.nim

        mhs.setNama(“Andi Prasetyo”)
        nama.Text = mhs.nama

        mhs.setJurusan(“Teknik Informatika”)
        jurusan.Text = mhs.jurusan

        mhs.setalamat(“Jl.Pinangsia No.12 Jakarta Pusat”)
        alamat.Text = mhs.alamat
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar??”, vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Class Persegi Panjang 3

Public Class PersegiPanjang3
    'Created by Ruthyana Vita

    Public pjg As Integer
    Public lbr As Integer
    Public Sub CetakLuas()

        Dim luas As Double
        luas = pjg * lbr
    End Sub

End Class

Form Persegi Panjang 3

Public Class FormPersegiPanjang3
    'Created by Ruthyana Vita

    Dim persegipanjang As PersegiPanjang3

    Private Sub btluas_Click(sender As Object, e As EventArgs) Handles btluas.Click
        persegipanjang = New PersegiPanjang3

        persegipanjang.pjg = TextBox1.Text
        persegipanjang.lbr = TextBox2.Text

        persegipanjang.CetakLuas()
        MsgBox(“Luas Persegi Panjang = ” & persegipanjang.pjg * persegipanjang.lbr)
    End Sub

    Private Sub btkeluar_Click(sender As Object, e As EventArgs) Handles btkeluar.Click
        Dim pesan As String
        pesan = MsgBox(“Yakin Mau Keluar?”, vbYesNo, “Konfirmasi”)
        If pesan = vbYes Then
            Close()
            End
        End If
    End Sub
End Class

Leave a comment