Pertemuan ke-5
Pengertian UML Unified Modelling Language (UML) adalah sebuah bahasa yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.
UML
(Unified Modelling Language)
Notasi UML dalam PBO 1.
2.
3.
+ , mengindikasikan deklarasi variabel, class dan method bersifat public. - , mengindikasikan deklarasi variabel, class dan method bersifat private ~, menyatakan deklarasi package.
UNIFIED MODELLING LANGUAGE UML mendefinisikan diagram-diagram berikut ini : use case diagram class diagram behaviour diagram : -- statechart diagram -- activity diagram interaction diagram : -- sequence diagram -- collaboration diagram component diagram deployment diagram
Visualisasi Class Class divisualisasikan dalam UML sebagai kotak persegi dengan 3 ruang:
Nama : identitas kelas Variabel (atribut, state, field): atribut kelas Method (behavior, function, operation) : perilaku kelas
UML
(Unified Modelling Language)
Contoh 1
public class Praktikum2-1 { int p=10; int l=5; public void Luas(){ int LuasP = p*l; System.out.println(“Luas Persegi Panjang: ”+LuasP); } public void Keliling(){ int KelP = 2*(p+l); System.out.println(“Keliling Persegi Panjang: ”+KelP); } public static void main(String [] args){ Praktikum2-1 p = new Praktikum2-1(); p.Keliling(); p.Luas(); } }
UML
(Unified Modelling Language)
Contoh 1
Method Overloading
Method overloading: nama methodnya sama namun beda implementasinya. Perbedaan implementasi: dibedakan oleh parameternya (jumlah parameter, tipe data parameter, urutan parameter)
Contoh 2
Method Overloading pada Constructor // Define the Circle class public class Circle {
// Save as "Circle.java"
// Private variables private double radius;
Kelas Circle memiliki 3 method Constructor.
private String color;
// Constructors (overloaded) public Circle() {
// 1st Constructor
radius = 1.0; color = "red"; } public Circle(double r) {
// 2nd Constructor
radius = r; color = "red"; } public Circle(double r, String c) { // 3rd Constructor radius = r; color = c; } }
Method mana yang dipilih akan disesuaikan dengan parameter yang digunakan sewaktu mencipta objek Circle. Jika tidak ketemu padanannya akan muncul error kompilasi
public vs private
public: class/variabel/method dapat diakses oleh semua objek dalam sistem. private: variabel/method dapat diakses oleh kelas itu sendiri
Pada UML: public dinotasikan dengan + private dinotasikan dengan -
UML
(Unified Modelling Language)
Contoh 3
UML
(Unified Modelling Language) public class Praktikum2-2 { String Nama="Lisa"; String Alamat="Kediri"; public void mahasiswa(){ System.out.println(Nama); System.out.println(Alamat); } }
UML
(Unified Modelling Language) class TampilProgram2-2 { public static void main(String arg[]) { Praktikum2-2 d= new Praktikum2-2(); d.mahasiswa(); } }
Enkapsulasi (Encapsulation)
Enkapsulasi adalah teknik mempaketkan informasi dengan menyembunyikan segala hal yg harus disembunyikan dan menampakkan segala hal yang bisa ditampakkan
Satu class me-enkapsulasi/mempaketkan data dan method/function sehingga class tersebut dapat dipandang sebagai suatu modul Nilai dari variabel menggambarkan kondisinya
(state) Method menggambarkan perilakunya (behavior)
Enkapsulasi (Encapsulation)
Keuntungan Enkapsulasi : 1. 2. 3.
Modul menjadi bersifat independen. Modul menjadi bersifat transparan. Menghindari efek yang diluar perencanaan.
Enkapsulasi (Encapsulation)
Modul menjadi bersifat independen. 1. 2.
Dapat digunakan pada bagian mana pun dari program. Tidak terikat pada bagian tertentu dari program, kecuali bagian di dalam modul tersebut.
Enkapsulasi (Encapsulation)
Modul menjadi bersifat transparan. Jika dilakukan modifikasi pada suatu modul, maka perubahan juga terjadi pada bagian program yang menggunakan modul tersebut.
Enkapsulasi (Encapsulation)
Menghindari efek yang di luar perencanaan. Hanya berinteraksi dengan bagian program lainnya melalui variabel-variabel I/O yang sudah dideklarasikan sebelumnya. Sehingga, Mengurangi adanya hasil imbas pemrosesan yang di luar perencanaan semula
Latihan
Permainan Daduku dimainkan oleh dua pemain. Setiap pemain yang mendapat giliran akan melempar dua dadu bersamaan. Nilai yang muncul pada kedua dadu mempunyai nilai tertentu, seperti di bawah: Kombinasi Skor * Nilai 1 muncul hanya pada satu dadu 100 * Nilai 5 muncul hanya pada satu dadu 50 * Kedua dadu menampilkan nilai 2 200 * Kedua dadu menampilkan nilai 3 150 * Kedua dadu menampilkan nilai 6 250 Salah satu pemain akan dinyatakan menang jika berhasil mengumpulkan nilai lebih dari 1000. Ada berapa class yang terlibat pada permainan ini?
Class yang terlibat pada permainan Daduku
Dadu - sisi : int + Dadu () + getSisi () : int + setSisi (sisi : int) : void + lemparDadu () : void + toString () : String
Pemain - nama : String - nilai : int
+ Pemain (nama:String) + getNama () : String + setNama (nama : String) : void + getNilai () :int + setNilai (skor : int) : void + toString () : String
Latihan
Asumsi: buku dikarang oleh satu pengarang saja. Method toString() that returns "'book-name' by authorname (gender) at email". Gunakan method Author's toString(), yg mengembalikan "author-name (gender) at email".
See u Next Time
Inheritance