Konsep Object Oriented Programming

NIM : 672010012 NAMA : Cahyo Dimas Kurnianto

Universitas Kristen Satya Wacana Fakultas Teknologi Informasi Teknik Informatika Salatiga 2012

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

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

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

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

Abstract Class itu sendiri merupakan kelas-kelas yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superclass maupun subclass. Abstract class dideklarasikan dengan menggunakan keyword abstract dan class tersebut tidak dapat diinstantiasi seperti layaknya kelas-kelas lain. Abstract Class dan Interface Konsep akan abstract class. Jadi. . abstract class masih menggunakan super dan subclass.6. masih berkaitan dengan inheritance atau pewarisan karena disini. 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.

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. Selanjutnya tentang interface. 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. . akan tetapi method-method tersebut eblum memiliki isi atau perintah.Seperti yang dikatakan pada web tersebut. ide untuk membuat class ini menjadi abstract class adalah untuk mendefinisikan sebuah framework untuk sebuah exception logging.

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