Anda di halaman 1dari 6

BAB I PENGENALAN JAVA

15

BAB I PARADIGMA PEMROGRAMAN BERORIENTASI OBJEK

PENDAHULUAN Paradigma pemrograman berorientasi objek merupakan cara pandang pemrograman yang memandang segala sesuatunya dalam bentuk suatu objek yang mana memiliki state dan behaviour. Terdapat 3 (tiga) konsep pemrograman berorientasi objek, yaitu enkapsulasi, pewarisan, dan polimorfisme.

KEGIATAN BELAJAR 1 PARADIGMA PEMROGRAMAN BERORIENTASI OBJEK


Hasil Pembelajaran Setelah menyelesaikan bahasan ini dan mengerjakan soal-soal latihan yang ada, Anda dapat : 1. Menjelaskan abstraksi dalam paradigma pemrograman berorientasi objek 2. Menjelaskan enkapsulasi dalam paradigma pemrograman berorientasi objek 3. Menjelaskan pewarisan dalam paradigma pemrograman berorientasi objek 4. Menjelaskan polimorfisme paradigma pemrograman berorientasi objek 5. Mengenal state dan behavior.

Kriteria Penilaian Keberhasilan Anda dalam menguasai bab ini diukur berdasarkan kriteria kemampuan sebagai berikut : 1. Membuat abstraksi dari suatu permasalahan sehingga dapat diterjemahkan ke dalam bahasa pemrograman berorientasi objek 2. Menjelaskan perbedaan enkapsulasi, pewarisan dan polimorfisme dalam paradigma pemrograman berorientasi objek 3. Men

Suheri, ST Pemrograman 3 (Pemrograman Berorientasi Objek)

BAB I PENGENALAN JAVA

16

Sumber Pustaka 1. Abdul Kadir, 2005, Dasar Pemrograman Java 2, Andi, Yogyakarta. 2. Herbert Schildt, 2005, Java : A Beginners Guide, Third Edition, McGrawHill/Osborne, United States of America. 3. Herbert Schildt, Patrick Naughton , 1999, Java 2 : The Complete Reference, Fourth Edition, McGraw-Hill/Osborne, United States of America. 4. Indrajani, S.Kom., MM., Martin, S.Kom., 2007, Pemrograman Berorientasi Objek dengan Bahasa Java, PT. Elex Media Komputindo, Jakarta.

1.7.

Paradigman Pemrograman Berorientasi Objek


Elemen penting dari pemrograman berorientasi objek adalah abstraksi.

1.7.1. Abstraksi

Manusia menangani kompleksitas melalui abstraksi. Abstraksi adalah suatu cara dimana kita melihat suatu objek dalam bentuk yang lebih sederhana. Sebagai contoh, kita tidak berpikir bahwa sebuah mobil adalah sebagai kumpulan dari puluhan atau ribuan komponen elektronik, 4 (empat) buah bean, besi, jok, stir kemudi, dan lain sebagainya yang dibuat sedemikian rupa sehingga dinamakan mobil. Abstraksi ini mengijinkan kita untuk dapat mengendarai mobil tanpa harus mengetahui secara detail bagaimana mesin, transmisi, dan sistem pengereman bekerja. Dengan demikian, kita tidak melihat bagian-bagian dari sebuah mobil sebagai suatu bagian berdiri sendiri, tetapi sebagai satu kesatuan. Untuk dapat membuat suatu abstraksi yang baik, kita dapat melakukan klasifikasi secara hirarki. Hal ini mengijinkan kita untuk menguraikan sistem yang kompleks menjadi subsistem. Kita melihat sebuah mobil sebagai suatu objek yang terdiri dari beberapa subsistem, yaitu : subsistem kemudi, subsistem pengereman, sound system, subsistem pengapian, dan lainnya. Subsistem ini dibentuk dari unit yang lebih spesifik. Sebagai contoh, sound system terdiri dari radio, CD Player, dan atau tape player. Masing-masing subsistem memiliki karakteristik yang unik, namun saling berinteraksi dan bekerja sama membentuk suatu satu kesatuan objek, yaitu sebuah mobil.

Suheri, ST Pemrograman 3 (Pemrograman Berorientasi Objek)

BAB I PENGENALAN JAVA

17

Pemahaman abstraksi yang memandang segala sesuatu sebagai suatu objek, dapat menjadi dasar untuk memahami pemrograman berorientasi objek (Object Oriented Programming) dan dapat mentransformasikan suatu objek menjadi suatu program komputer. Setiap objek selalu memiliki suatu keadaan (state) dan tingkah laku (behavior) atau aksi yang dapat melakukan perubahan terhadap state. Sebagai contoh, objek manusia memiliki state, yaitu : tinggi badan, berat badan, umur, warna rambut, dan lainnya. Manusia juga memiliki behavior, yaitu : makan, minum, berjalan, berlari, tidur, menangis, dan lainnya. Implementasi pada bahasa pemrograman Java, state akan lebih dikenal dengan nama attribute atau properties atau field, sedangkan behavior akan dikenal dengan nama method. Semua bahasa pemrograman berorientasi objek menyediakan mekanisme yang membantu programmer untuk mengimplementasikan model berorientasi objek. Mekanisme tersebut dituangkan dalam bentuk konsep, yaitu Enkapsulasi (Encapsulation), Pewarisan (Inhertance), dan Polimorfisme (Polymorphism).

