Hello World Versi OOP Menggunakan VB.net

Hello World Versi OOP Menggunakan VB.net

Pemrograman | Pemrograman Berorientasi Obyek (PBO) atau Object Oriented Programming (OOP) adalah salah satu paradigma pemrograman yang berusaha menyederhanakan problem yang diselesaikan sebagai kumpulan dari obyek-obyek. Selain paradigma OOP, masih ada beberapa paradigma pemrograman lainnya, seperti Pemrograman ImperativePemrograman ProceduralPemrograman Functional, dan lain-lain. Namun artikel ini tidak akan membahas semua paradigma tersebut. Artikel ini akan mencoba menjelaskan secara ringkas beberapa konsep penting dalam OOP dan menerapkan konsep tersebut menjadi sebuah program Hello World sederhana.

UPDATE: Karena ada permintaan program Hello World dalam versi PHP, silakan buka spoiler di bagian akhir dari artikel ini

Interface

Interface sering digunakan untuk mendefinisikan sebuah tipe abstrak yang tidak berisi data, dan memaparkan perilaku obyek dalam bentuk kumpulan function  atau method. Sebuah class yang memiliki semua function atau method yang sama dikatakan mengimplementasikan interface tersebut. Selain itu, class dapat mengimplementasikan beberapa interface sekaligus. Contoh Interface dalam sebuah code VB.net adalah sebagai berikut

''' Interface Printer
''' Mendifinisikan behavior printer
Public Interface Printer
    Sub PrintOut(ByVal message As String)
End Interface

Class

Class adalah template atau pola yang digunakan untuk membuat objek, biasanya berisikan sejumlah nilai awal untuk variable dan implementasi perilaku (behavior) dari sebuah interface. Berikut ini contoh implementasi sebuah Interface Printer dan contoh Class Message yang akan kita gunakan untuk menyimpan pesan yang ingin kita cetak ke printer dalam sebuah code VB.net adalah sebagai berikut,

''' implementasi interface Printer
''' class untuk mencetak ke console
Public Class SystemOutPrinter
    Implements Printer
    Public Sub PrintOut(message As String) Implements Printer.PrintOut
        Console.WriteLine(message)
    End Sub
End Class

''' Class berisi pesan yang ingin ditampilkan
Public Class Message
    Private message As String
    ' constructor
    Public Sub New(ByVal message As String)
        Me.message = message
    End Sub
    ' fungsi untuk menampilkan pesan
    Public Sub PrintOut(printer As Printer)
        printer.PrintOut(Me.ToString())
    End Sub
    ' fungsi untuk mengubah pesan menjadi string
    Public Overrides Function ToString() As String
        Return Me.message
    End Function
End Class

Inheritance

Inheritance adalah ketika suatu obyek atau kelas didasarkan pada objek atau class lain. Inheritance adalah sebuah mekanisme penggunaan kembali kode (code reuse). Hubungan inheritance menimbulkan sebuah hubungan hirarki antara parent class dengan child class, dengan child class akan mewariskan semua property/variable dan method yang ada di parent class. Contoh penerapan abstract class dan inheritance menggunakan VB.net adalah sebagai berikut,

''' contoh class abstract
''' harus dibuat object inheritance kalau mau pake
Public MustInherit Class AbstractPrinterFactory
    Public Shared Function GetFactory() As AbstractPrinterFactory
        ' return default printer factory
        Return New SystemOutPrinterFactory()
    End Function
    Public MustOverride Function GetPrinter() As Printer
End Class

''' hasil turunan abstract class
Public Class SystemOutPrinterFactory
    Inherits AbstractPrinterFactory
    Public Overrides Function GetPrinter() As Printer
        Return New SystemOutPrinter()
    End Function
End Class

Abstract Class vs. Interface

Jika kita perhatikan di atas, Inheritance dapat berupa extend/inherits class lain, atau implements sebuah interface. Keduanya sama-sama mewariskan semua method ke child class. Namun ada perbedaan yang perlu diperhatikan. Sebuah class hanya bisa extend/inherits dari satu class saja, sedangkan sebuah class bisa implements banyak Interface. Untuk memudahkannya. Inherits menggambarkan hubungan "adalah", artinya Class Tiger inherits Animals, sama artinya Tiger adalah Animals, Sedangkan Implements artinya "bisa melakukan sesuatu", misalkan Tiger Implements Running, Swimming. Artinya Tiger bisa Running dan Swimming.

Hello World!

Akhirnya setelah semua siap, sekarang kita buatkan method Main untuk memanggil Hello World kita, seperti di bawah ini

''' module utama
Module HelloWorld
    Public Sub Main()
        Dim message As New Message("Hello World!")
        Dim factory As AbstractPrinterFactory
        Dim printer As Printer
        ' create printer
        factory = SystemOutPrinterFactory.GetFactory()
        printer = factory.GetPrinter()
        ' display message 
        ' menggunakan printer yang di buat di atas
        message.PrintOut(printer)
    End Sub
End Module

Dan hasil tampilannya seperti dibawah ini

Hello World Versi OOP Menggunakan VB.net

Source code lengkap menggunakan Visual Studio 2012 silakan unduh di sini.

 

Versi PHP

 

UPDATE: Karena ada permintaan program Hello World dalam versi PHP, silakan buka spoiler di bawah ini untuk lebih jelasnya

 

 

Selamat Belajar!

 

Hello World Versi OOP Menggunakan VB.net

 

Category: