KONSEP DASAR OOP
Apa sih OOP?
OOP (Object Oriented Programming) adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu permasalahan adalah objek, nah objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi. Saya ambil contoh Pesawat, Pesawat adalah sebuah objek. Pesawat itu sendiri terbentuk dari beberapa objek yang lebih kecil lagi seperti mesin, roda, baling-baling, kursi, dll. Pesawat sebagai objek yang terbentuk dari objek-objek yang lebih kecil saling berhubungan, berinteraksi, berkomunikasi dan saling mengirim pesan kepada objek-objek yang lainnya. Begitu juga dengan program, sebuah objek yang besar dibentuk dari beberapa objek yang lebih kecil, objek-objek itu saling berkomunikasi, dan saling berkirim pesan kepada objek yang lain.
a.
Apa
sih Objek (Object)
Setiap objek memiliki dua karakteristik yaitu Attribute (State) dan Behavior. Attribute (State) merupakan identitas atau informasi objek itu sendiri atau disebut juga sebagai variable, sedangkan Behavior adalah tingkah laku atau apa yang dapat dilakukan oleh objek itu atau disebut juga sebagai method.
Sebagai contoh Attribute (State) dari pesawat adalah nama pesawat, tipe, warna, tahun produksi, roda, dll. Sedangkan Behavior dari pesawat adalah cara menghidupkan mesin, cara menerbangkan pesawat (take off), cara menurunkan pesawat (landing), dll.
Contoh :
- Titik
Titik merupakan sebuah objek yang terdiri dari posisi x dan posisi y
- Persegipanjang
Persegipanjang merupakan objek yang mempunyai panjang dan lebar
Setiap objek memiliki dua karakteristik yaitu Attribute (State) dan Behavior. Attribute (State) merupakan identitas atau informasi objek itu sendiri atau disebut juga sebagai variable, sedangkan Behavior adalah tingkah laku atau apa yang dapat dilakukan oleh objek itu atau disebut juga sebagai method.
Sebagai contoh Attribute (State) dari pesawat adalah nama pesawat, tipe, warna, tahun produksi, roda, dll. Sedangkan Behavior dari pesawat adalah cara menghidupkan mesin, cara menerbangkan pesawat (take off), cara menurunkan pesawat (landing), dll.
Contoh :
- Titik
Titik merupakan sebuah objek yang terdiri dari posisi x dan posisi y
- Persegipanjang
Persegipanjang merupakan objek yang mempunyai panjang dan lebar
b. Apa sih Kelas (Class)
Kelas merupakan cetakan atau blueprint atau prototype, hasil dari cetakan itu disebut objek. Contoh pesawat Boeing 737 dibuat dengan rancangan yang sama, rancangan pesawat ini disebut kelas. Hasil rancangan itu menjadi pesawat Boeing 737 yang disebut objek. Pesawat-pesawat hasil rancangan tadi bisa memiliki warna, nama yang berbeda-beda tergantung perusahaan penerbangannya. Disini jelas bahwa objek memiliki sifat independen. Objek adalah instance dari kelas, satu kelas bisa memiliki beberapa objek.
c. Instan (Instance)
Kelas yang telah terdefinisi dapat dijalankan (run-time) dalam bentuk instan di memori.
Kelas yang telah terdefinisi dapat dijalankan (run-time) dalam bentuk instan di memori.
Contoh :
PersegiPanjang pp = new
PersegiPanjang();
Maksud dari perintah di atas adalah
sebagai berikut :
-
Instan pp merupakan sebuah objek kelas PersegiPanjang dimana pp dibentuk oleh
konstruktor Persegipanjang();
-
Konstruktor (Constructor) merupakan sebuah method dimana nama method
tersebut sama dengan nama kelas. Konstruktor tidak mengembalikan nilai tetapi
dapat dilewati atau diberikan parameter.
-
Instan pp berjalan pada memory komputer.
d. Method
Method atau fungsi atau operasi atau behaviour merupakan perintah-perintah prosedural yang ditempatkan pada kelas untuk mendapat hasil dari perintah-perintah tersebut.
d. Method
Method atau fungsi atau operasi atau behaviour merupakan perintah-perintah prosedural yang ditempatkan pada kelas untuk mendapat hasil dari perintah-perintah tersebut.
e. Pengiriman Pesan (Message Passing)
Setiap objek dapat menerima atau mengirimkan pesan. Pesan-pesan tersebut bukan hanya berbentuk primitif variable (integer, double, dll), tetapi pesan-pesan tersebut dapat berupa objek lainnya.
Contoh
:
pp.setPanjang(10);
Maksud perintah diatas adalah sebagai berikut :
pp diberikan nilai panjan sebesar 10
pp.setPanjang(10);
Maksud perintah diatas adalah sebagai berikut :
pp diberikan nilai panjan sebesar 10
KONSEP-KONSEP OOP PADA JAVA
1. Kelas Abstrak (Class Abstraksi)
2. Enkapsulasi (encapsulation)
3. Pewarisan (Inheritance)
4. Polimorfisme (polymorphism)
Penjelasan :
Penjelasan :
1. Kelas Abstrak (Class Abstraksi)
·
Kelas
merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan
data.
·
Kelas
dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang
digunakan untuk menciptakan objek.
·
Kelas
merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada
data dalam suatu unit tunggal.
·
Kelas
mendefinisikan suatu struktur yang terdiri atas data kelas (data field),
prosedur atau fungsi (method), dan sifat kelas (property).
2. Enkapsulasi (encapsulation)
·
Istilah
enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam
sebuah unit tunggal sebagai bentuk untuk menyembunyikan
detail informasi.
·
Proses
enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu
kelas karena kita tidak perlu mengetahui segala hal secara rinci.
·
Enkapsulasi
menekankan pada antarmuka suatu kelas, atau dengan kata lain
bagaimana menggunakan objek kelas tertentu.
·
Contoh:
kelas mobil menyediakan antarmuka fungsi untuk menjalankan mobil tersebut,
tanpa kita perlu tahu komposisi bahan bakar, udara dan kalor
yang diperlukan untuk proses tersebut. Contoh penggunaannya antara lain :
Private
Variabel atau method hanya dapat diakses oleh objek itu saja.
Variabel atau method hanya dapat diakses oleh objek itu saja.
Public
Variabel atau method dapat diakses oleh objek itu sendiri dan objek lainnya
Variabel atau method dapat diakses oleh objek itu sendiri dan objek lainnya
Protected
Variabel dan method dapat diakses oleh objek itu sendiri dan turunannya.
Variabel dan method dapat diakses oleh objek itu sendiri dan turunannya.
3. Pewarisan (Inheritance)
·
Kita
dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas
lain yang sudah ada.
·
Penurunan
sifat ini bisa dilakukan secara bertingkattingkat, sehingga semakin ke
bawah kelas tersebut menjadi semakin spesifik.
·
Sub
kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku
khusus dari kelas supernya.
·
Dengan
konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya
pada kelas super berulang kali pada kelas-kelas turunannya tanpa
harus menulis ulang semua kodekode itu.
4. Polimorfisme (polymorphism)
·
Polimorfisme
merupakan kemampuan objekobjek yang berbeda kelas namun terkait dalam
pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.
·
Polimorfisme
juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method
mana yang akan diterapkan padanya, tergantung letak objek tersebut
pada jenjang pewarisan.
·
Method
overriding.
·
Method
name overloading.
Contoh :
PersegiPanjang pp = new PersegiPanjang
Titik ttk = pp;
PersegiPanjang pp = new PersegiPanjang
Titik ttk = pp;
Maksud pada 2
baris perintah diatas adalah
- Instan pp merupakan objek kelas PersegiPanjang PersegiPanjang dimana pp dibentuk oleh konstruktor Persegipanjang();
- Instan ttk merupakan objek kelas Titik
- Instan ttk dibentuk dari instan pp yang merupakan turunan dari pp (Polimorphisme)
- Nilai instan ttk sama dengan instan pp
- Nilai instan pp yang dianggap pada instan ttk adalah x,y. Sedangkan panjang dan lebar diabaikan.
- Instan pp merupakan objek kelas PersegiPanjang PersegiPanjang dimana pp dibentuk oleh konstruktor Persegipanjang();
- Instan ttk merupakan objek kelas Titik
- Instan ttk dibentuk dari instan pp yang merupakan turunan dari pp (Polimorphisme)
- Nilai instan ttk sama dengan instan pp
- Nilai instan pp yang dianggap pada instan ttk adalah x,y. Sedangkan panjang dan lebar diabaikan.
KARAKTERISTIK OOP
·
Semua
adalah objek.
·
Komputasi
dilakukan dengan komunikasi antar objek. Setiap objek berkomunikasi dengan
objek yang lain melalui pengiriman dan penerimaan pesan.
·
Sebuah
pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen
yang diperlukan untuk menyelesaikan suatu tugas tertentu.
·
Setiap
objek memiliki memori sendiri, yang dapat terdiri dari objek-objek
lainnya.
·
Setiap
objek adalah wakil atau representasi dari suatu kelas. Sebuah kelas dapat
mewakili sekelompok objek yang sama.
·
Kelas
merupakan kumpulan tingkah laku yang berkaitan dengan suatu objek. Jadi,
semua objek yang merupakan wakil dari kelas yang sama dapat melakukan
aksi yang sama pula.
·
Kelas-kelas
diorganisasikan ke dalam struktur pohon yang berakar tunggal, yang
dinamakan dengan jenjang pewarisan (inheritance hierarchy).
·
Setiap
objek pada umumnya memiliki tiga sifat, yaitu keadaan, operasi dan
identitas objek.
·
Operasi
merupakan tindakan yang dapat dilakukan oleh sebuah objek.
·
Keadaan
objek merupakan koleksi dari seluruh informasi yang dimiliki oleh objek
pada suatu saat.
·
Informasi
yang terkandung pada objek tersebut pada akhirnya memberikan identitas
khusus yang membedakan suatu objek dengan objek lainnya.
CONTOH PROGRAM SEDERHANA :
Semoga artikel ini bermanfaat bagi pembaca, kritik dan saran sangat dibutuhkan demi memperbaiki kekurangan pada pembahasan konsep OOP kali ini.
Referensi :
Referensi :
1.
http://id.wikipedia.org/