Konsep Object Oriented Programming

NIM : 672010012 NAMA : Cahyo Dimas Kurnianto

Universitas Kristen Satya Wacana Fakultas Teknologi Informasi Teknik Informatika Salatiga 2012

Misalnya saja OOP dapat mengurangi terjadinya Bug. Object Oriented Programming memiliki sebuah cara pandang dimana sebuah program bukanlah urut-urutan instruksi tapi diselesaikan oleh objek-objek yang saling bekerja sama untuk menyelesaikan suatu masalah. dll. Hal itu dapat terjadi dikarenakan OOP memiliki konsep Encapsulation. Reusable. Information Hiding dll. yaitu :  Alami (Natural)  Dapat diandalkan (Reliable)  Dapat digunakan kembali (Re-usable)  Mudah untuk di maintain (Maintainable)  Dapat diperluas (Extendable)  Efisiensi waktu Selain itu. Ketika enam orang tersebut telah selesai maka bagian-bagian tersebut hanya tinggal digabungkan menjadi satu kesatuan. Modular. Tak hanya itu. Kemudian robot itu sendiri dibagi menjadi enam bagian. merupakan salah satu bahasa pemrogaman yang menggunakan konsep Object. tujuan tersebut adalah untuk memudahkan user dalam melakukan pengkodean dan pencarian error. memang memiliki banyak kelebihan dan keuntungan. dimanakah letak objek yang rusah atau error. . OOP memiliki tujuan. cobol. misalnya saja dalam pembuatan program untuk membuat robot yang dilakukan oleh satu tim yang berisi enam orang. fungsi dan data menjadi satu kesatuan yang disebuat dengan Objek. dimana tiap bagiannya dikerjakan oleh satu orang. kemudian OOP juga dapat meningkatkan kemampuan kita untuk membuat program yang lebih besar dan lebih ruwet. OOP lebih digemari oleh para programmer karena lebih mudah dan fleksibel disbanding dengan bahasa pemrogaman imperative seperti pascal. Didalam jenis bahasa ini. OOP juga memiliki kelebihan lain. OOP. Independensi.1. dan apabila terjadi error maka akan gampang terdekteksi. Definisi Object Oriented Programming atau yang sering kita dengar dengan OOP. Object.

Proses pembuatan objek didalam class disebut dengan instantiation. tangan merupakan perwujudan objek nya. proses instantiasi dapat dituliskan sebagai berikut : Dimana kata Robot menyatakan nama class. Kemudian yang terpenting dalam konsep OOP.2. Dengan demikian dapat disimpulkan bahwa objek adalah hasil instantiasi dari class. Class dan Object Secara fungsi. Sebagai contoh objek konkret adalah mobil sedangkan objek abstraknya adalah ban. Selain itu. Dalam pemrogaman menggunakan java maupun C#. objek dapat dikatakan dengan perwakilan atau perwujudan dari sebuah class. . objek juga memiliki ciri. Dalam contoh berikut objek tangan memiliki state bahan dan behavior bergerak dll. sedangkan new merupakan keyword untuk proses instatiasi. class merupakan tempat untuk membuat objek. Ciri tersebut adalah :  Objek memiliki status (state) dan tingkah laku (behavior). Didalam class dideklarasikan berbagai method dan variable yang dimiliki oleh objek.

Jadi state atau attribute adalah sesuatu yang dimiliki oleh objek. contoh :  Private. robot memiliki tangan dan kaki  Pada OOP. Demikian juga apabila kita ingin mengakses objek nasi goreng. State disebut juga dengan atribut. Dalam objek itu terdapat method pembuatan nasi goreng. Ada dua hal dalam enkapsulasi. 3. konsep ini merupakan perluasan dari tipe data terstruktur. atribut tersebut dapat diakses oleh kelas itu dan turunannya. yang membuat atribut dapat diakses dari luar kelas. Encapsulation Proses ini juga biasa disebut dengan proses pengkapsulan atau pembungkusan. Perantara tersebut antara lain adalah :  Public. dalam kasus robot. yaitu :  Information Hiding dimana variable dalam suatu class tidak dapat diakses oleh class lain. contoh :  Protected. sehingga hak akses terhadapnya dapat kita tentukan. hanya dapat diakses oleh kelas tersebut.  Menyediakan perantara untuk mengakses data atau biasa disebut access modifier. kita mengambil objek nasi goreng. Caranya adalah dengan memberikan control akses private di variable tersebut. dan jika kita ingin memakannya tentu kita tidak perlu tahu bagaimana cara membuatnya. tentu kita tidak perlu tahu isi dari method pembuatan nasi goreng. Pada dasarnya. contoh : Sebagai contoh di dunia nyata. Kita dapat melakukan enkapsulasi pada method dan variable agar terlindungi. state variable dan behavior disimpan dalam method. .

