CLASS VB.NET adalah Object Oriented Programming (OOP) dimana semua entitas yang dideklarasikan diperlukan sebagai sebuah objek. Suatu Class merupakan sebuah blue print objek yang dideskripsikannya. Pada VB.NET, proses pembuatan blue print ditandai oleh kata kunci Class. Sebuah Class memiliki anggota yang terdiri dari field, property, metode, dan event Sebenarnya anda telah belajar membuat Class, yakni suatu class yang merupakan turunan (Inherist) System. Window. Forms. Form. Jadi apa bedanya dengan topic yang akan dibahas pada bab ini? Perbedaannya, anda membuat Class Form melalui pilihan tipe proyek Windows Application, sedangkan membuat Class (Derived Class/Class Turunan) dilakukan melalui pilihan tipe proyek Class Library. Program yang dibuat melalui Class Library memiliki format penulisan seperti berikut: Public Class
<…> end class
Class Form memiliki bentuk program berikut: Public Class Inherist system .Window .Forms .Form #Region “ Windows form Designer generated code” <…..> #end Region End Class
Dalam sebuah proyek, kita membuat cetakan dasar (blue print) melalui pilihan tipe proyek windows Application, kemudian membuat program Derived Class (Program Turunan) yang akan menggunakan “cetakan program form” sebagai “cetakan dasar” atau Base Class-nya. Tidak mudah untuk mengatakan sebuah bahasa program berbasis OPP karena bahasa pemrograman tersebut harus memiliki 3 kriteria/ kemampuan dasar, yakni: a. Inheritance: Kemampuan untuk mewariskan field, property, metode, maupun evevt dari Class Dasar (base class) ke keturunannya (driveed class) b. Encapsulation: kemampuan untuk menyembunyikan data dalam class sehingga sehingga data hanya dapat dimanipulasi melalui subrutin atau fungsi dari Class itu sendiri atau turunannya c. Polymorphism: kemampuan untuk menganbil alih (overriding) metode (prosedur atau fungsi) dengan metode yang memiliki nama sama, tetapi melakukan hal yang berbeda.
MEMBUAT CLASS Untuk lebih memahami criteria yang harus dimiliki OPP, dapat dibuat contoh aplikasi berikut. Diasumsikan adanya kebutuhan untuk membuat aplikasi program penjualan alat transportasi berupa
motor dan mobil. Sebagai mana kita ketahui, kedua jenis alat transportasi ini memiliki informasi penjualan berupa pembeli, masa service (layanan purna jual), harga penjualan, dan lain-lain. Data dapat disimpan pada server sesuai yang diinginkan, misalnya pada server dikantor pusat atau pada masingmasing kantor agen penjualan. Untuk mengurangi waktu penulisan/ perawatan program, dibuatlah sebuah “cetakan dasar program” dari turunan class form (Prg_Form_Transportasi) yang nantinya berfungsi sebagai cetakan dasar (base class) bagi class lainnya. Proses pembuatan Prg_Form_Transportasi sama seperti yang dilakukan pada pembuat program form biasa. Adapun perbedaan yang dilakukan terkait dengan diizinkan atau tidaknya suatu prosedur/fungsi untuk dialihkan dengan tugas lain (Polymorphism) akan ditandai oleh adanya kata Overridable di awal pernyataan prosedur atau fungsi yang bias di-polimorphism-kan. Selanjutnya, memulai pilihan tipe proyek Class Library anda membuat dua program Class (CL_Motor dan CL_Mobil) yang akan mewariskan cetakan dari class Prg_Form_Transportasi. Setelah itu anda dapat menulis ulang prosedur atau fungsi yang dapat di-polimorphism-kan dengan menambahkan kata Overrides diawal pernyataan metode atau membiarkan begitu saja bila anda ingin menggunakan metode yang dideskripsikan pada base class. Akhiri proses dengan membuat program induk sebagai starting program untuk menjalankan program Class yang telah ditulis. Jangan lupa untuk mengatur start-up objek melalui jendela Properties. Logika contoh program class cukup jelas. Adapun yang ingin penulis sampaikan adalah bahwa pernyataan yang dapat di-polimorphism-kan harus diletakkan pada prosedur/fungsi terpisah (independent) dan jangan dikodekan dalam prosedur objek control event karena kita tidak bias/boleh mengganti (polymorphism-kan) prosedur dari control event. Berikut adalah listing aplikasi (proyek Lib_Class_1) yang dimaksud dengan contoh tampilan layar seperti tampak pada gambar 4.1. Prg Induk. Vb: publick class Prg Induk Inherist system. Windows. Forms. Form <#Region “ Windows Form Designer generated code “ #End Region> Private Sub Button1_Click (ByVal sender As System. Object, ByVal e As system. Eventargs) Handles Button1 .Click Dim Form prg Form Transportasi As New Prg_Form Transportasi Form Prg Form Transportasi .ShowDialog () End sub
Private sub Button2_Click (ByVal sender As system .Objeck ,ByVal e As system .Eventargs) Handles Button2 .Click Dim form_CL_Motor As New CL_Motor form CL Motor .ShowDialog () End sub Private sub Button3_Click (ByVal sender As system .Object, ByVal e As system. Eventargs) Handles Button3 .Click Dim form CL_Mobil As new CL Mobil form CL Mobil .ShowDialog () End Sub End Class Prg form Transportasi .Vb: public Class Prg Form Transportasi Inherits system .Windows .Forms .Form <#Region “ Windows Form Designer generated code” #End Region> Private sub Prg Form Transportasi Load (ByVal sender As System .Object, ByVal e As system. Eventargs) Handles Mybase .Load set Up data () End sub Private sub button2 Click (ByVal sender As System. Object, ByVal e As system. Eventargs) Handles Button2. Click Keluar () End sub Private sub Button1 Click (ByVal sender As System. Object, ByVal e As system. Eventargs) Handles Button1. Click simpan data () End sub Overridable sub set Up data ()
Textbox1. Text = “pembeli” texttbox2. Text = “motor/mobil” textbox3. Text = 1 textbox4. Text = 0 End sub Overridable Function simpan data() As Boolean MsgBox (“Lokasi Prg : Prg From Transportasi” & vbCrLf & vbCrlf & “pembeli : “ & textbox1. Text & vbCrlf & “kenderaan : “ & TextBox2. Text & vbCrLf & “harga jual : “ & TextBox4. Text & vbCrLf & End Fuction Overridable sub keluar () Me. Close () End Sub End class Cl motor. Vb public Class CL Motor Inherits Prg_Form_Transportasi public Overrides sub Set Up data () TextBox1. Text = “” textBox2. Text = “Motor” TextBox3. Text = 1 textbox. Text = 0 End sub Public overrides Fuction simpan data () As Boolean MsgBox (“Lokasi Prg : CL Motor” & vbCrLf & vbCrLf & “pembeli : “ & Textboxt1. Text & vbCrlf & “kenderaan : & TextBoxt2. Text & vbCrlf & “harga jual : “ & TextBoxt4. Text) end fundacion Public Overrides sub keluar ()
Me. Close () End sub end class Cl Mobil. Vb public Class CL Mobil Inherist Prg Form Transportasi Puclic Overrides sub Set_Up_Data () TextBox1. Text = “ “ TextBox2. Text = “Mobil” TextBox3. Text = 2 TextBox4. Text = 0 End sub Public Overrides sub keluar () Me. Close () End sub End Class