PEMROGRAMAN Indah Puji Astuti, M.
Kom
BERORIENTASI OBJEK
Teknik Informatika
Univ Muhammadiyah Ponorogo
1
properties method
object
class
2
4 OBJEK DENGAN TIPE
CLASS KUCING
3
BANYAK OBJEK DENGAN
TIPE CLASS MOBIL
4
Dari gambar disamping class
merupakan sketsa / blue print dari
sebuah mobil. Jika secara detail
terdiri dari roda, pintu, body, dll. Class
Berdasarkan uraian tersebut kita
dapat membuat sebuah mobil, oleh
karena itu mobil disebut objek.
Karena banyak mobil yang dapat
dibuat dari sketsa tersebut, jika
dianalogikan pada PBO maka kita
dapat membuat banyak objek dari Object
suatu class.
Selain itu objek dapat dikatakan
sebagai turunan dari suatu class.
5
CLASS
Class adalah cetakan / template / blue print
6
OBJECT
Object adalah bukti nyata dari class
7
PEMROGRAMAN BERORIENTASI OBJEK
(OBJECT ORIENTED PROGRAMMING)
Paradigma pemrograman berdasarkan konsep “objek” yang
dapat berisi data, dalam bentuk field atau dikenal juga sebagai
atribut/properties, serta kode dalam bentuk fungsi/prosedur
yang dikenal dengan nama method
Semua data dan fungsi dalam paradigma ini dibungkus dalam
class-class atau object-object
Setiap objek dapat menerima pesan, memproses data dan
mengirim pesan ke objek lain
8
CONTOH OBJEK
Propertis = spesifikasi, warna, ukuran, material (yang dimiliki
sebuah objek yang membedakan objek satu dengan objek
lainnya)
Method = bisa mengeluarkan suara, bisa dimatikan (behaviour,
yg bisa dilakukan oleh objek)
Contoh interaksi Mouse kirim pesan dengan keyboard
diteruskan ke CPU, menampilkan pesan ke layar
9
CONTOH OBJEK
10
CONTOH OBJEK
11
KARAKTERISTIK OO Abstraction Polymorphism
Encapsulation Inheritance
Abstraction : Objek itu bs apa, tanpa tau di dalamnya seperti apa
Encapsulation (pembungkusan) : Propertis dan method di bungkus dalam satu objek atau klas.
Membatasi interaksi objek satu dengan objek lain
Polymorphism (1 objek bisa memiliki banyak sifat)
Inheritance (pewarisan) parent (karyawan) – anak (dosen)
Hubungannya dengan penggunaan kode kembali
Objek karyawan, objek dosen, memiliki data yg hampir sama (nama, NIK, alamat, yang
membedakan NIDN) ditambahi field NIDN
12
INHERITANCE
Parent Parent Class = Super Class
Kelas induk
Child Class = sub Class
Child
Kelas anak
13
Class
Class Mobil
Kendaraan is a
is
a
Class
Motor
14
ENCAPSULATION
kucing
f(x)
15
ENCAPSULATION
class
x
atribute
method
f(x)
16
ENCAPSULATION
Suatu cara yang digunakan untuk
menyembunyikan informasi pada suatu
class
17
Information
• Proses yang menyembunyikan informasi dari
suatu class sehingga class tersebut tidak
dapat diakses dari luar
heading • Dengan memberikan akses control “private”
ketika mendeklarasikan atribut atau method
Interface to • Cara melakukan perubahan terhadap atribut
yang disembunyikan dengan membuat suatu
interface berupa method untuk
access data menginisialisasi atau merubah nilai dari
suatu atribut tersebut
18
HAK AKSES
Public
• Method dan property dapat kemana saja
Private
• Cakupannya paling sempit, method tersebut
hanya bisa diakses dikelas itu sendiri.
Protected
• Method tersebut bisa diakses diluar class namun
masih dalam 1 package atau class turunannya
19
ABSTRACTION
Digunakan untuk menyembunyikan detail yang tidak terlalu
penting dari user.
20
Dimana untuk menggunakan smartphone
atau remote TV kita tidak perlu memahami
apa yang terjadi di dalam logika elektronik
dan software di dalamnya, akan tetapi kita
hanya butuh menekan tombol power dan
menyentuh layar smartphone maupun
menekan tombol-tombol pada remote agar
smartphone ataupun TV dapat bekerja
sebagaimana mestinya.
21
ABSTRACTION
Prinsip untuk merepresentasikan dunia nyata yang kompleks
menjadi satu bentuk model yang sederhana dengan
mengabaikan aspek-aspek lain yang tidak sesuai dengan
permasalahan.
22
Poli
Polymo (banyak)
rphism
POLYMORPHISM
(Banyak
Morphism
bentuk)
(bentuk)
23
KONSEP POLIMORPHISM
Input 1 code Output 1
input proses output
Input 2
?
24
POLIMORPHISM
Kaitannya dengan OOP, class/object mempunyai banyak
bentuk dalam hal method (behaviour) dengan nama yang
sama. Bentuk disini dapat mencakup isi, parameter maupun
tipe data yang berbeda.
25
• Method overloading
(static polimorphism)
• Identik dengan nama method
Overloading yang sama dengan method
lain pada suatu class, tetapi
dengan parameter yang
berbeda
POLIMORPHISM
• Method overriding
(dynamic polymorphism)
• Menulis kembali method
Overriding dengan sama persis, mulai
dari nama method, isi dan
mengimplementasikan
kembali ke sub class nya.
26
OBJECT ORIENTED PROGRAMMING VS
PROSEDURAL PROGRAMMING
27
CIRI-CIRI PEMROGRAMAN
TERSTRUKTUR
•Gunakan rancangan pendekatan dari atas ke bawah (top dwon
design)
•Masalah yg besar dibreakdown menjadi masalah-masalah yg
lebih kecil, masalah yg kecil di breakdown lagi menjadi
masalah yang lebih kecil lagi. Masalah yang kecil itu menjadi
fungsi
•Gunakan sub program untuk proses-proses sejenis yang
sering digunakan
•Data besar terbagi menjadi fungsi-fungsi
•Data dan fungsi dibagi menjadi terpisah
28
CONTOH BAHASA
PEMROGRAMAN TERSTRUKTUR
COBOL
FORTRAN
BASIC
Pascal
C (belum object oriented) c++ (bisa object bisa tidak)
29
PEMROGRAMAN
BERORIENTASI OBJEK
PBO = OOP berbeda dengan pemrograman konvensional
pada umumnya, terutama dalam memperlakukan prosedur dan
data
Pada pemrograman konvensional prosedur dan data
merupakan dua hal yang dipisahkan satu sama lain
Jika dalam OOP prosedur (method) dan data (propertis)
dibungkus dalam 1 objek atau class
30
PEMROGRAMAN
BERORIENTASI OBJEK
Salah satu konsep OOP yang paling penting adalah
membungkus prosedur (method) dan data (propertis) menjadi
1 objek. Konsep ini disebut dengan encapsulation
Abstraction Polymorphism
Encapsulation Inheritance
31
PEMROGRAMAN
BERORIENTASI OBJEK
OOP memodelkan objek yang ada di dunia nyata (real world
objek) ke dalam software objek dalam pemrograman
Oleh karena itu di dalam OOP juga dikenal istilah seperti yang
ada di dunia nyata, misalnya istilah pewarisan (inheritance) ->
parent (orang tua), child (anak) = dimana suatu objek dapat
mewariskan sifat-sifat (method dan propertis) yang dimilikinya
kepada turunanya
Abstraction Polymorphism
Encapsulation Inheritance
32
CONTOH BAHASA
PEMROGRAMAN OOP
C++
Visual Basic.NET.
Java (wajib OO)
PHP (bisa OOP bisa tidak)
33
KEUNTUNGAN MENGGUNAKAN METODOLOGI
BERORIENTASI OBJEK ADALAH :
1. Meningkatkan Produktivitas
Karena kelas dan objek yang ditemukan dalam suatu masalah
masih dapat dipakai ulang untuk masalah lainnya yang
melibatkan objek tersebut (reusable)
2. Kecepatan Pengembangan
Karena system yang dibangun dengan baik dan benar pada
saat analisis dan perancangan akan menyebabkan
berkurangnya kesalahan pada saat pengkodean
34
KEUNTUNGAN MENGGUNAKAN METODOLOGI
BERORIENTASI OBJEK ADALAH :
3. Kemudahan pemeliharaan
Karena dengan model objek, pola-pola yang cenderung tetap
dan stabil dapat dipisahkan dan pola-pola yang mungkin sering
berubah-ubah
4. Adanya konsistensi
Karena sifat pewarisan dan penggunaan notasi yang sama
pada saat analisis, perancangan maupun pengkodean
35
KEUNTUNGAN MENGGUNAKAN METODOLOGI
BERORIENTASI OBJEK ADALAH :
5. Meningkatkan kualitas perangkat lunak
Karena pendekatan pengembangan lebih dekat dengan dunia
nyata dan adanya konsistensi pada saat pengemangannya,
perangkat lunak yang dihasilkan akan mampu memenuhi
kebutuhan pemakai serta mempunya sedikit kesalahan
36
REFERENSI
Rosa & Salahuddin. 2013. Rekayasa Perangkat Lunak
Terstruktur dan Berorientasi Objek. Penerbit Informatika.
Bandung
JuliusHermawan. 2004. Analisa Desain dan Pemrograman
Berorientasi Obyek dengan UML dan Visual Basic.NET.
The Java™ Language Specification. Third Edition
37