SlideShare a Scribd company logo
1 of 36
Download to read offline
Pemrograman Berorientasi
        Obyek
       Class Diagram
     anton@ukdw.ac.id
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)
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
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
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
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
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
Diagrams in the UML
•   Class diagram
•   Object diagram
•   Use case diagram
•   Sequence diagram
•   Collaboration diagram
•   Statechart diagram
•   Activity diagram
•   Component diagram
•   Deployment diagram
Class Diagram
Apa 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
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
Tools
• Free Solution:

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

•   Microsoft Visio
•   Rational Software Architects
•   Enterprise Architects
•   Poseidon for UML
Structural Modeling: Core Elements
Construct Description                               Syntax
class     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
Structural Modeling: Core Elements
                                    (cont’d)

Construct       Description                                 Syntax
constraint¹     a semantic condition or restriction.
                                                               {constraint}




¹ An extension mechanism useful for specifying structural elements.




                                         Reference: OMG tutorial on UML by Cris Kobryn
Structural Modeling:
                   Core Relationships
Construct       Description                                  Syntax
association    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
Structural Modeling:
                Core Relationships (cont’d)

Construct     Description                                Syntax
realization   a relationship between a specification
              and its implementation.




                                  Reference: OMG tutorial on UML by Cris Kobryn
Class Diagrams
• Notasi class digambarkan dengan kotak seperti
  contoh berikut:
Class Diagrams




• Modifier akses dilambangkan dengan 3 macam
  notasi:
  – (+)   public
  – (-)   private
  – (#)   protected
Class Diagrams
Notasi 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
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])
Atribut dan Method
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);
    }
 }
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?
Class Diagrams Example
Class Diagrams
• Bagaimana kalau ada hubungan antar class
  seperti inheritance, agrregation, composition,
  dsb.?
• Inheritance:
Generalization
Class Diagrams
• Association:
Class Diagrams
• Composition:
Class Diagrams
• Whole-part (aggregation):
Composition
'has 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
Aggregation
Sebuah ruangan memiliki meja dan kursi
Tanpa kehadiran ruang, meja dan kursi bisa
tetap ada
Class diagram Example
Class diagram Example
NEXT
• Exception Handling in Java

More Related Content

What's hot

Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-javaPertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Abi Bobon
 
Bab 5 diagram uml dan prosess modeling 2010
Bab 5 diagram uml dan prosess modeling 2010Bab 5 diagram uml dan prosess modeling 2010
Bab 5 diagram uml dan prosess modeling 2010
donasiilmu
 
Pertemuan 9b-apbo-diagram-klass-dan-relasi
Pertemuan 9b-apbo-diagram-klass-dan-relasiPertemuan 9b-apbo-diagram-klass-dan-relasi
Pertemuan 9b-apbo-diagram-klass-dan-relasi
Abi Bobon
 

What's hot (19)

Bab III Class Diagram
Bab III Class DiagramBab III Class Diagram
Bab III Class Diagram
 
Tugas kelompok 2 (RekWeb) # Penjelasan UML & Flowchart Project E-Commerce
Tugas kelompok 2 (RekWeb) # Penjelasan UML & Flowchart Project E-CommerceTugas kelompok 2 (RekWeb) # Penjelasan UML & Flowchart Project E-Commerce
Tugas kelompok 2 (RekWeb) # Penjelasan UML & Flowchart Project E-Commerce
 
[RPL2] Package Diagram
[RPL2] Package Diagram[RPL2] Package Diagram
[RPL2] Package Diagram
 
Modul uml
Modul umlModul uml
Modul uml
 
Tugas umll
Tugas umllTugas umll
Tugas umll
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
 
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)
 
Class diagram
Class diagramClass diagram
Class diagram
 
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-javaPertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
Pertemuan 10a-apbo-pemetaan-uml-ke-dalam-java
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
 
Uml
UmlUml
Uml
 
Bab 5 diagram uml dan prosess modeling 2010
Bab 5 diagram uml dan prosess modeling 2010Bab 5 diagram uml dan prosess modeling 2010
Bab 5 diagram uml dan prosess modeling 2010
 
Uml
UmlUml
Uml
 
Tugas 3
Tugas 3Tugas 3
Tugas 3
 
Pertemuan 9b-apbo-diagram-klass-dan-relasi
Pertemuan 9b-apbo-diagram-klass-dan-relasiPertemuan 9b-apbo-diagram-klass-dan-relasi
Pertemuan 9b-apbo-diagram-klass-dan-relasi
 
Tugas 3 ki-0316-alvin yosua-1411510454
Tugas 3 ki-0316-alvin yosua-1411510454Tugas 3 ki-0316-alvin yosua-1411510454
Tugas 3 ki-0316-alvin yosua-1411510454
 
Tugas3 0916-[agung saputro]-[1111511505]
Tugas3 0916-[agung saputro]-[1111511505]Tugas3 0916-[agung saputro]-[1111511505]
Tugas3 0916-[agung saputro]-[1111511505]
 
Tugas 3 rekayasa web
Tugas 3 rekayasa webTugas 3 rekayasa web
Tugas 3 rekayasa web
 
Tugas 3 rekweb laily fitria 1412510511
Tugas 3 rekweb laily fitria 1412510511Tugas 3 rekweb laily fitria 1412510511
Tugas 3 rekweb laily fitria 1412510511
 

Similar to Pbo10

