0
Pemrograman Berorientasi        Obyek       Class Diagram     anton@ukdw.ac.id
What is UML ?• Sebuah bahasa pemodelan terstandar untuk  bahasa pemrograman berorientasi obyek• UML merupakan perpaduan da...
What is UML ?• UML bukan alat untuk membuat software,  UML membantu membuat model dari  software yang akan dibuat• UML ber...
Why is UML Important• UML untuk membuat software blueprints bagi  analysts, designers dan programmers• UML merupakan bahas...
What is UML goals ?• Menyediakan seperangkat notasi dan tools  untuk melakukan pemodelan software dengan  sederhana dan mu...
Who is need UML ?• Semua pihak yang terlibat dalam pembuatan  software• System Analysts, Programmers, Business  Designer, ...
UML Diagrams• Tipe diagram pada UML dibagi menjadi 2 kategori :• Structure Diagrams  Diagram yang menggambarkan aspek stat...
Diagrams in the UML•   Class diagram•   Object diagram•   Use case diagram•   Sequence diagram•   Collaboration diagram•  ...
Class DiagramApa yang ada pada class diagram  Class dan interface beserta atribut dan method-  nya  Relasi yang terjadi an...
Class Diagram• A class diagram consists of three  sections:  – The upper part holds the name of the class  – The middle pa...
Tools• Free Solution:•   Dia (Gnome)•   IBM Rational Modeler•   Kivio (KDE)•   Netbeans•   Umbrello UML Modeller (KDE)•   ...
Tools• Proprietary Solution :•   Microsoft Visio•   Rational Software Architects•   Enterprise Architects•   Poseidon for ...
Structural Modeling: Core ElementsConstruct Description                               Syntaxclass     a description of a s...
Structural Modeling: Core Elements                                    (cont’d)Construct       Description                 ...
Structural Modeling:                   Core RelationshipsConstruct       Description                                  Synt...
Structural Modeling:                Core Relationships (cont’d)Construct     Description                                Sy...
Class Diagrams• Notasi class digambarkan dengan kotak seperti  contoh berikut:
Class Diagrams• Modifier akses dilambangkan dengan 3 macam  notasi:  – (+)   public  – (-)   private  – (#)   protected
Class DiagramsNotasi dari atribut  visibility name: type multiplicity = default {property-string}Contoh  - name: String [1...
Class Diagrams  Notasi dari operations     visibility name (parameter-list) : return-type {property-string}  Parameter pad...
Atribut dan Method
Class Diagrams• Contoh: Buatlah class diagram dari program java  di bawah ini: class Anjing {    public Anjing() {      Sy...
Class Diagrams• Bagaimana kalau class tersebut merupakan  abstract class?• Bagaimana dengan abstract methods?• Bagaimana k...
Class Diagrams Example
Class Diagrams• Bagaimana kalau ada hubungan antar class  seperti inheritance, agrregation, composition,  dsb.?• Inheritan...
Generalization
Class Diagrams• Association:
Class Diagrams• Composition:
Class Diagrams• Whole-part (aggregation):
Compositionhas a or contains a relationship (whole-part)  Kampus memiliki fakultas CS atau kampus terdiri  dari fakultas C...
AggregationSebuah ruangan memiliki meja dan kursiTanpa kehadiran ruang, meja dan kursi bisatetap ada
Class diagram Example
Class diagram Example
NEXT• Exception Handling in Java
Pbo10
Pbo10
Upcoming SlideShare
Loading in...5
×

Pbo10

373

Published on

java uml

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
373
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Pbo10"

  1. 1. Pemrograman Berorientasi Obyek Class Diagram anton@ukdw.ac.id
  2. 2. What is UML ?• Sebuah bahasa pemodelan terstandar untuk bahasa pemrograman berorientasi obyek• UML merupakan perpaduan dari tiga paradigma pemodelan sistem object oriented: – OMT (James Rumbaugh) – OOSE (Ivan Jacobson) – Booch (Grady Booch)
  3. 3. What is UML ?• UML bukan alat untuk membuat software, UML membantu membuat model dari software yang akan dibuat• UML berupa gambar, berisi notasi-notasi untuk membuat software blueprints (rancangan)• Digunakan juga untuk mendokumentasikan
  4. 4. Why is UML Important• UML untuk membuat software blueprints bagi analysts, designers dan programmers• UML merupakan bahasa “universal” untuk pihak- pihak yang terlibat dalam pembuatan suatu software• Pada OO, modelling merupakan bagian yang sangat penting. UML membantu proses modelling tersebut
  5. 5. What is UML goals ?• Menyediakan seperangkat notasi dan tools untuk melakukan pemodelan software dengan sederhana dan mudah digunakan• UML bersifat independen dari bahasa pemrograman tertentu, UML bukan bahasa pemrograman, UML hanya berupa notasi untuk pemodelan software
  6. 6. Who is need UML ?• Semua pihak yang terlibat dalam pembuatan software• System Analysts, Programmers, Business Designer, dsb• UML berupa notasi-notasi yang berupa gambar sehingga mudah untuk dipelajari, selain itu UML juga tidak terkait pada bahasa pemrograman tertentu
  7. 7. UML Diagrams• Tipe diagram pada UML dibagi menjadi 2 kategori :• Structure Diagrams Diagram yang menggambarkan aspek statis dari system yang kita buat - Contoh: Class Diagram• Behavior Diagrams Diagram yang menggambarkan aspek dinamis dari system yang kita buat - Contoh: Activity Diagram, Sequence Diagram
  8. 8. Diagrams in the UML• Class diagram• Object diagram• Use case diagram• Sequence diagram• Collaboration diagram• Statechart diagram• Activity diagram• Component diagram• Deployment diagram
  9. 9. Class DiagramApa yang ada pada class diagram Class dan interface beserta atribut dan method- nya Relasi yang terjadi antar objek Constraint terhadap objek-objek yang saling berhubungan Inheritance untuk organisasi class yang lebih baik
  10. 10. Class Diagram• A class diagram consists of three sections: – The upper part holds the name of the class – The middle part contains the attributes of the class – The bottom part gives the methods or operations the class can take or undertake
  11. 11. Tools• Free Solution:• Dia (Gnome)• IBM Rational Modeler• Kivio (KDE)• Netbeans• Umbrello UML Modeller (KDE)• StarUML• ArgoUML
  12. 12. Tools• Proprietary Solution :• Microsoft Visio• Rational Software Architects• Enterprise Architects• Poseidon for UML
  13. 13. Structural Modeling: Core ElementsConstruct Description Syntaxclass a description of a set of objects that share the same attributes, operations, methods, relationships and semantics.interface a named set of operations that «interface» characterize the behavior of an element.component a modular, replaceable and significant part of a system that packages implementation and exposes a set of interfaces.node a run-time physical object that represents a computational resource. Reference: OMG tutorial on UML by Cris Kobryn
  14. 14. Structural Modeling: Core Elements (cont’d)Construct Description Syntaxconstraint¹ a semantic condition or restriction. {constraint}¹ An extension mechanism useful for specifying structural elements. Reference: OMG tutorial on UML by Cris Kobryn
  15. 15. Structural Modeling: Core RelationshipsConstruct Description Syntaxassociation a relationship between two or more classifiers that involves connections among their instances.aggregation A special form of association that specifies a whole-part relationship between the aggregate (whole) and the component part.generalization a taxonomic relationship between a more general and a more specific element.dependency a relationship between two modeling elements, in which a change to one modeling element (the independent element) will affect the other modeling element (the dependent element). Reference: OMG tutorial on UML by Cris Kobryn
  16. 16. Structural Modeling: Core Relationships (cont’d)Construct Description Syntaxrealization a relationship between a specification and its implementation. Reference: OMG tutorial on UML by Cris Kobryn
  17. 17. Class Diagrams• Notasi class digambarkan dengan kotak seperti contoh berikut:
  18. 18. Class Diagrams• Modifier akses dilambangkan dengan 3 macam notasi: – (+) public – (-) private – (#) protected
  19. 19. Class DiagramsNotasi dari atribut visibility name: type multiplicity = default {property-string}Contoh - name: String [1] = "Untitled" {readOnly} + 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, dimana disini berarti tidak bisa dimodifikasi
  20. 20. Class Diagrams Notasi dari operations visibility name (parameter-list) : return-type {property-string} Parameter pada parameter-list dinotasikan seperti pada atribut direction name: type = default value direction bisa berupa: in, out, atau inout Contoh + balanceOn (in date: Date) : Money• Bagaimana dengan constructor? – Sama dengan methods • visibility name_constructor([parameter-list])
  21. 21. Atribut dan Method
  22. 22. Class Diagrams• Contoh: Buatlah class diagram dari program java di bawah ini: class Anjing { public Anjing() { System.out.println("Anjing tercipta"); } public String bersuara() { System.out.println("Guk guk guk"); } public void makan(String makanan) { System.out.println("Sedang makan "+makanan); } }
  23. 23. Class Diagrams• Bagaimana kalau class tersebut merupakan abstract class?• Bagaimana dengan abstract methods?• Bagaimana kalau ada beberapa kelas dimasukkan dalam satu package?• Bagaimana dengan interface?
  24. 24. Class Diagrams Example
  25. 25. Class Diagrams• Bagaimana kalau ada hubungan antar class seperti inheritance, agrregation, composition, dsb.?• Inheritance:
  26. 26. Generalization
  27. 27. Class Diagrams• Association:
  28. 28. Class Diagrams• Composition:
  29. 29. Class Diagrams• Whole-part (aggregation):
  30. 30. Compositionhas a or contains a relationship (whole-part) Kampus memiliki fakultas CS atau kampus terdiri dari fakultas CS (salah satunya) Jika tidak ada fakultas, tidak mungkin ada kampus
  31. 31. AggregationSebuah ruangan memiliki meja dan kursiTanpa kehadiran ruang, meja dan kursi bisatetap ada
  32. 32. Class diagram Example
  33. 33. Class diagram Example
  34. 34. NEXT• Exception Handling in Java
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×