Object Oriented Programming (Sidik,S.Kom)

11/12/2008 10:39

Pengertian OOP (Object Oriented Programming)

Object Oriented Programming atau dapat juga disebut dengan pemrograman berorientasi pada objek merupakan metode pemrograman yang sedang 'booming' saat ini. Metode ini digunakan untuk mencari cara atau bagaimana membuat sebuah program yang lebih mudah dan meminimalisir kesalahan dalam proses compiling -nya. Dalam dnia nyata kita sering melihat berbagai macam objek yang memang dapat dilihat secara kasat mata dan dapat dirasakan karena mempunyai bentuk. Tetapi dalam sebuah proses program, objek terkadang merupakan sekumpulan perintah-perintah yang dijalankan oleh sebuah compiler tertentu sehingga dapat menampilkan hasil yang diinginkan oleh si pembuat program.

Pada bagian awal pembahasan sudah sedikit disinggung mengenai objek itu sendiri. Sebagai contoh dalam objek kehidupan nyata, kita dapat melihat adanya sebuah objek yang bernama mobil. Sebuah mobil tentunya memiliki beberapa bagian-bagian yang mendukung agar objek mobil tersebut dapat beroperasi sesuai dengan keinginan si pembuatnya.Dalam Objek mobil tersebut mempunyai fungsi masing-masing yang kesemuanya itu harus berjalan dengan "seirama" dan "selaras" agar objek mobil itu dapat bergerak dengan baik dan sesuai dengan perintah seorang penegemudinya.Pemrograman berorientasi objek dapat diimplementasikan terhadap berbagai macam aplikasi bahasa pemrograman. Diantaranya pemrograman berbasis visual sekarang ini sudah "support" terhadap OOP, misalnya Visual Basi 6.0, Visual Foxpro 9.0 dan lain-lain.Pemrograman PHP, Java paling sering digunakan untuk mengaplikasikan pemrograman berbasis Objek.

Mekanisme pemrograman OOP

Class dan objek: merupakan konsep object-oriented yang meng-encapsulasi data dan prosedur secara abstrak yang diperoleh untuk mendeskripsikan content atau state dan behaviour terhadap beberapa entitas didunia nyata. Content atau state dapat artikan keadaan dari sebuah objek,sebagai contoh mobil memiliki state warna, model, bentuk dan lain-lain. Sedangkan behaviour merupakan kelakukan dari objek tersebut, misalnya mobil maju kedepan, belok kiri atau kanan,memberi tanda lampu (sen) dan lainnya. Objek dapat menyimpan state dalam beberapa variabel dan mengimplementasikan behaviour- nya menggunakan method. Berdasarkan penjelasan tersebut apabila diimplementasikan dalam pemrograman, objek dapat diartikan sebagai bagian dari sebuah aplikasi program (software) dimana didalamnya dihubungkannya variabel-variabel dan juga method-mthodnya yang keduanya saling keterkaitan satu dengan lainnya.

Contoh umum untuk konsep abstrak seperti ini adalah objek Event dalam pemrograman berbasis visual, yaitu objek untuk mewakili peristiwa klik atau tombol ditekan. Kemudian bagaimana dengan pengertian dari class itu sendiri. Class dapat diartikan seperti sebuah cetakan atau template. Apabila kita ingin membuat sebuah kue bolu, maka kita diharuskan mempunyai cetakan kue bolu. Dari cetakan kue bolu yang sudah ada, kita dapat mencetak berbagai macam jenis kue bolu. Berbagai macam jenis kue bolu ini yang dapat dikatakan sebagai objek, yaitu hasil dari class.

Hal ini dapat dilakukan karena semua objek kue bolu yang dibuat pada dasarnya memiliki karakteristik yang sama, sehingga dapat dibuatkan semacam samplenya. Tetapi objek-objek yang dibangun tetap akan memiliki bentuk fisik tertentu sendiri-sendiri, seperti variabel dalam sebuah program. Dengan penjelasan ini, kelas dapat kita definisikan kembali menjadi sebuah blueprint, atau prototipe, yang mendefinisikan variabel dan metode yang sama untuk semua objek sejenis.

Dalam sebuah class terdapat dua komponen penting, diantaranya yaitu :

a.Method yang menggambarkan behaviour atau perilaku dari sebuah objek

b.Properties menggambarkan karakteristik atau sifat dari sebuah objek

Konsep pemrograman OOP

Ada beberapa konsep mengenai pemroraman berorientasi ada Objek, diantaranya :

a. Inheritance atau biasa disebut dengan istilah pewarisan, dalam konsep ini kita dapat membuat suatu class baru yang bentuknya dapat disamakan dengan class yang sebelumnya.