Tugas3-0916-oktonato glavikantara-1612510675
Tugas3-0916-oktonato glavikantara-1612510675Tugas3-0916-oktonato glavikantara-1612510675
Tugas3-0916-oktonato glavikantara-1612510675
pika glavikantara
 
Uml yusep wendy budiman
Uml yusep wendy budimanUml yusep wendy budiman
Uml yusep wendy budiman
Yusep Budiman
 
Tugas 3 (individu) rekayasa web 0316
Tugas 3 (individu) rekayasa web 0316Tugas 3 (individu) rekayasa web 0316
Tugas 3 (individu) rekayasa web 0316
septianarul
 
diagram UML
diagram UMLdiagram UML
diagram UML
oky_put
 

Similar to Pbo10 (20)

Proposal.pptx
Proposal.pptxProposal.pptx
Proposal.pptx
 
Unified Modelling Language (UML)
Unified Modelling Language (UML)Unified Modelling Language (UML)
Unified Modelling Language (UML)
 
Tugas3 rekayasa web
Tugas3 rekayasa webTugas3 rekayasa web
Tugas3 rekayasa web
 
UML
UMLUML
UML
 
Modul Unified modeling language (UML)
Modul Unified modeling language (UML)Modul Unified modeling language (UML)
Modul Unified modeling language (UML)
 
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML (Unified Modeling Language) - Rekayasa Perangkat LunakUML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
 
Tugas3-0916-oktonato glavikantara-1612510675
Tugas3-0916-oktonato glavikantara-1612510675Tugas3-0916-oktonato glavikantara-1612510675
Tugas3-0916-oktonato glavikantara-1612510675
 
Tugas 3 rekayasaweb
Tugas 3 rekayasawebTugas 3 rekayasaweb
Tugas 3 rekayasaweb
 
Modul uml
Modul umlModul uml
Modul uml
 
Tugas 3 ku - 0316 - raden doni wijoyo - 1311511057
Tugas 3   ku - 0316 - raden doni wijoyo - 1311511057Tugas 3   ku - 0316 - raden doni wijoyo - 1311511057
Tugas 3 ku - 0316 - raden doni wijoyo - 1311511057
 
Uml
UmlUml
Uml
 
Tugas 3 individu rekayasa web 0916
Tugas 3 individu rekayasa web 0916Tugas 3 individu rekayasa web 0916
Tugas 3 individu rekayasa web 0916
 
TD-635-02-PSBO
TD-635-02-PSBOTD-635-02-PSBO
TD-635-02-PSBO
 
Uml yusep wendy budiman
Uml yusep wendy budimanUml yusep wendy budiman
Uml yusep wendy budiman
 
10. unified modeling language
10. unified modeling language10. unified modeling language
10. unified modeling language
 
Modul uml
Modul umlModul uml
Modul uml
 
Tugas 3 (individu) rekayasa web 0316
Tugas 3 (individu) rekayasa web 0316Tugas 3 (individu) rekayasa web 0316
Tugas 3 (individu) rekayasa web 0316
 
MATERI UML(Unified Modelling Language)
MATERI UML(Unified Modelling Language)MATERI UML(Unified Modelling Language)
MATERI UML(Unified Modelling Language)
 
diagram UML
diagram UMLdiagram UML
diagram UML
 
Uml
UmlUml
Uml
 

Recently uploaded

HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
nabilafarahdiba95
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
pipinafindraputri1
 
Membuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docxMembuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docx
NurindahSetyawati1
 

Recently uploaded (20)

HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7
 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
Membuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docxMembuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docx
 

Pbo10

  • 1. Pemrograman Berorientasi Obyek Class Diagram anton@ukdw.ac.id
  • 2.
  • 3. 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)
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. Diagrams in the UML • Class diagram • Object diagram • Use case diagram • Sequence diagram • Collaboration diagram • Statechart diagram • Activity diagram • Component diagram • Deployment diagram
  • 10. Class Diagram Apa 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
  • 11. 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
  • 12. Tools • Free Solution: • Dia (Gnome) • IBM Rational Modeler • Kivio (KDE) • Netbeans • Umbrello UML Modeller (KDE) • StarUML • ArgoUML
  • 13. Tools • Proprietary Solution : • Microsoft Visio • Rational Software Architects • Enterprise Architects • Poseidon for UML
  • 14. Structural Modeling: Core Elements Construct Description Syntax class 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
  • 15. Structural Modeling: Core Elements (cont’d) Construct Description Syntax constraint¹ a semantic condition or restriction. {constraint} ¹ An extension mechanism useful for specifying structural elements. Reference: OMG tutorial on UML by Cris Kobryn
  • 16. Structural Modeling: Core Relationships Construct Description Syntax association 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
  • 17. Structural Modeling: Core Relationships (cont’d) Construct Description Syntax realization a relationship between a specification and its implementation. Reference: OMG tutorial on UML by Cris Kobryn
  • 18. Class Diagrams • Notasi class digambarkan dengan kotak seperti contoh berikut:
  • 19. Class Diagrams • Modifier akses dilambangkan dengan 3 macam notasi: – (+) public – (-) private – (#) protected
  • 20. Class Diagrams Notasi 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
  • 21. 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])
  • 23. 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); } }
  • 24. 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?
  • 26. Class Diagrams • Bagaimana kalau ada hubungan antar class seperti inheritance, agrregation, composition, dsb.? • Inheritance:
  • 31. Composition 'has 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
  • 32. Aggregation Sebuah ruangan memiliki meja dan kursi Tanpa kehadiran ruang, meja dan kursi bisa tetap ada
  • 35.