Package diagram digunakan untuk mengelompokkan elemen-elemen seperti kelas dan use case kedalam paket-paket. Diagram ini membantu melihat hubungan dependensi antar paket dan meningkatkan tingkat abstraksi model sistem.
3. 1. Pengenalan Konsep Package Diagram
2. Notasi, Semantik dan Stereotype
pada Packages Diagram
4. • Sebuah software yang dikembangkan dengan sangat
kompleks, biasanya terdiri dari ratusan kelas didalamnya.
• Jika anda adalah seorang programmer, bagaimana Anda
memahaminya?
• Salah satu caranya adalah dengan mengatur kelas tersebut
ke dalam kelompok yang berhubungan secara logis. Cth :
kelompok kelas antarmuka, kelompok kelas utilitas.
• Di UML, kelompok kelas ini dapat dimodelkan dengan
PACKAGE
• Package diagram sering digunakan untuk melihat
depedency antar package.
5. • Package dapat mengatur hampir semua
elemen UML bukan hanya kelas.
• Package juga biasa digunakan untuk
mengelompokkan use case.
• Package diagram merupakan bagian dari view
development, yang memetakan bagaimana
bagian - bagian atau komponen didalam suatu
sistem diorganisasi kedalam modul-modul
• Pada tools UML tidak ada package diagram
• Paket adalah struktur pengelompokan yang
digunakan untuk mengatur hampir semua
elemen UML, tetapi penggunaannya yang
paling umum adalah untuk mengatur kelas
dalam diagram kelas.
6. • Package Diagram memiliki Notasi dan Stereotype yang dapat
digunakan untuk membuat sebuah model. Berikut adalah Stereotype
Umum didalam Package Diagram :
1. PACKAGE (PAKET)
2. ELEMENT VISIBILITY
3. PACKAGE DEPENDENCY
7. • Package (paket) digunakan untuk mendeskripsikan sebuah kelompok yang
didalamnya berisi elemen – elemen yang ada di dalam sistem
• jika package diagram dibuat untuk kebutuhan pengorganisasian kelas, maka
elemen adalah kelas-kelas yang ada didalam sistem.
• Notasi untuk menggabarkan package adalah sebuah simbol berbentuk tab
folder, yang diberikan nama sebagai identitas package tersebut
8. • Ada tiga cara yang bisa digunakan untuk menggambarkan elemen suatu package.
1. Digambar didalam notasi package
2. Digambar diluar notasi package dan dihubungkan dengan sebuah garis [UML 2.0, russ miles]
3. Nested Package.
• Contoh :
Terdapat cara untuk menunjukkan bahwa kelas Kredensial dan IdentityVerifier terkandung dalam security package
CARA 1 CARA 2
9. • Sebuah Package dapat berisi package lainnya.
• Aturan ini dapat digunakan apabila muncul kebutuhan untuk
menyederhanakan penggambaran package diagram dikarenakan sistem
yang dimodelkan terlalu besar.
• Solusinya adalah dengan nested package
• Untuk menggambarkan nested package, cukup menggambarkan sebuah
notasi package (paket) didalam notasi package.
CARA 3
10. • Nested package biasa dipakai pada aplikasi enterprise
• Nested paket pada gambar diatas dapat mengkonsumsi banyak
ruang.
• Ada notasi alternatif yang bisa lebih mudah untuk digunakan.
• Notasi nya adalah dengan packageA :: packageB :: packageC, seperti
contoh gambar dibawah ini.
Flattening nested packages
11. • Cara menggambarkan package di UML tools :
1. Memasukkan nama paket dalam dialog spesifikasi kelas
2. Secara manual mengetikkan kelas ke dalam paket miliknya di
tampilan struktur elemen model.
12. • Elemen dalam package dapat mempunyai sebuah visibility (hak akses) berupa hak akses public
atau hak akses private.
• Elemen yang memiliki hak akses public menandakan dia dapat diakses / digunakan diluar package
tempatnya berasal.
• Elemen yang memiliki hak akses Private menandakan dia hanya dapat diakses / digunakan oleh
elemen didalam package yang sama dari tempatnya berasal.
• Didalam bahasa pemrogaman (mis : java), hak akses dari elemen pada package berkaitan dengan
penggunaan hak akses dari suatu kelas didalam coding. Contoh :
13. • Hak akses Public dapat digambarkan dengan memberikan notasi plus (+) didepan
nama elemennya (kelas).
• Hak akses Private dapat digambarkan dengan memberikan notasi minus (-)
didepan nama elemennya(kelas).
14. • Notasi dependency menunjukan bahwa elemen (kelas) dari suatu package perlu
menggunakan (bergantung pada) elemen (kelas) dari package lainnya.
• Notasi depedency digambarkan dengan sebuah simbol berbentuk garis putus –
putus dengan kepala panah menuju package relasinya.
• Apabila suatu elemen dalam paket A menggunakan elemen dalam paket B,
maka paket A memiliki kebergantungan pada paket B
15. Penggunaan package diagram dalam
UML yang paling umum adalah
membantu memberikan gambaran
tentang organisasi paket – paket
didalam sistem anda dan hubungan
dependensi di antara mereka.
16. • Hubungan dependensi antar packages dapat didetailkan dengan melihat bentuk perilaku saat
relasi antar package terjadi.
• Bentuk dependensi dapat dikelompokan menjadi dua jenis yaitu Import dan access.
Penggunaan Import dan Access dibedakan dengan melihat visibility (hak access) yang
diberikan pada hubungan dependensi
• Import adalah bentuk dependensi dengan hak akses publik, sedangkan Access adalah bentuk
dependensi dengan hak akses private
• Secara default hubungan dependensi adalah import apabila bentuk dependesi tidak
dituliskan didalam diagram.
17. • Apabila bentuk dependensi adalah import, maka
elemen(kelas) yg diimport mempunyai hak akses
publik didalam package yang mengimport nya
• Apabila bentuk dependensi
adalah access, maka elemen yang
diimport akan mempunyai hak
akses private didalam package
yang mengimport nya
18. Hanya elemen dengan hak
akses public yang bisa
digunakan
Contoh Implementasi jika menggunakan
bahasa pemrogaman JAVA
20. • Package Diagram Juga dapat digunakan untuk menyederhanakan Diagram Use Case, Dimana setiap
Use Case yang relevan satu sama lain dapat dikelompokan kedalam sebuah package.
• Konsep untuk pengelompokan Use Case kedalam Package tidak jauh berbeda dengan membuat
package untuk mengelompokan kelas
• Dengan memanfaatkan Diagram package, tingkat abstraksi dari Diagram Use Case menjadi
lebih tinggi dalam memandang sebuah sistem tampa melihat seluruh detail yang bisa
dikerjakan oleh sistem.
21. Dengan menaikan level abstraksi Use Case Diagram ke tingkat yang
lebih tinggi, dapat membantu Anda untuk melihat lebih jelas hubungan
aktor dengan apa yang dilakukan didalam sistem.