UML  (Unified Modeling Language) Versi 1.7 (Nov 06) Yudi Wibisono [email_address]
Apa UML? <ul><li>Bahasa  pemodelan perangkat lunak    notasi untuk mengeskpresikan model </li></ul><ul><li>Analogi: bahas...
Apa UML? (lanj) <ul><li>Bahasa pemodelan untuk bidang perangkat lunak: </li></ul>
Apa UML? <ul><li>Latar belakang UML </li></ul><ul><ul><li>90-an, terlalu banyak notasi sehingga membingungkan developer </...
Mengapa menggunakan UML <ul><li>Analogi: mengapa belajar bahasa Inggris? </li></ul><ul><li>Standard notasi untuk software ...
Elemen UML? <ul><li>13 Diagram (tidak semua harus digunakan!) </li></ul><ul><li>Structure Diagrams:  Class Diagram, Object...
Diagram yang umum digunakan di tahap requirement <ul><ul><li>Use case diagram </li></ul></ul><ul><ul><li>Activity diagram ...
Use Case Diagram (UCD)
Overview Use Case Diagram <ul><li>Diagram yang memperlihatkan relasi antara aktor dan use case di dalam system. </li></ul>...
Fungsi UCD <ul><li>Memperlihatkan aspek fungsional sebuah sistem (apa yang dapat dikerjakan sistem). </li></ul><ul><li>Mem...
Elemen UCD: Use Case <ul><li>Use Case: </li></ul><ul><ul><li>Aksi yang bermanfaat bagi actor, yang harus disediakan sistem...
Elemen UCD (Lanj): Actor <ul><ul><li>Orang/organisasi/mesin yang berinteraksi dengan sistem </li></ul></ul><ul><ul><li>Ses...
Elemen UCD: Relationship <ul><li>Asosiasi antara actor dan use case. </li></ul><ul><li>Asosiasi antara dua use case </li><...
UCD: Relationship (lanj) http://www.agilemodeling.com/images/style/useCaseRelationships.gif Asosiasi Generalisasi Genera-l...
UCD:Kotak Batasan System  <ul><li>Opsional </li></ul>Kotak Batasan
Use Case:  pengunaan <ul><li>Bukan  digunakan untuk menggambarkan urutan!    gunakan activity diagram </li></ul>
Activity Diagram
Overview Activity Diagram  <ul><li>Fokus terhadap aspek keterurutan aksi. </li></ul><ul><li>Menyerupai flow chart. </li></ul>
Fungsi Activity Diagram  <ul><li>Menjelaskan lebih detil use case. </li></ul><ul><li>Menjelaskan bisnis rule yang kompleks...
Elemen Activity Diagram action Start point Fork    paralel
Elemen Activity Diagram (2) Branch    percabangan Merge    percabangan selesai Join    aktivitas paralel harus selesai ...
Activity Diagram: Swimline Pengelompokan aktivitas yang dilakukan oleh suatu actor actor actor actor
State Machine Diagram http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state2.jpg
Overview State Diagram <ul><li>Mendeskripsikan tingkah laku sistem. </li></ul><ul><li>Fokus terhadap state dan transisinya...
Fungsi State Diagram <ul><li>Menjelaskan lebih detil tingkah laku sebuah objek. </li></ul><ul><li>Mirip dengan activity di...
Elemen State Diagram <ul><li>State: terdiri atas nama state dan aksi </li></ul><ul><li>Transisi (umumnya dengan kondisi) <...
Elemen State Diagram:supersate <ul><li>Superstate mencakup beberapa state </li></ul>
State Diagram vs Activity Diagram <ul><li>Tujuan </li></ul><ul><ul><li>Activity diagram    business rule (user friendly) ...
Class Diagram http://www.agilemodeling.com/images/models/classDiagramInitial.jpg
Overview Class Diagram <ul><li>Elemen terpenting dalam perancangan dan analisis menggunakan OOA dan OOD. </li></ul><ul><li...
Elemen Class Diagram: Class http://www.agilemodeling.com/images/style/classDiagramAnalysisVsDesign.gif Nama kelas atribut ...
Elemen Class: Asosiasi <ul><li>Multiplicity Indicators:  </li></ul><ul><li>0..1, 1 , 0..*, 1..*, 0..N </li></ul><ul><li>Co...
Elemen Class: Inheritance <ul><li>Garis dengan segitiga  </li></ul>Inheri tance http://www.agilemodeling.com/images/style/...
Inheritance: contoh lain http://www.agilemodeling.com/images/models/classDiagramInheritance.jpg
Elemen Class: Agregasi dan Composition <ul><li>Agregasi: Objek yang terdiri dari objek lainnya.  </li></ul><ul><li>Composi...
Object Diagram/Instance Diagram BUDI: MAHASISWA AHMAD: MAHASISWA RPL-LANJUT: MATAKULIAH TRANSKRIP  BUDI:  TRANSKRIP TRANSK...
Overview Object Diagram <ul><li>Mengambarkan instance dari class (Object) dan interaksinya. </li></ul><ul><li>Menjelaskan ...
Elemen Objek Diagram <ul><li>Objek: Gunakan underline (garis bawah) pada nama objek. </li></ul><ul><li>Format:  Nama Objek...
Sequence Diagram http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure4.jpg
Sequence Diagram <ul><li>Menggambarkan  urutan  interaksi antar objek. </li></ul><ul><li>Menggambarkan aspek dinamis dari ...
Elemen Sequence Diagram <ul><li>Dua elemen utama: Objek dan Message. </li></ul>
Elemen Sequence: Message ke dirinya sendiri (lanj)
Elemen Sequence Diagram : Guard http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_fig...
Elemen Sequence Diagram: Alternative http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/310...
Elemen Sequence Diagram: Loop http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figur...
Upcoming SlideShare
Loading in …5
×