Sebagai contoh, sebuah kelas MobilMewah akan mewarisi state dan behaviour dari kelas Mobil. Begitu juga dengan kelas mobilbiasa. Kelas MobilMewah dan mobilbiasa disebut subkelas, atau kelas anak, dari kelas Mobil, yang disebut superkelas, atau kelas induk.Seluruh subkelas akan mewarisi (inherits) state dan behaviour dari superkelasnya. Dengan begitu, semua subkelas dari superkelas yang sama akan memiliki state dan behaviour yang sama. Namun, masing-masing subkelas bisa menambah sendiri state atau behaviournya. Misalkan, pada kelas Mobil tidak terdapat variable nontonTV, namun subkelas MobilMewah memiliki variabel tersebut. Contoh lain misalnya kelas Mobil tidak memiliki metode nyalakanTV, namun MobilMewah memiliki metode itu.

Dalam kasus tertentu subkelas mungkin memiliki implementasi behaviour yang berbeda dengan superkelasnya. Hal seperti ini disebut override. Contohnya subkelas SepedaBalap memiliki implementasi metode ubahGigi yang berbeda dengan implementasi metode tersebut pada superkelas Sepeda.

Tingkat pewarisan tidak hanya terbatas pada dua tingkatan. Dari contoh di atas, kita bisa saja membuat subkelas dari kelas SepedaBalap, dan seterusnya. Kita bisa terus memperpanjang tingkat pewarisan ini sepanjang yang kita butuhkan. Dengan begitu,subkelas-subkelas yang dibuat akan lebih khusus dan lebih terspesialisasi. Namun terdapat batasan pewarisan dalam Java yang disebut single inheritance. Artinya sebuah kelas hanya dapat mewarisi sifat dari satu dan hanya satu superkelas saja. Dalam beberapa bahasa pemrograman berorientasi objek lain, yang berlaku adalah multiple inheritance. Artinya sebuah kelas dapat mewarisi sifat dari beberapa superkelas sekaligus. Dalam Java, terdapat kelas Object yang merupakan superkelas dari semua kelas dalam Java, baik yang builtin ataupun yang kita buat sendiri, langsung maupun tidak langsung. Karena itu sebuah variabel bertipe Object akan dapat menyimpan referensi ke objek apapun dalam bahasa Java.

Manfaat penggunaan konsep pewarisan antara lain: pertama, kita dapat menggunakan kembali kelas-kelas yang kita buat (sebagai superkelas) dan membuat kelas-kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki superkelas. Kedua, kita dapat membuat superkelas yang hanya mendefinisikan behaviour namun tidak memberi implementasi dari metode-metode yang ada. Hal ini berguna jika kita ingin membuat semacam template kelas.

b. Encapsulation biasa disebut dengan istilah membungkus atau mengemas sebuah informasi yang akan menghasilkan sebuah objek. Tujuannya agar informasi yang dihasilkan tidak menyebar keluar dari aturan yang ada.

c. Polymorphism menghasilkan banyak bentuk. Konsep ini mengembangkan konsep pada pewarisan dimana kita dapat membuat dan menghasilkan sebuah class baru yang    dapat diperluas kembali menjadi banyak bentuk.

Contoh script pada aplikasi Java :

//Disimpan dengan nama Joko.java
class Joko
    {
        String kulit,rambut,sifat;
        int umur;
    }

---------------------------------------------------------------------------------------------------------------------------

//Dsimpan dengan nama AksiJoko.java
public class AksiJoko
    {
        public static void main(String[]srgs)
        {
            Joko Myjoko=new Joko();
            Myjoko.kulit="Sawo Matang";
            Myjoko.rambut="Kriting Kribo";
            Myjoko.sifat="Suka Menolong";
            Myjoko.umur=26;
           
            System.out.println("Kulit Joko:"+Myjoko.kulit);
            System.out.println("Rambut Joko:"+Myjoko.rambut);
            System.out.println("Sifat Joko:"+Myjoko.sifat);
            System.out.println("Umurnya:"+Myjoko.umur);
        }
    }

 

 

Materi Kuliah

Pencarian dengan StraitMAXMIN (Best CASE)

14/01/2013 18:57

Pencarian dengan BINARY SEARCH

10/01/2013 19:44

Teknik Sorting (Quick Sort)

02/01/2013 15:07

Teknik Sorting (Buble Sort)

12/12/2011 16:27

Teknik Sorting (Selection Sort)

10/12/2011 16:14

Game Logika (pert-2)

27/09/2011 20:04

Game Logika (part-1)

27/09/2011 19:10

Struktur Dasar Algoritma

01/02/2011 10:54

Apakah Algoritma itu...?

01/02/2011 09:21