Karakteristik
Pemrograman Berorientasi Objek:
• Enkapsulasi (Pengkapsulan) • Pewarisan
• Reusability (Penggunaan Kembali) • Spesialisasi
• Generalisasi
Bahasa Pemrograman yang
mendukung PBO :
•
Java
•
Eiffel
•
C++
•
SmallTalk
•
Python
Sekilas Bahasa Java
//Contoh program Sederhana class coba {
public static void main(String args[]) { System.out.println(“Hello World"); }
Enkapsulasi
•
Dapat dikatakan sebagai penyembunyian
data/informasi (
Information hiding
).
•
Implementasi ke bahasa Pemrograman
(Java, C++) dengan menggunakan
Enkapsulasi
Dalam kehidupan sehari-hari,
penyembunyian data sudah sering kita alami. Contohnya adalah objek Handphone; dimana setiap orang yang menggunakannya tidak
mengetahui secara pasti apa yang ada di dalam Handphone tersebut. Tidak
mengetahui bagaimana cara kerja HP tersebut. Yang penting adalah
Objek dlm dunia nyata
Sesuatu yang mempunyai status, kelakuan, dan interface.
Contoh dalam dunia nyata adalah Mobil. Objek Mobil mempunyai :
• status : jenis, warna, plat_nomor • kelakuan : jalan_maju, jalan_mundur
Contoh Objek Dunia Nyata
• Semua mobil mempunyai interface yang mirip,walaupun masing-masing mobil mempunyai
mekanisme dan cara kerja yang berbeda. Sepanjang kita tahu interface standar mobil; yaitu kemudi, pedal gas, rem, tuas persneling, maka kita dapat
mengemudikannya. Kita mungkin tidak tahu cara kerja dan jenis mesin yang menggerakkan mobil tersebut.
• Ada beberapa jenis mobil yang berbeda, dengan
mesin yang berbeda-beda, tetapi menggunakan
Objek dalam
software
Pada software, objek juga mempunyai status, kelakuan, dan interface.
• Status adalah variabel.
• Kelakuan adalah method; yaitu fungsi
(subroutine) yang berhubungan dengan objek.
• Interface adalah kumpulan method yang akan
Pengertian
class
•
Implementasi dari
Information Hiding
;
yaitu kumpulan dari berbagai tipe
variabel maupun
method
yang setiap
komponen
software
“melihatnya”
•
Merupakan
blue print
dari objek yang
akan diciptakan.
•
Mendiskripsikan
interface
objek,
class
mempunyai :
• Atribut/Variabel.
Nilai atribut pada saat runtime menyatakan status/variabel objek dari instantiation class tersebut.
• Method.
Pada saat runtime, method akan dieksekusi sesuai dengan kode programnya atas permintaan objek lain.
• Interface.
Merupakan kumpulan Method-method yang ada dalam
class
dan objek
•
Objek merupakan
instance
dari class.
•
Proses penciptaan objek disebut dengan
Syntax
class
class namaKelas {
attribut; //variabel instance
namaKelas() {} //constructor
void method_1() { }
void method_2() { }
Contoh
class
class Mobil {
String warna; int kursi;
Mobil() {} //constructor void jalan_maju() {
}
void jalan_mundur() { }
Pendeklarasian objek
public static void main(String[] args) {
Mobil sedan = new Mobil(); instantiation
sedan.jalan_maju(); }
Pendeklarasian
class
dan Objek
class Mobil {
Mobil() {} //constructor
void jalan_maju() {
System.out.println("Maju … !"); }
public static void main(String[] args) { Mobil sedan = new Mobil();
sedan.jalan_maju(); }
Perbedaan
class
dan objek
• class adalah deskripsi statik dari objek yang diciptakan. Objek di sini merupakan
instantiation dari class.
• objek adalah elemen yang pada saat runtime diciptakan, dimanipulasi, dan dihancurkan.
Secara umum dapat dikatakan bahwa pada saat runtime, yang kita punyai adalah objek. Di dalam teks program, yang kita punyai
Lingkup
class
• Private.Feature yang “visible” hanya untuk class dimana
feature tersebut didefinisikan.
• Protected.
Feature yang disembunyikan terhadap class client, tetapi “visible” untuk class turunan.
• Public.
Feature yang “visible”, dapat dipakai oleh semua
Lingkup
class
(Istilah)
•
Feature
disini adalah Atribut dan/atau
Method
.
•
Visible
artinya dapat dilihat atau dapat
dipanggil dari
classclient
.
•
Client
artinya
class-
classyang
Pengertian
Method
• Dalam bahasa Pemrograman yang lain sering
disebut dengan Procedure atau Function,
lengkap dengan signature-nya. Signature disini adalah nama dan parameter.
• Method merupakan encapsulation kode program. • Method terdiri dari urutan statement/kode
Gambaran
Method
void main() fungsiKu_1 {
statement;
----fungsiKu_1() ;
: return
: fungsiKu_3
statement;
: fungsiKu_2 ----fungsiKu_2() ;
: ---- - ---
statement; fungsiKu_3() ; ---- fungsiKu_4() ; ---- return
: return
Contoh
Method
class Mobil {
String warna; interface int kursi;
void jalan_maju() {
System.out.println(“Maju”); {
void jalan_mundur() {
System.out.println(“Mundur”); }
}
Karakteristik dari Method
• Dapat mengembalikan / melaporkan nilai
balikkan (return value) atau tidak (void)
• Dapat diterima beberapa parameter yang
dibutuhkan atau tidak ada parameter sama sekali. Parameter bisa juga disebut sebagai argumen dari fungsi. Parameter berguna
sebagai nilai masukkan yang hendak diolah oleh fungsi.
• Setelah method telah selesai dieksekusi, dia
Modifier Method
• Public
Atribut ini menunjukan bahwa fungsi/method dapat diakses oleh kelas lain.
• Private
Atribut ini menunjukan bahwa fungsi atau method tidak dapat diakses oleh kelas lain
• Protected
Atribut ini menunjukan bahwa fungsi atau method bisa diakses oleh kelas lain dalam satu paket dan hanya kelas lain yang merupakan subclass nya pada paket yang berbeda.
• Tanpa modifier