- Object Oriented Programming (OOP) adalah Suatu konsep pemrograman yang menggunakan Object. Berinteraksi dalam hal pembuatan aplikasi komputer dikarenakan adanya suatu pengelompokan elemen-elemen atau modul-modul atau class-class yang bekerja berdasarkan fungsinya masing-masing.
- OOP sendiri memilik atribut yang merupakan variable (member) dan behavior yang merupakan method (fungsi).
- Class konsep dan deskripsi dari sesuatu. Class adalah abstrak dari suatu Object dan dapat mendeklarasikan method yang dapat digunakan(dipanggil) oleh object.
- Object adalah instance dari class, bentuk (contoh) nyata dari class. Object memiliki sifat independen dan dapat digunakan untuk memanggil method.
- Satu class dapat memiliki banyak object, dan setiap object tersebut mempunyai sifat yang sama persis seperti yang didefinisikan dalam class tersebut. Contoh class adalah fruit, sedangkan objectnya adalah pisang, mangga dan apel.
- Untuk mendeklarasikan sebuah Objek gunakan aturan penulisan sebagai berikut: Dim <namaobjek> As <NamaClass>
- Setelah objek dideklarasikan, kemudian objek tersebut diinstantiasi menggunakan perintah New <namaobjek> = New <namaClass>()
- Variable memiliki jenis (tipe), nama dan nilai
- Cara mendeklarasikan sebuah Attribut/Field hampir sama dengan cara membuat sebuah variabel biasa. <Access Modifier> <namafield> As <Type Data>
- Access Modifier/Pemberian hak akses adalah sesuatu hal yang paling penting diperhatikan oleh developer atau programmer Java dalam membuat sebuah program atau aplikasi. Tujuannya adalah agar Developer atau Programmer dapat memberikan access modifier yang sesuai,
- Jenis Access Modifier
- Private, hanya dapat diakses oleh kode program yang ada dalam class
- Protected, hanya dapat diakses oleh kode program yang ada dalam sebuah class, serta kode program yang berada di dalam class lain yang merupakan turunan dari class tersebut
- Public, field itu dapat diakses oleh seluruh kode program, baik yang berada di dalam class tempat field tersebut berada atau di luar class
- Metode (Method) menunjukkan apa saja yang dapat dilakukan oleh Objek hasil instantiasi Class tersebut.
- Properti (Property) adalah sebuah Metode khusus yang digunakan untuk mendapatkan atau mengubah nilai dari sebuah Field dalam Class. Penggunaan Property biasanya ditujukan untuk Field yang bersifat Private. Field yang bersifat Public dapat diakses langsung dari luar Class, sedangkan Field yang bersifat Private hanya dapat diakses dari luar Class melalui Property.
- Penulisan property
<katakunci> Property <namaprop>() As <tipedataprop>
Get
…
Return <namafield>
End Get
Set(<Type parameter> <Arg> As <Type data>)
…
…
End Set
End Property
Contoh Praktikum
Program Segiempat

Class Segiempat
Public Class Segiempat
'Created by Ruthyana Vita
'Deklarasi variabel global
Public panjang As Double
Public lebar As Double
End Class
Module Segiempat
Module ModuleSegiempat
'Created by Ruthyana Vita
Sub Main()
'mendeklarasikan variabel lokal
Dim luas As Double
'mendeklarasikan object baru dan mereferensi ke kelas segiempat
Dim se As Segiempat
'inisasi objek se ke class Segiemat dengan perintah New
se = New Segiempat()
'memanggil atribut dan memberi nilai
se.panjang = 8
se.lebar = 6
'menghitung luas
luas = se.panjang * se.lebar
'menampilkan luas
Console.WriteLine("Luas Segi Empat = {0}", luas)
Console.ReadLine()
End Sub
End Module
Program Mahasiswa

Class Mahasiswa
Public Class Mahasiswa
'Created by Ruthyana Vita
'deklarasi variabel global
Public nim As String
Public nama As String
Public jurusan As String
End Class
Module Mahasiswa
Module ModuleMahasiswa
'Created by Ruthyana Vita
Sub Main()
'mendeklarasikan referensi ke kelas mahasiswa
Dim mhs As Mahasiswa
'membuat object dari kelas mahasiswa
mhs = New Mahasiswa()
'mengisi nilai object
mhs.nim = "201002392"
mhs.nama = "Wahyu Budi Santoso"
mhs.jurusan = "Sistem Informasi"
'menampilkan output
Console.WriteLine("Institut Bisnis dan Informatika (IBI)")
Console.WriteLine(" Kwik Kian Gie ")
Console.WriteLine("-------------------------------------")
Console.WriteLine("Nomor Induk Mahasiswa = {0}", mhs.nim)
Console.WriteLine("Nama Mahasiswa = {0}", mhs.nama)
Console.WriteLine("Jurusan Mahasiswa = {0}", mhs.jurusan)
Console.ReadLine()
End Sub
End Module
Program Kubus

