Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Obyek
Objek
Diklat Teknologi Informasi
Pusdiklat BPK RI di Kalibata
Perkenalan
Arie Purwanto, ST, M.Si, MCSD
• S1: Teknik Elektro UGM
• S2: Magister Akuntansi UGM
Neni Fitriani, S.Kom, M.I.S
• S1: Ilmu Komputer UGM
• S2: Information Systems Univ. Melbourne
Contoh
Konsep Objek
Objek di dunia software
Contoh
Objek dan Kelas
Class
• Template dari sebuah Object
Objects
• Instance dari sebuah Class
• Memiliki sifat-sifat sbb:
Variabel
Properties
Behaviour
Do something
Fitur PBO
Abstraction (abstraksi)
Polymorphism (polimorfisme)
Inheritance (pewarisan)
Encapsulation (enkapsulasi)
Kelas (Class)
Dalam suatu sistem, sering kali ditemui
beberapa objek sejenis
Beberapa objek sejenis dapat di-identifikasi
sebagai suatu kelas (class)
Kelas (Class)
Kelas merupakan “cetakan” (blueprint) dari
suatu objek
Kelas objek baru yang masing-masing dapat
memiliki keadaan yang berbeda-beda
Pesan (Messaging)
Obyek berinteraksi dan berkomunikasi dengan
obyek lain melalui message
Pesan (Messaging)
Message terdiri dari
• Nama obyek yg dikirimi
• Nama method yg dipanggil
• Parameter yang diperlukan oleh method yang dipanggil
Diagram Kelas
nama_kelas Contoh
-nama_atribut1 Sepeda
#nama_atribut2
+nama_atribut3 +jenis
-warna
+nama_method1()
#nama_method2() +berjalan()
-nama_method3() +mengerem()
Diagram Kelas
Sepeda1 : Sepeda
Sepeda
jenis
+jenis warna
-warna
+berjalan() Sepeda2 : Sepeda
+mengerem() jenis
warna
Abstraksi
Menyembunyikan implementation dari suatu
method
Share schema, hide implementation
Abstract class tidak dapat di-instantiate secara
langsung.
MustInherit
Polimorfisme
Kesamaan behaviour, beda Implementation
Inheritance-based
• Menekankan pada pendefinisian fungsi-fungsi baku
yang dapat di-extend di class turunannya
Interface-based
• Menekankan pada keseragaman signature namun
implementasi berbeda-beda.
Enkapsulasi
Pembungkusan properties, methods, dan
member lainnya ke dalam satu kesatuan unit ;
object
Pewarisan
Adalah proses pembentukan kelas baru yang
disebut sebagai derived class atau inherited
class dari kelas yang sudah ada sebelumnya
yang disebut base class
derived class akan mewarisi semua
kemampuan base class dan dapat ditambah
kemampuan baru yang memiliki sifat lebih
khusus
Pewarisan
Sebagai contoh kita akan memecahkan suatu
masalah yang berhubungan dengan input dan
output
Pertama, kita akan membuat suatu base class
yang sifatnya umum dan telah kita uji tingkat
kebenaran serta kemampuannya
Kemudian dari kelas tersebut kita tinggal
menurunkan kelas-kelas baru untuk menangani
hal – hal yang lebih khusus, seperti input-
output ke layar , I/O ke file dan I/O ke printer
Pewarisan
Kelas I/O
Employee Manager
+name : String +name : String
+salary : Double +salary : Double
+birthDate : Date +birthDate : Date
+getDetails() : String +department : String
+getDetails() : String
Pewarisan
Employee
+name : String
+salary : Double
+birthDate : Date
+getDetails() : String
Manager
-department : String