dan hal itu merupakan sebuah keuntungan. Sebagai contoh di dunia nyata. kita mengambil dari silsilah keluarga. dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. subclass pun dapat berlaku sebagai superclass bagi class-class yang lain. Kelas kakek merupakan superclass dari kelas ayah. kelas ayah mewarisi method dan atribut dari kelas kakek. Dan dari situlah kita memanggil method dari kelas kakek melalui pembuatan objek dari kelas ayah. polymorphism atau polomorfisme berarti suatu benda yang memiliki satu atau lebih bentuk. Maka dari itu polimorfisme dapat diartikan sebagai sebuah variabel tungal dalam program yang dapat memegang berbagai jenis objek yang berbeda selagi program berjalan. dibuatlah kelas Tes. sedangkan kelas ayah adalah superclass dari kelas anak. Inheritance Inheritance merupakan pewarisan attribute dan method kedalam class yang lain.4. hal itu dibuktikan dengan adanya keyword extends setelah nama kelas. Di dalam java. Arti dari pewarisan disini adalah dimana subclass memiliki beberapa kesamaan dengan superclassnya dalam hal method dan attribute. Selanjutnya untuk melakukan pengetesan. dan hal ini disebut dengan multilevel inheritance. keyword untuk inheritance adalah menggunakan kata extends. Tak hanya itu. penggunaan inheritance membuat subclass dapat memiliki method atau attribute yang sama seperti superclassnya. 5. . Polimorphism Dilihat dari segi bahasa. Seperti yang sudah dijelaskan diatas. Dimana class yang mewariskan disebut dengan superclass sedangkan class pewaris disebut dengan subclass. ayah dan anak. missal ada 3 class yaitu kelas kakek. berikut adalah contohnya : Dalam contoh tersebut.

Abstract Class itu sendiri merupakan kelas-kelas yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superclass maupun subclass.6. Jadi. Abstract Class dan Interface Konsep akan abstract class. Selain itu abstract class biasanya digunakan untuk pengimplementasian frameworks. yang mungkin dapat membantu kita dalam pembuatan dan pemahaman program dengan menggunakan abstract class. Dibawah ini ada sebuah contoh yang saya ambil dari sebuah web. Abstract class dideklarasikan dengan menggunakan keyword abstract dan class tersebut tidak dapat diinstantiasi seperti layaknya kelas-kelas lain. abstract class masih menggunakan super dan subclass. masih berkaitan dengan inheritance atau pewarisan karena disini. .

ide untuk membuat class ini menjadi abstract class adalah untuk mendefinisikan sebuah framework untuk sebuah exception logging. Interface merupakan suatu class yang memiliki method atu bahkan sekumpulan method. Di class ini akan mengijinkan semua subclass untuk mendapatkan akses pada modul exception logging pada umumnya dan ini memfasilitasi untuk dengan mudah memindah logging library.Seperti yang dikatakan pada web tersebut. Selanjutnya tentang interface. akan tetapi method-method tersebut eblum memiliki isi atau perintah. . interface atau sering kita ketahui dengan antar muka bukanlah GUI (Graphics User Interface) yang memudahkan kita dalam menjalankan operasi. akan tetapi hal itu mungkin saja apabila kita mengimplementasikannya.

MT.wikipedia. Konsep Pemrogaman Berbasis Objek. 17 Januari 2012. 24 January 2012. Modifier di dalam interface juga tidak boleh menggunakan tipe static. Interface hanya bias digunakan bila implementasinya berubah sedangkan abstract method harus meng-override semua abstract method dan mungkin meng-override method-method virtual. Badriyah. http://jbsoleh.    7. 17 Januari 2012. interface menggunakan keyword interface diantara access modifier dan nama interface nya. namun hanya dapat satu yang di warisi. Tessy. 7 Prinsip Dasar OOP.org/.com%2FArt icles%2F22769%2FIntroduction-to-Object-Oriented-ProgrammingConcep&h=3AQEoVz_U.codeproject.pdf.pdf. Interface tidak memiliki implementasi sedangkan abctract class dapat diimplementasikan Interface hanya memiliki deklarasi method (method kosong) sedangkan abstract class tidak Interface dapat mewariskan kepada lebih dari satu interface sedangkan abstract class dapat diimplementasikan kebanyak interface. 2007.php?u=http%3A%2F%2Fwww.webs. 17 Januari 2012 . 4. http://www.Berbeda dengan abstract class yang menggunakan keyword abstract untuk penggunaannya. 2. Interface meningkatkan keamanan dengan menyembunyikan implementasinya sedangkan abstract class dapat digunakan bila mengimplementasi framework. Referensi 1.htm. Berikut adalah perbedaan-perbedaan antara abstract class dan interface :     Interface dideklarasikan dengan keyword interface sedangkan abstract class dengan keyword abstract. 3. 15 Januari 2012 5. SKom.com/l. http://www.com/tugasoop.facebook. Interface membuat implementasi dapat dirubah-rubah sedangkan abstract class bias digunakan untuk menyediakan beberapa method default di class utama.