bab 1 - kegiatan belajar 1 - paradigma pemrograman berorientasi objek
TRANSCRIPT
15 BAB I PENGENALAN JAVA
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)
16 BAB I PENGENALAN JAVA
Sumber Pustaka
1. Abdul Kadir, 2005, Dasar Pemrograman Java™ 2, Andi, Yogyakarta.
2. Herbert Schildt, 2005, Java™ : A Beginner’s Guide, Third Edition, McGraw-
Hill/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 1.7.1. Abstraksi
Elemen penting dari pemrograman berorientasi objek adalah 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)
17 BAB I PENGENALAN JAVA
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)
18 BAB I PENGENALAN JAVA
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)
19 BAB I PENGENALAN JAVA
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)
20 BAB I PENGENALAN JAVA
Suheri, ST – Pemrograman 3 (Pemrograman Berorientasi Objek)
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 behavior-
nya!