Uml

4,956 views

Published on

UML

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

No Downloads
Views
Total views
4,956
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
309
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Uml

  1. 1. UML (Unified Modeling Language) Versi 1.7 (Nov 06) Yudi Wibisono [email_address]
  2. 2. Apa UML? <ul><li>Bahasa pemodelan perangkat lunak  notasi untuk mengeskpresikan model </li></ul><ul><li>Analogi: bahasa pemodelan bidang arsitek, sipil: </li></ul>
  3. 3. Apa UML? (lanj) <ul><li>Bahasa pemodelan untuk bidang perangkat lunak: </li></ul>
  4. 4. Apa UML? <ul><li>Latar belakang UML </li></ul><ul><ul><li>90-an, terlalu banyak notasi sehingga membingungkan developer </li></ul></ul><ul><ul><li>Perlu satu bahasa standard: UML 1.0 muncul tahun pada 97. UML 2.0 (2004) </li></ul></ul><ul><li>UML bukan metodologi. </li></ul><ul><li>UML independent terhadap proses, independen terhadap bahasa pemrograman. </li></ul><ul><li>Analogi dengan bahasa manusia  Bahasa dapat digunakan untuk membuat novel, puisi, berita, prosa dst. Bahasa tidak mendikte bagaimana karangan tersebut di buat. </li></ul>
  5. 5. Mengapa menggunakan UML <ul><li>Analogi: mengapa belajar bahasa Inggris? </li></ul><ul><li>Standard notasi untuk software development di berbagai perusahaan  nilai tambah saat wawancara kerja! </li></ul><ul><li>Tersedia banyak tools </li></ul><ul><li>Bahasanya lengkap dan ekspresif. </li></ul>
  6. 6. Elemen UML? <ul><li>13 Diagram (tidak semua harus digunakan!) </li></ul><ul><li>Structure Diagrams: Class Diagram, Object Diagram , Component Diagram, Composite Structure Diagram, Package Diagram, Deployment Diagram.  </li></ul><ul><li>Behavior Diagrams: Use Case Diagram , Activity Diagram , dan State Machine Diagram .  </li></ul><ul><li>Interaction Diagrams: Sequence Diagram , Communication Diagram, Timing Diagram, Interaction Overview Diagram. </li></ul>
  7. 7. Diagram yang umum digunakan di tahap requirement <ul><ul><li>Use case diagram </li></ul></ul><ul><ul><li>Activity diagram </li></ul></ul>
  8. 8. Use Case Diagram (UCD)
  9. 9. Overview Use Case Diagram <ul><li>Diagram yang memperlihatkan relasi antara aktor dan use case di dalam system. </li></ul><ul><li>Umumnya digunakan pada tahap requirement. </li></ul>
  10. 10. Fungsi UCD <ul><li>Memperlihatkan aspek fungsional sebuah sistem (apa yang dapat dikerjakan sistem). </li></ul><ul><li>Memperlihatkan cakupan sistem  batasan sistem </li></ul>
  11. 11. Elemen UCD: Use Case <ul><li>Use Case: </li></ul><ul><ul><li>Aksi yang bermanfaat bagi actor, yang harus disediakan sistem. </li></ul></ul><ul><ul><li>Judul use case: kata kerja </li></ul></ul>
  12. 12. Elemen UCD (Lanj): Actor <ul><ul><li>Orang/organisasi/mesin yang berinteraksi dengan sistem </li></ul></ul><ul><ul><li>Sesama actor tidak saling berinteraksi </li></ul></ul>Actor
  13. 13. Elemen UCD: Relationship <ul><li>Asosiasi antara actor dan use case. </li></ul><ul><li>Asosiasi antara dua use case </li></ul><ul><li>Generalisasi antara dua actor </li></ul><ul><li>Generalisasi antara dua use case </li></ul>
  14. 14. UCD: Relationship (lanj) http://www.agilemodeling.com/images/style/useCaseRelationships.gif Asosiasi Generalisasi Genera-lisasi
  15. 15. UCD:Kotak Batasan System <ul><li>Opsional </li></ul>Kotak Batasan
  16. 16. Use Case: pengunaan <ul><li>Bukan digunakan untuk menggambarkan urutan!  gunakan activity diagram </li></ul>
  17. 17. Activity Diagram
  18. 18. Overview Activity Diagram <ul><li>Fokus terhadap aspek keterurutan aksi. </li></ul><ul><li>Menyerupai flow chart. </li></ul>
  19. 19. Fungsi Activity Diagram <ul><li>Menjelaskan lebih detil use case. </li></ul><ul><li>Menjelaskan bisnis rule yang kompleks. </li></ul><ul><li>Menjelaskan algoritma yang kompleks. </li></ul><ul><li>Pengganti flow chart dan data flow diagram (DFD) </li></ul>
  20. 20. Elemen Activity Diagram action Start point Fork  paralel
  21. 21. Elemen Activity Diagram (2) Branch  percabangan Merge  percabangan selesai Join  aktivitas paralel harus selesai semua baru dilanjutkan End point
  22. 22. Activity Diagram: Swimline Pengelompokan aktivitas yang dilakukan oleh suatu actor actor actor actor
  23. 23. State Machine Diagram http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state2.jpg
  24. 24. Overview State Diagram <ul><li>Mendeskripsikan tingkah laku sistem. </li></ul><ul><li>Fokus terhadap state dan transisinya </li></ul>
  25. 25. Fungsi State Diagram <ul><li>Menjelaskan lebih detil tingkah laku sebuah objek. </li></ul><ul><li>Mirip dengan activity diagram? Perbedaanya? </li></ul>
  26. 26. Elemen State Diagram <ul><li>State: terdiri atas nama state dan aksi </li></ul><ul><li>Transisi (umumnya dengan kondisi) </li></ul>Gambar: http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state0.jpg
  27. 27. Elemen State Diagram:supersate <ul><li>Superstate mencakup beberapa state </li></ul>
  28. 28. State Diagram vs Activity Diagram <ul><li>Tujuan </li></ul><ul><ul><li>Activity diagram  business rule (user friendly) </li></ul></ul><ul><ul><li>State diagram  internal sistem (developer friendly) </li></ul></ul><ul><li>State diagram dapat digunakan untuk menggambarkan activity diagram, tapi tidak sebaliknya. </li></ul><ul><li>State diagram dapat menggambarkan trasisi yang lebih rumit </li></ul>
  29. 29. Class Diagram http://www.agilemodeling.com/images/models/classDiagramInitial.jpg
  30. 30. Overview Class Diagram <ul><li>Elemen terpenting dalam perancangan dan analisis menggunakan OOA dan OOD. </li></ul><ul><li>Memperlihatkan class (atribut dan method) dan relasinya (inheritance, asosiasi, agregasi) </li></ul>
  31. 31. Elemen Class Diagram: Class http://www.agilemodeling.com/images/style/classDiagramAnalysisVsDesign.gif Nama kelas atribut method - private + public # protected
  32. 32. Elemen Class: Asosiasi <ul><li>Multiplicity Indicators: </li></ul><ul><li>0..1, 1 , 0..*, 1..*, 0..N </li></ul><ul><li>Contoh: </li></ul>http://www.agilemodeling.com/images/models/classDiagramAssocationNotation.jpg
  33. 33. Elemen Class: Inheritance <ul><li>Garis dengan segitiga </li></ul>Inheri tance http://www.agilemodeling.com/images/style/classDiagramPersonAddress.gif
  34. 34. Inheritance: contoh lain http://www.agilemodeling.com/images/models/classDiagramInheritance.jpg
  35. 35. Elemen Class: Agregasi dan Composition <ul><li>Agregasi: Objek yang terdiri dari objek lainnya. </li></ul><ul><li>Composition: Lebih ketat dari agregasi </li></ul>agregasi composition STUDENT CLUB
  36. 36. Object Diagram/Instance Diagram BUDI: MAHASISWA AHMAD: MAHASISWA RPL-LANJUT: MATAKULIAH TRANSKRIP BUDI: TRANSKRIP TRANSKRIP AHMAD: TRANSKRIP BASISDATA: MATAKULIAH
  37. 37. Overview Object Diagram <ul><li>Mengambarkan instance dari class (Object) dan interaksinya. </li></ul><ul><li>Menjelaskan lebih lanjut diagram class </li></ul>
  38. 38. Elemen Objek Diagram <ul><li>Objek: Gunakan underline (garis bawah) pada nama objek. </li></ul><ul><li>Format: Nama Objek: Nama Class atau Nama Class saja Contoh: BUDI:MAHASISWA atau : MAHASISWA </li></ul>AHMAD: MAHASISWA :MAHASISWA
  39. 39. Sequence Diagram http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure4.jpg
  40. 40. Sequence Diagram <ul><li>Menggambarkan urutan interaksi antar objek. </li></ul><ul><li>Menggambarkan aspek dinamis dari sistem (bandingkan dengan class diagram dan objek diagram yang menggambarkan aspek statis) </li></ul>
  41. 41. Elemen Sequence Diagram <ul><li>Dua elemen utama: Objek dan Message. </li></ul>
  42. 42. Elemen Sequence: Message ke dirinya sendiri (lanj)
  43. 43. Elemen Sequence Diagram : Guard http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure7.jpg
  44. 44. Elemen Sequence Diagram: Alternative http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure8.jpg
  45. 45. Elemen Sequence Diagram: Loop http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure10_small.jpg

×