Minggu, 04 Desember 2011

Object Oriented Programming


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
2
  • 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).
3
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.
4
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.
5
Pada contoh sebelumnya, kita diberikan parent class yaitu Person dan subclassnya adalah Student, sekarang kita tambahkan subclass lainnya dari Person yaitu Employee

http://ericute.wordpress.com
sumber:

Tidak ada komentar:

Posting Komentar