I. Pengertian
Pemrograman berorientasi objek merupakan metode yang relatif baru untuk melakukan perancangan atau rekayasa perangkat lunak. Tujuan metode ini adalah untuk meningkatkan produktivitas pemrogram dengan meningkatkan extensibiltas dan penggunaan kembali perangkat lunak serta untuk mengontrol biaya dan kompleksitas perawatan perangkat lunak.
Secara singkat tujuan utama dari pengembangan perangkat lunak atau program berorientasi objek, dapat dijelaskan sbb:
Ø Mempersingkat waktu dan menurunkan biaya pengembangan rekayasa perangkat lunak.
Ø Menurunkan biaya perawatan perangkat lunak.
Ø Pemrograman berorientasi objek memberikan landasan yang sangat berguna untuk pembuatan prototype sistem secara cepat.
II. Metode dan Objek
Metode merupakan suatu procedure atau fungsi yang disatukan dalam suatu objek serta dapat mengakses field-field data yang menjadi bagian dari objek tersebut.
Didalam sebuah objek, metode didefinisikan dengan sesuatu header fungsi atau procedure yang bertindak sebagai metode. Semua field data harusdidefinisikan sebelum deklarasi metode pertama.
Diluar objek, sebuah metode didefinisikan secara penuh, yaitu statemen-statemen apa aja yang akan dikerjakan oleh metode tersebut. Nama metode harus diletakan nama objek yang memiliki metode tersebut.
Didalam pemrograman berorientasi objek, sebuah objek seperti halnya sebuah rekord yang terdiri dari beberapa field data dengan diperluas adanya fungsi atau prosedur.
Prinsip pemrograman berorientasi obyek adalah sedapat mungkin field-field dalam suatu obyek ditinggalkan menyediri sebanyak mungkin, jangan sampai field data-field data tersebut dapat diakses secara langsung. Jadi bagaimana cara mengakses field data-field data tersebut? Jawabannya adalah sedapat mungkin menggunakan metode obyek(yaitu prosedur atau fungsi yang didefinisikan didalam obyek) obyek yang bersangkutan.
Paradigma Objek
- Paradigma adalah suatu cara pandang atau cara berpikir
- Paradigma objek adalah cara pandang yang memandang SEGALA SESUATU sebagai OBJEK
- Berbagai benda di sekitar kita adalah objek nyata yang dapat dilihat, seperti : kucing, meja, rumah, orang , dll
- Data Member atau variabel
Ø Setiap objek yang dinamakan ‘orang’ pasti memiliki : nama, tinggi badan, berat badan, warna rambut, warna kulit, jenis kelamin, menggunakan kacamata, dll
Ø Ciri-ciri tersebut dapat dipindahkan menjadi variabel-variabel dari class yang sering disebut sebagai : data member
- Objek dalam pemrograman adalah objek yang dibuat dari class tertentu.
- Method
Ø Selain memiliki atribut(STATE) yang diimplementasikan sebagai data member di atas, manusia juga dapat melakukan suatu aksi atau pekerjaan tertentu (BEHAVIOR)
Ø Contoh aksi/behavior yang umum adalah menangis dan tertawa
Ø Kedua behavior tsb bisa dipindahkan ke dalam bahasa pemrograman menjadi method sbb :
Ada 3(tiga) karakteristik utama bahasa pemrograman berorientasi objek yaitu :
a. Enkapsulasi ( pengkapsulan )
Enkapsulasi merupakan gabungan beberapa type data (record) dengan prosedur dan fungsi yang membentuk suatu type data baru yang tepat. Hakikat dari enkapsulasi ini adalah memadukan langkah program dengan data yang ada didalamnya. Dengan enkapsulasi anda dapat menyembunyikan didalam objek, baik data maupun fungsi / prosedur. Hanya dengan interface objek maka kita dapat mengakses datanya.
NB: pengemasan data dan prosedur dalam objek. Ditujukan untuk melakukan penyembunyian informasi (information hidding).
b. Inheritance ( penurunan sifat )
Penurunan sifat memungkinkan kita untuk membuat sebuah objek baru yang sama dengan objek sebelumnya yang telah didefinisikan. Karakteristik dari suatu objek diturunkan ke objek yang lain sehingga objek yang baru akan memiliki karakteristik yang sama dengan induknya. Penurunan ini diawali dengan mendefinisikan objek induk, sehingga dengan menggunakan objek induk tersebut, dapat membuat objek yang bertumpu pada objek induknya. Sehingga akan terbentuk objek keturunan. Dimana setiap objek turunannya dapat mengakses semua data dan program yang dimiliki oleh objek induknya.
NB: Memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain.
Pemrograman berorientasi objek merupakan suatu teknik atau cara berfikir untuk merancang aplikasi yang dapat membantumemecahkan persoalan mengenai pengembangan perangkat lunak. Teknik atau metode pemrograman berorientasi objek didasari oleh class dan objek. Jika diibaratkan class adalah sebuah cetakan sedangkan objek adalah hasil dari cetaan tersebut.
Class digunakan untuk membuat objek, dan berperan sebagai tipe data dari objek. Class merupakan sarana pengkapsulan kumpulan data dan kumpulan method yang mengoperasikan kumpulan data tersebut. Pengkapsulan adalah mengkombinasian suatu struktur dengan fungsi yang memanipulasinya untuk membentuk tipe data baru.
Suatu class dapat diciptakan berdasarkan class lain. Class baru ini mempunyai sifat-sifat yang sama dengan class pembentunya, ditambah sifat-sifat khusus lainnya, inilah yang disebut konsep pewarisan. Dengan pewarisan kita dapat menciptakan class baru yang mempunyai sifat sama dengan class induknya tanpa menulis ulang bagian-bagian yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (code reuse).
Sifat pewarisan ini menyebabkan class-class dalam pemrograman berorientasi objek membentuk hirarki class mulai dari class dasar, class turunan pertama, class turunan kedua dan seterusnya. Sebagai gambaran misalnya ada hiararki class unggas.
Sebagai class dasar adalah Unggas. Salah satu sifat Unggas adalah bertelur dan bersayap. Class turunan pertama adalah Ayam, Burung dan Bebek. Tiga class turunan ini mewarisi sifat class dasar Unggas yaitu bertelur dan bersayap. Selain mewarisi sifat class dasar , masing-masing class turunan mempunyai sifat khusus, seperti Ayam berkokok, Burung terbang dan Bebek berenang. Class Ayam punya class turunan yaitu Ayam Kampung dan Ayam Hutan. Dua class ini mewarisi sifat class Ayam yang berkokok. Tetapi dua class juga punya sifat yang berbeda, yaitu : Ayam Kampung berkokok panjang halus sedangkan Ayam Hutan berkokok pendek dan kasar.
Superclass
class yang letaknya di atas class tertentu di dalam hierarki.
Subclass
class yang letaknya di bawah class tertentu di dalam hierarki.
Contoh Program Inheritance
Kali ini kita akan membuat sebuah program simple yang menggambarkan konsep inheritance. Didalam program yang akan dibuat terdapat sebuah base class (class induk) bernama ORANG_TUA dan dua class turunannya (ANAK_PRIA dan ANAK_WANITA). Langkah-langkahnya adalah sebagai berikut :
1. Desain proyek baru dan pada form tambahkan objek listbox dan button.
2. Tambahkan class baru dengan nama ORANG_TUA dan ketikkan kode2 program berikut :
Public Class ORANG_TUA‘variabel untuk menampung nama bapak Private XBapak As String ‘variabel untuk menampung nama ibu Private XIbu As String ‘property (atribut/informasi) class Public Property Nama_Bapak() As String ‘Get : hanya ijinkan akses data Get Return XBapak End Get ‘Set : mengijinkan ubah data Set(ByVal value As String) XBapak = value End Set End Property ‘property (atribut/informasi) class Public Property Nama_Ibu() As String Get Return XIbu End Get Set(ByVal value As String) XIbu = value End Set End Property End Class |
3. Tambahkan class baru dengan nama ANAK_WANITA dan ketikan kode2 berikut :
Public Class ANAK_WANITA‘membuat turunan dari base class Inherits ORANG_TUA Private XWanita As String Private XUsia_W As String Public Property Nama_Wanita() As String Get Return XWanita End Get Set(ByVal value As String) XWanita = value End Set End Property Public Property Usia_Wanita() As Byte Get Return XUsia_W End Get Set(ByVal value As Byte) XUsia_W = value End Set End Property End Class |
4. Tambahkan class baru dan beri nama ANAK_PRIA dan tambahkan kode2 program berikut :
Public Class ANAK_PRIA‘membuat turunan dari base class Inherits ORANG_TUA Private XPria As String Private XUsia_P As String Public Property Nama_Pria() As String Get Return XPria End Get Set(ByVal value As String) XPria = value End Set End Property Public Property Usia_Pria() As Byte Get Return XUsia_P End Get Set(ByVal value As Byte) XUsia_P = value End Set End Property End Class |
5. Sekarang : buat event click pada objek button1 dan ketikkan kode2 berikut :
Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim obj_Wanita As New ANAK_WANITA Dim obj_Pria As New ANAK_PRIA With obj_Wanita .Nama_Bapak = “Subandrio” .Nama_Ibu = “Titi Rukmiati” .Nama_Wanita = “Nina Ramadani” .Usia_Wanita = 10 End With With obj_Pria .nama_pria = “Kevin Maulana” .Usia_pria = 6 End With With ListBox1 .Items.Add(“nama ayah : ” & _ obj_Wanita.Nama_Bapak) .Items.Add(“nama ibu : ” & _ obj_Wanita.Nama_Ibu) .Items.Add(“anak wanita : ” & _ obj_Wanita.Nama_Wanita) .Items.Add(“usia : ” & _ obj_Wanita.Usia_Wanita) .Items.Add(“anak pria : ” & _ obj_Pria.Nama_Pria) .Items.Add(“usia : ” & _ obj_Pria.Usia_Pria) End With End Sub End Class |
c. Polimorphism ( keaneka ragaman )
Dengan polimorphism kita dapat membuat sebuah objek baru yang menunjukkan fungsi-fungsi yang sama dengan objek induknya, namun fungsi fungsi yang sama tersebut memiliki operasi yang berbeda-beda. objek yang masih didalam suatu hierarki dapat menyusun objek yang lainnya, sesuai dengan kebutuhan dari objek tersebut, yang artinya pemrograman berorientasi objek ini menyangkup keaneka ragaman objek yang menjamin terhimpunnya perpaduan keaneka ragaman data dengan prosedur atau fungsi.
NB: konsep yang menyatakan sesuatu nama yang sama dapat memiliki berbagai bentuk perilaku yang berbeda.
polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan.
Pada contoh sebelumnya, kita diberikan parent class yaitu Person dan subclassnya adalah Student, sekarang kita tambahkan subclass lainnya dari Person yaitu Employee
sumber: