Anda di halaman 1dari 27

Pemrograman Berorientasi

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

 Biro Teknologi Informasi


Tujuan Diklat
 Memahami konsep-konsep PBO
 Menerapkan PBO dalam pengembangan
aplikasi
 Memahami penerapan strategi PBO dalam
pengembangan aplikasi di BPK RI
Jadwal Diklat
 1 September 2009
• Konsep PBO
• Penerapan PBO dengan .NET
• Administrasi SQL Server
 2 September 2009
• Mendisain Database dalam SQL Server
• Manipulasi Data dalam SQL Server
• Pemrograman terhadap Database
• Ujian
Perkenalan
 Nama lengkap dan nama panggilan
 Universitas
 Penempatan
Pendahuluan
 Aplikasi/sistem informasi di BPK RI
dikembangkan secara inhouse dan outsourcing
 Platform pemrograman:
• .NET
 Windows/Windows Server, IIS, SQL Server, ASP (VB) .NET
• PHP
 Apache, MySQL, PHP
 Kebutuhan pengguna semakin kompleks
Konsep PBO
 Pemrograman Prosedural
 Pemrograman Berorientasi Objek (PBO)
 Prosedural VS PBO
Pemrograman Prosedural
 Pemrograman Prosedural
• Contoh: aplikasi Sistem Informasi Akademik (SIA)
Berorientasi Objek
 Pemrograman Berorientasi Objek
• Contoh: aplikasi Sistem Informasi Akademik (SIA)
Konsep Objek
 Objek di dunia nyata

 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

Kelas I/O Kelas I/O Kelas I/O


Ke Layar Ke File Ke Printer
Pewarisan

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

Anda mungkin juga menyukai