Class Kubus
Public Class Kubus
'Created by Ruthyana Vita
'deklarasi variabel global
Public panjang As Double
Public luas As Double
Public tinggi As Double
End Class
Module Kubus
Module ModuleKubus
'Created by Ruthyana Vita
Sub Main()
'mendeklarasikan objek baru dan mereferensi ke kelas kubus
Dim ktk As Kubus
'inisiasi objek ktk ke class kubus dengan perintah new
ktk = New Kubus
'deklarasi dan inisiasi objek bisa dijadikan satu, menjadi
'Dim ktk As Kubus = New Kotak()
Dim volume As Double = 0.0
'memanggil atribut dan memberi nilai
ktk.tinggi = 2.0
ktk.panjang = 3.0
ktk.luas = 4.0
'menghitung volume dari kubus
volume = ktk.tinggi * ktk.panjang * ktk.luas
'menampilkan hasil volume
Console.WriteLine("Volume Dari Kubus = {0}", volume)
Console.ReadKey()
End Sub
End Module
Program Mobil

Class Mobil
Public Class Mobil
'Created by Ruthyana Vita
Dim warna As String = "Hitam"
Dim tahunproduksi As Integer = 2017
Public Sub CetakMobil()
Console.WriteLine("Warna Mobil = {0}", warna)
Console.WriteLine("Tahun Produksi = {0}", tahunproduksi)
End Sub
End Class
Module Mobil
Module ModuleMobil
'Created by Ruthyana Vita
Sub Main()
'mendeklarasikan referensi ke kelas mobil
Dim mbl As Mobil
'membuat objek dari kelas mobil
mbl = New Mobil()
mbl.CetakMobil()
Console.ReadLine()
End Sub
End Module
Program Persegi Panjang

Class Persegi Panjang
Public Class PersegiPanjang
'medeklarasikan data private
Private panjang As Double
Private lebar As Double
Public Sub IsiData(ByVal pj As Double, ByVal lb As Double)
Me.panjang = pj
Me.lebar = lb
End Sub
'mendefinisikan metode private
Private Function HitungLuas()
Return panjang * lebar
End Function
'mendefinisikan metode untuk mencetak luas
Public Sub CetakLuas()
Console.WriteLine("Luas Persegi Panjang = " & HitungLuas())
End Sub
End Class
Module Persegi Panjang
Module ModulePersegiPanjang
'Created by Ruthyana Vita
Sub main()
'mendeklarasikan object baru dan mereferensi ke kelas persegi panjang
Dim ps As PersegiPanjang
'inisiasi objek ps ke class persegipanjang dengan perintah new
ps = New PersegiPanjang()
ps.IsiData(8, 6)
ps.CetakLuas()
Console.ReadLine()
End Sub
End Module
Program Mahasiswa 2

Class Mahasiswa 2
Public Class Mahasiswa2
'Created by Ruthyana Vita
'deklarasi variabel global
Dim nim As String = "201002932"
Dim nama As String = "Wahyu Budi Santoso"
Dim jurusan As String = "Sistem Informasi"
Public Sub TampilBiodata()
Console.WriteLine("Institut Bisnis dan Informatika (IBI)")
Console.WriteLine(" Kwik Kian Gie ")
Console.WriteLine("-------------------------------------")
Console.WriteLine("Nomor Induk Mahasiswa = {0}", nim)
Console.WriteLine("Nama Mahasiswa = {0}", nama)
Console.WriteLine("Jurusan Mahasiswa = {0}", jurusan)
End Sub
End Class
Module Mahasiswa 2
Module ModuleMahasiswa2
'Created by Ruthyana Vita
Sub Main()
'mendeklarasikan referensi ke kelas mahasiswa2
Dim mhs As Mahasiswa2
'membuat objek dari kelas mahasiswa2
mhs = New Mahasiswa2()
mhs.TampilBiodata()
Console.ReadLine()
End Sub
End Module
Program Lingkaran

Class Lingkaran
Public Class Lingkaran
'Created by Ruthyana Vita
Public r, luas As Integer
Public Property jari() As Integer
Get
Return r
End Get
Set(ByVal value As Integer)
r = value
End Set
End Property
Public Function luas_lingkaran()
luas = 3.14 * r * r
Return luas
End Function
End Class
Module Lingkaran
Module ModuleLingkaran
'Created by Ruthyana Vita
Sub Main()
Dim ling As New Lingkaran()
Console.Write("Masukkan jari-jari lingkaran = ")
ling.r = Console.ReadLine()
Console.Write("Luas Lingkaran = ")
Console.WriteLine(ling.luas_lingkaran)
Console.ReadLine()
End Sub
End Module
Program Segi Empat 2

Class Segi Empat 2
Public Class Segiempat2
'Created by Ruthyana Vita
Public p As Integer
Public l As Integer
Public temp_luas As Integer
Public Property panjang() As Integer
Get
Return p
End Get
Set(ByVal value As Integer)
p = value
End Set
End Property
Public Property lebar() As Integer
Get
Return 1
End Get
Set(ByVal value As Integer)
value = 1
End Set
End Property
Public Function luas(ByVal panjang As Integer, ByVal lebar As Integer) As Integer
temp_luas = panjang * lebar
Return temp_luas
End Function
End Class
Module Segi Empat 2
Public Class Segiempat2
'Created by Ruthyana Vita
Public p As Integer
Public l As Integer
Public temp_luas As Integer
Public Property panjang() As Integer
Get
Return p
End Get
Set(ByVal value As Integer)
p = value
End Set
End Property
Public Property lebar() As Integer
Get
Return 1
End Get
Set(ByVal value As Integer)
value = 1
End Set
End Property
Public Function luas(ByVal panjang As Integer, ByVal lebar As Integer) As Integer
temp_luas = panjang * lebar
Return temp_luas
End Function
End Class