1.7.2. Enkapsulasi (Encapsulation) Enkapsulasi adalah suatu mekanisme yang membungkus kode dan data serta menyembunyikan dan memproteksi keduanya, agar aman dari penyalahgunaan dan interfensi dari luar sistem. Akses terhadap kode dan data internal dari luar sistem dapat dilakukan dengan cara melalui suatu interface yang telah ditetapkan. Berdasarkan contoh kasus mobil yang telah diuraikan sebelumnya, bayangkan sistem transmisi yang ada pada mobil tersebut. Sistem transmisi ini menyembunyikan detail dari cara kerjanya terhadap pengemudi. Pengemudi hanya cukup memindahkan tongkat transmisi untuk mendapatkan percepatan yang diinginkan. Tongkat transmisi inilah satu-satunya interface yang dapat digunakan untuk mengatur sistem transmisi dalam mobil. Interface lain seperti pedal rem tidak akan dapat mengatur sistem transmisi yang ada. Interface tongkat transmisi juga tidak akan dapat digunakan untuk menghidupkan radio mobil dan mengaturnya ke frekuensi tertentu, atau pun membuka pintu mobil.

Suheri, ST Pemrograman 3 (Pemrograman Berorientasi Objek)

BAB I PENGENALAN JAVA

18

1.7.3. Pewarisan (Inheritance) Konsep berorientasi objek mengenalkan kepada kita suatu istilah yaitu kelas. Kelas merupakan suatu template atau cetakan yang dapat digunakan untuk membuat objek maupun kelas yang baru dan lebih spesifik. Berdasarkan hal inilah, timbul suatu konsep yang dinamakan pewarisan. Pewarisan merupakan suatu mekanisme yang mana suatu kelas dapat diturunkan lagi menjadi kelas lainnya, sehingga kelas turunannya memiliki ciri atau sifat atau karakteristik yang dimiliki oleh kelas asalnya. Kelas-kelas ini dapat digambarkan dalam bentuk hirarki seperti pada contoh gambar berikut ini :

Gambar 1.6 Contoh Hirarki Kelas

Berdasarkan gambar 1.6 di atas, dapat dilihat bahwa semakin ke atas, kelas akan bersifat semakin umum. Semakin ke bawah, kelas menjadi semakin lebih spesifik. Kelas Invertebrata dan Vertebrata memiliki sifat yang dimiliki oleh kelas Hewan, demikian juga halnya kelas Cacing, Ular, dan Lintah memiliki sifat yang diturunkan dari kelas Invertebrata. Kelas Invertebrata dan Vertebrata dapat memiliki sifat baru yang tidak dimiliki oleh kelas Hewan. Begitu pula kelas Cacaing, Ular, dan Lintah dapat memiliki sifat baru yang tidak dimiliki oleh kelas Invertebrata.

Suheri, ST Pemrograman 3 (Pemrograman Berorientasi Objek)

BAB I PENGENALAN JAVA

19

1.7.4. Polimorfisme (Polymorphism) Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk. Polymorphism merupakan fitur yang mengijinkan banyak objek memiliki interface yang sama untuk melakukan suatu aksi tertentu, namun dalam implementasinya, aksi yang dilakukan menyesuaikan dengan masing-masing objek. Sebagai contoh, Manusia, Kucing, dan Kera sama-sama memiliki aksi berjalan namun implementasinya berbeda-beda. Contoh lain adalah indra penciuman Anjing sebagai polimorfik. Jika Anjing mencium bau kucing, maka Ia akan menggonggong dan mengejar kucing tersebut. Jika Anjing mencium bau makanan, maka Ia akan berliur dan mencarinya. Indra penciuman Anjing bekerja dalam situasi yang berbeda. Perbedaan itu adalah apa yang dicium oleh Anjing, yaitu tipe bau yang dioperasikan oleh hidung Anjing. Dengan konsep yang sama, polymorphism dapat diimplementasikan pada Java, yaitu sebagai method dari suatu program Java.

Rangkuman
1. Abstraksi adalah suatu cara dimana kita melihat suatu objek dalam bentuk yang lebih sederhana. 2. Pewarisan merupakan suatu mekanisme yang mana suatu kelas dapat diturunkan lagi menjadi kelas lainnya, sehingga kelas turunannya memiliki ciri atau sifat atau karakteristik yang dimiliki oleh kelas asalnya. 3. Enkapsulasi adalah suatu mekanisme yang membungkus kode dan data serta menyembunyikan dan memproteksi keduanya, agar aman dari

penyalahgunaan dan interfensi dari luar sistem. 4. Polymorphism merupakan fitur yang mengijinkan banyak objek memiliki interface yang sama untuk melakukan suatu aksi tertentu, namun dalam implementasinya, aksi yang dilakukan menyesuaikan dengan masing-masing objek. 5. Paradigma berorientasi objek merupakan cara pandang yang memandang segala sesuatu itu adalah sebagai objek, dimana setiap objek selalu memiliki

Suheri, ST Pemrograman 3 (Pemrograman Berorientasi Objek)

BAB I PENGENALAN JAVA

20

suatu keadaan (state) dan tingkah laku (behavior) atau aksi yang dapat melakukan perubahan terhadap state.

Soal-soal Latihan
Buatlah abstraksi dari suatu sistem komputer, dan tentukan state dan behaviornya!

Suheri, ST Pemrograman 3 (Pemrograman Berorientasi Objek)

Anda mungkin juga menyukai