LUNAK II
pendahuluan
• Hanhan Maulana
• Hanhan@email.unikom.ac.id
AGENDA
• OOAD
• Objek VS Kelas
• OOAD VS OOP
• Konsep Dasar OOAD
• UML Sebagai tools OOAD
OOAD
• Singkatan dari Object Oriented Analysis and Design
• Salah satu pendekatan analisis dan desain yang bisa digunakan selain
analisis terstruktur.
• OOAD bukan dipilih berdasarkan bahasa pemrograman yang digunakan.
• Pola pikir yang menitik beratkan pada perekayasaan objek beserta
relasinya.
PENGERTIAN OOAD
• Analysis-Pemahaman, menemukan, dan mendeskripsikan konsep di dalam
satu domain masalah.
• Design-Pemahaman dan pendeskripsian solusi dari perangkat lunak yang
merepresentasikan konsep analisis dan akan diimplementasikan pada kode
program yang dibuat.
• OOAD-Analisis dan Desain menggunakan pendekatan orientasi objek.
Sebuah pendekatan pembangunan perangkat lunak yang menekankan
pada solusi logika berbasis objek.
OBJEK?
• Objek adalah konsepsi atau benda di dunia nyata yang bisa dibedakan
satu dengan yang lainnya.
• Objek dapat dibentuk dari domain permasalahan yang diambil.
• Objek mempunyai identitas, properti, dan tingkah laku.
• Objek merupakan hasil instansiasi dari kelas.
KONSEP OBJEK
• Entitas objek dapat berupa:
• objek Fisik/ kongkrit : contoh mobil, rumah, Orang,
Buku dsb
Truck
Book
• objek Abstrak/konsep : contoh departemen, pekerjaan,
mata kuliah , Pinjaman, Jadwal ,
transaksi bank, proses kimia
Proses kimia
Book Book Book
-ISBN -ISBN
-Title -Title
-Edition -Edition
+open()
+close()
KELAS
• Sekumpulan objek yang memiliki kemiripan dalam hal properti, atribut,
behavior, dan semantik.
• Proses klasifikasi dilakukan untuk membentuk kelompok dari beberapa
objek yang memiliki kemiripan.
ILUSTRASI KELAS
HUBUNGAN ANTARA KELAS DAN OBJEK
Objects Class
Books
C++
Complete
Java Complete
Reference
Reference
Oracle
Complete
Reference
ATTRIBUTE
Object
:Java Complete Reference
Class Attribute
Book no.=0011
Attribute Value Title =The Complete
Reference _ JAVA
Price= Rs.395
Books
Oracle Complete Reference
Book no.
Title Book no.=0022
Price Title =The Complete
Reference _ ORACLE
Price= Rs.325
BEHAVIOR
Class Books
behavior addBook
deleteBook
issueBook
returnBook
KELAS VS OBJEK
OOP VS OOAD
KONSEP DASAR OOAD
• Abstraksi
• Encapsulation
• Inheritance
• Polimorphisme
ABSTRAKSI
• Fokus terhadap esensi.
• Menghilangkan sejumlah detail
• Fokus terhadap “is and does” dari sebuah objek.
ENKAPSULASI
• Lebih dikenal sebagai information hiding.
• Melakukan pembungkusan atribut dan method pada sebuah kelas.
ENCAPSULATION
• Pengemasan beberapa attribute dan behaviour ke
dalam satu unit kelas/objek
• Untuk mengakses atau merubah attribute suatu
objek hanya dengan melalui behaviour yang dimiliki
oleh objek tersebut.
ENCAPSULATION
Contoh :
Class: Books
Attributes
Book no, Title, Author , Price
Methods
addBook (), deleteBook() etc.
class primer {
public static void main(String[]args){
sekunder objek = new sekunder();
objek.a=2;
objek.b=3;
System.out.println(“nilai a: “+objek.a);
System.out.println(“nilai b: “+objek.b);
}
}
CONTOH
INHERITENCE
• Menyatakan pewarisan atribut atau method dari super class ke subclass.
• Digunakan untuk mendukung konsep reusable code.
• Hak akses dari suatu atribut dan method memberikan pengaruh terhadap
pewarisan.
INHERITANCE
POLIMORPHISME
• Perbedaan konten method yang ada pada dua buah objek atau lebih
pada esensi method yang sama.
• Konsep overloading dan overriding digunakan sebagai implementasi
polimorphisme.
• Subclass diizinkan mempunyai isi method yang berbeda dari method super
classnya.
POLYMORPHISM
Secara harafiah berarti
• “banyak bentuk” yaitu konsep bahwa objek yang
berbeda dapat merespons pesan yang sama
dengan cara yang berbeda
• Implementasi
• Override : mendefinisikan ulang attribute atau
behaviour dari super-class nya
POLYMORPHISM
Books
ISSUE ( ) METHOD
OOAD UML
SEJARAH UML
Behavioral Diagrams
Represent the dynamic aspects. Behavioral Interaction
Use case Diagrams Diagrams
Sequence; Use case Sequence;
Collaboration Statechart Communication
Statechart Activity Interaction
Activity Overview
Timing 39
UML 1.0 VS UML 2
UML 1.x: 9 diagram types. UML 2.0: 12 diagram types
Structural Diagrams
Structural Diagrams
Represent the static aspects of a
system. Class;
Class; Object
Object Component
Component Deployment
Deployment Composite Structure
Package
Behavioral Diagrams
Represent the dynamic aspects. Behavioral Interaction
Use case Diagrams Diagrams
Sequence; Use case Sequence;
Collaboration Statechart Communication
Statechart Activity Interaction
Activity Overview
Timing 40