Bahasa Pemrograman 2 - 12 - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/anton/download/bp211.pdf · •...

30
Bahasa Pemrograman 2 Class Diagram Class Diagram [email protected]

Transcript of Bahasa Pemrograman 2 - 12 - lecturer.ukdw.ac.idlecturer.ukdw.ac.id/anton/download/bp211.pdf · •...

Bahasa Pemrograman 2

Class DiagramClass [email protected]

What is UML ?What is UML ?

• Sebuah bahasa pemodelan terstandar untukbahasa pemrograman berorientasi obyekp g y

UML k d d i i• UML merupakan perpaduan dari tigaparadigma pemodelan sistem object oriented:– OMT (James Rumbaugh)– OOSE (Ivan Jacobson)OOSE (Ivan Jacobson)– Booch (Grady Booch)

What is UML ?What is UML ?

• UML bukan alat untuk membuat software, UML membantu membuat model darisoftware yang akan dibuat

• UML berupa gambar, berisi notasi‐notasiuntuk membuat software blueprints (rancangan)(rancangan)

Why is UML Important

UML t k b t ft bl i t b i

Why is UML Important

• UML untuk membuat software blueprints bagianalysts, designers dan programmers

• UML merupakan bahasa “universal” untuk pihak‐pihak yang terlibat dalam pembuatan suatupihak yang terlibat dalam pembuatan suatusoftware

• Pada OO, modelling merupakan bagian yang sangat penting UML membantu prosessangat penting.  UML membantu prosesmodelling tersebut

What is UML goals ?What is UML goals ?

• Menyediakan seperangkat notasi dan tools untuk melakukan pemodelan software denganp gsederhana dan mudah digunakan

• UML bersifat independen dari bahasapemrograman tertentu, UML bukan bahasapemrograman, UML hanya berupa notasipemrograman, UML hanya berupa notasiuntuk pemodelan software

Who is need UML ?

S ih k t lib t d l b t

Who is need UML ?

• Semua pihak yang terlibat dalam pembuatansoftware

• System Analysts, Programmers, Business Designer dsbDesigner, dsb

UML b t i t i b b• UML berupa notasi‐notasi yang berupa gambarsehingga mudah untuk dipelajari, selain itu UML juga tidak terkait pada bahasa pemrogramanjuga tidak terkait pada bahasa pemrogramantertentu

UML DiagramsUML Diagrams

Ti di d UML dib i j di 2 k t i• Tipe diagram pada UML dibagi menjadi 2 kategoriyaitu : 

• Structure Diagrams : Di b k k i d iDiagram yang menggambarkan aspek statis darisystem yang kita buat

• Behavior Diagramsb k k dDiagram yang menggambarkan aspek dinamis

dari system yang kita buat

Class DiagramClass Diagram

Apa yang ada pada class diagramClass dan interface beserta atribut dan operasinyaRelasi yang terjadi antar objekRelasi yang terjadi antar objekConstraint terhadap objek‐objek yang saling berhubunganberhubunganInheritance untuk organisasi class yang lebih baik

Class DiagramsClass Diagrams

ToolsTools

F S l ti• Free Solution:

( )• Dia (Gnome)• IBM Rational Modeler• Kivio (KDE)• Netbeans• Umbrello UML Modeller (KDE)• StarUML• ArgoUML

ToolsTools

• Proprietary Solution :

• Microsoft Visio• Rational Software Architects• Enterprise ArchitectsEnterprise Architects• Poseidon for UML

Class Diagrams

• Notasi class digambarkan dengan kotak seperti

g

Notasi class digambarkan dengan kotak seperti contoh berikut:

Class Diagramsg

• Bagian atas adalah nama class

• Bagian tengah adalah list attribute/field

• Bagian bawah adalah list methods

Class Diagramsg

• Modifier akses dilambangkan dengan 3 macam notasi:notasi:– (+)  public

– (‐)  private

– (#)  protected

Class DiagramsNotasi dari atribut

g

visibility name: type multiplicity = default {property‐string}

ContohContoh‐ name: String [1] = "Untitled" {readOnly}b ti bli b ti i t # b ti t t d+ berarti public, ‐ berarti private, # berarti protected

“Untitled” adalah nilai yang diberikan secara default jika tidak ditentukan saat objek dibuat{readOnly} adalah properti tambahan dari atribut, y p pdimana disini berarti tidak bisa dimodifikasi 

Class Diagrams

N t i d i ti

g

Notasi dari operationsvisibility name (parameter‐list) : return‐type {property‐string}

Parameter pada parameter‐list dinotasikan seperti padaParameter pada parameter list dinotasikan seperti pada atribut

direction name: type = default valuedirection bisa berupa: in, out, atau inout

Contohb l O (i d t D t ) M+ balanceOn (in date: Date) : Money

• Bagaimana dengan constructor?S d h d• Sama dengan methods– visibility name_constructor([parameter-list])

Class Diagrams• Contoh: Buatlah class diagram dari program java 

g

di bawah ini:class Anjing {class Anjing {

public Anjing() {System.out.println("Anjing tercipta");

}}public String bersuara() {

System.out.println("Guk guk guk");y p ( g g )}public void makan(String makanan) {

System out println("Sedang makan "+makanan);System.out.println("Sedang makan "+makanan);}

}

Class Diagrams• Bagaimana kalau class tersebut merupakan 

g

abstract class?

• Bagaimana dengan abstract methods?• Bagaimana dengan abstract methods?

• Bagaimana kalau ada beberapa kelas g pdimasukkan dalam satu package?

B i d i f ?• Bagaimana dengan interface?

Class Diagrams• Bagaimana kalau ada hubungan antar class 

g

seperti inheritance, agrregation, composition, dsb.?

• Inheritance:

GeneralizationGeneralization

Class Diagrams• Association:

g

Class Diagrams• Composition:

g

Class Diagrams• Whole‐part (aggregation):

g

CompositionComposition

'has a' or 'contains a' relationship (whole‐part)Kampus memiliki fakultas CS atau kampus terdiri p pdari fakultas CS (salah satunya)Jika tidak ada fakultas tidak mungkin ada kampusJika tidak ada fakultas, tidak mungkin ada kampus

AggregationAggregation

Sebuah ruangan memiliki meja dan kursiTanpa kehadiran ruang, meja dan kursi bisaTanpa kehadiran ruang, meja dan kursi bisa tetap ada

Class diagram ExampleClass diagram Example

Class diagram ExampleClass diagram Example

NEXTNEXT

• JAR dan JDBC