P EMETAAN U ML KE DALAM J AVA E. Haodudin Nurkifli Universitas Ahmad Dahlan Pertemuan
E LEMEN UML YANG DIPETAKAN KE JAVA Kelas Paket Interface Komponen Relasi Notasi
K ELAS Nama kelas menjadi nama kelas dalam struktur kode pada java Atribut-atribut kelas menjadi koresponden dengan variabel-variabel instan pada java Operasi kelas menjadi metod pada java Visibility (+) sebagai tanda public (-) sebagai tanda private (#) sebagai tanda private
P EMETAAN K ELAS UML KE J AVA UMLJava public class Pegawai { private String PegawaiID; private String Nama; private String Alamat; private String NomorKTP; public void Promosi(String Pegwai_ID) { } public void Mutasi() { } public double hitungGaji() { }
P AKET Paket merupakan mekanisme pengelompokan secara umum Paket dapat diterjemahkan secara langsung dalam java Paket berisi Paket-Paket Kelas-Kelas Paket dan Kelas
P EMETAAN PAKET UML KE J AVA UMLJAVA Package Paket_B public class Pegawai { … }
I NTERFACE Interface : Kumpulan operasi-operasi layanan dari sebuah kelas. Interface dapat diterjemahkan secara langsung dalam java
P EMETAAN I NTERFACE UML KE JAVA UMLJAVA public interface Orang { public String ambilAlamat() { }
K OMPONEN Komponen menunjukan modul fisik dari perangkat lunak atau berkas fisik Komponen jenis kode sumber dapat diterjemahkan langsung dalam bahas pemrograman Komponen secara umum mempunyai dua bentuk : Komponen untuk runtime (.exe dll) Komponen untuk kode sumber bahas pemrograman (.java,.cpp,.h dll)
P EMETAAN KOMPONEN UML KE J AVA UMLJAVA //Source file D:\\Data\Pegawai.java
R ELASI Asosiasi Agregasi Dependensi Generalisasi Realiasi Anotasi
A SOSIASI Ada dua Asosiasi biasa Asosiasi dua arah ( bidirectional ) biasanya tanpa anak panah. Asosiasi satu arah ( undirectional ) Penggunaan konsep multiplicity
A SOSIASI DUA ARAH ( B IDIRECTIONAL ) UMLJAVA public class Pegawai { … Public Departemen theDepartemen; … } public class Departemen { … Public Pegawai thePegawai; … }
A SOSIASI S ATU ARAH ( U NDIRECTIONAL ) UML JAVA public class Pegawai { … Public Departemen theDepartemen; … } public class Departemen { … }
A SOSIASI DENGAN M ULTIPLICITY ( ONE TO MANY ) UMLJAVA public class Pegawai { … Public Departemen theDepartemen; … } public class Departemen { … Public Pegawai thePegawai[]; … }
Keterangan One diisi departemen dan many diisi pegawai Ada beberapa attribut instan bertipe pegawai dibuat dideklarasi kelas departemen hanya satu attribut instan yang bertipe departemen yang dibuat dideklarasi kelas pegawai Untuk menyatakan sekelompok attribut dalam pemrograman dapat digunakan tipe larik (array). Sehingga attribut instan kelas pegawai pada deklarasi kelas departemen digunakan larik.
A SOSIASI DENGAN MULTIPLICITY ONE TO ONE UMLJAVA public class Pegawai { … Public Departemen theDepartemen; … } public class Departemen { … Public Pegawai thePegawai; … }
Keterangan Asosiasi dengan multiplicity one to one akan menghasilkan pemetaan yang dengan tidak diberikan multiplicity pada relasi dua buah kelas Relasi yang tidak diberikan nilai multiplicity mempunyai default one to one
A SOSIASI DENGAN MULTIPLICITY MANY TO MANY UMLJAVA public class Pegawai { … Public Departemen theDepartemen[]; … } public class Departemen { … Public Pegawai thePegawai[]; … }
Keterangan Relasi many to many mengharuskan ada sekelompok instan pada masing masing kelas yang berelasi. Beberapa attribut instan yang bertipe pegawai yang dibuat dideklarasi kelas Departemen Beberapa attribut instan yang bertipe departemen yang dibuat dideklarasi kelas pegawai Kedua attribut instan tersebut dibuat dengan larik (array).
R EFLEKSIF UMLJAVA public class Pegawai { … Public Pegawai thePegawai[]; … } -Pembuatan attribut thepegawai[]di dalam kelas itu sendiri -Menggunakan konsep larik
A GREGASI Relasi yang merepresentasikan hubungan “keseluruhan” dan “sebagian” antar dua buah kelas. Berada pada landasan konseptual Pada java agregasi dan asosiasi mempunyai struktur yang sama. Agragasi berupa relasi satu arah ( undirectional )
A GREGASI UML KE J AVA UMLJAVA public class Mobil { … Public Roda theRoda[]; … } public class Roda{ … }
D EPENDENSI Dependensi diterjemahkan ke suatu tipe pengacuan ke kelas atau obyek yang tidak ada lingkup instan. Pengacuan diperoleh lewat pemanggilan method atau pengacuan pada statik kelas dimana instan kelas tidak ada
D EFENDENSI UML KE J AVA UMLJAVA public class Pegawai { public double hitungGaji(Gaji thegaji) {... } public class Gaji {... }
G ENERALISASI Hubungan antar elemen umum ke elemen yang lebih spesifik Generalisasi pada uml dipetakan pada pewarisan Pewarisan dijava dinyatakan dengan kata kunci extend
GENERALISASI UML KE JAVA UMLJAVA public class Pegawai { … } Public class PegawaiTetap extends Pegawai { … }
R EALISASI Relasi antar interface yang mendefiniskan operasi-oprasi dan sebuah kelas yang mengimplementasikan operasi-operasi tersebut. Dalam java realisasi ditrasnlasikan dengan menggunakan kata kunci implement
R EALISASI UML KE JAVA UMLJAVA Public class KelasB implements InterfaceA{ ….. }
A NOTASI Anotasi dipetkan menjadi komentar dalam java Notes dalam UML menjadi elemen struktural Catatan dapat diletakan dalam elemen-elemen lain dan dapat diletakan dalam diagram
A NOTATION UML KE JAVA UMLJAVA //* komentar ini hanya sekeda contoh saja */