Pelanggan id_pelanggan : String nama : String no_identitas: String alamat : String no_telp : String

Public class pelanggan { private private private private private String String String String String id_pelanggan; nama; no_identitas; alamat; no_telp;

+ Pelanggan (id_pelanggan,nama, no_identitas,alamat,no_telp: String)

Public pelanggan (String id_pelanggan, String nama, String no_identitas, String alamat, String no_telp){ this.id_pelanggan = id_pelanggan; this.nama = nama; this.no_identitas = no_identitas; this.alamat = alamat; this.no_telp = no_telp; } public String getIdPelanggan(){ return id_pelanggan; }

+ getIdPelanggan():String

public void setIdPelanggan(){ this.id_pelanggan=id_pelanggan; + setIdPelanggan(id_pelanggan : } String) public String getNama(){ return nama; } + getNama():String public void setNama(){ this.nama=nama; } + setNama(nama: String) public String getNoIdentitas(){ return no_identitas; } + getNoIdentitas():String public void setNoIdentitas(){ this.no_identitas=no_identitas; } + setNoIdentitas(no_identitas:Strin public String getAlamat(){ g) return alamat; } + getAlamat():String public void setAlamat(){ this.alamat=alamat; } public String getNoTelp(){ return no_telp; } public void setNoTelp(){ this.no_telp=no_telp;

+ setAlamat(alamat:String)

} public void setIdPetugas(){ this.out. System.println (“Alamat ”+getAlamat()). } + setIdPetugas(id_petugas:String) + getNamaPetugas():String public void setNamaPetugas(){ + this.alamat_petugas=alamat_petugas.println (“No Telp ”+getNoTelp()).nama_petugas=nama_petugas.out. int jum_komik. setNamaPetugas(nama_petugas: } String) public String getAlamatPetugas(){ return alamat_petugas. System.println (“No Identitas ”+getNoIdentitas()). String nama_petugas. } public String getNamaPetugas(){ return nama_petugas.+ getNoTelp():String + setNoTelp(no_telp:String) } public void getInfo(){ System. String alamat_petugas.println (“Id Pelanggan ”+getIdPelanggan()). } } : : : : : + getInfo():void Petugas Id_petugas : String nama_petugas : String alamat_petugas : String pelanggan []: ListPelanggan komik[]: ListKomik] transaksi[]:ListTransaksi jum_pelanggan: int jum_komik : int jum_transaksi : int public class petugas { private private private private private private private private private String id_petugas.id_petugas=id_petugas. transaksi[]arrTransaksi=new transaksi[50]. int jum_komik.out. + getIdPetugas():String public String getIdPetugas(){ return id_petugas. System.out.out. pelanggan[]arrPelanggan=new pelanggan[50]. } + setAlamatPetugas . } + getAlamatPetugas():String public void setAlamatPetugas(){ this. int jum_pelanggan. System. komik[]arrKomik=new komik[50].println (“Nama ”+getNama()).

} public void setStatusSewa(){ this. public komik (String id_komik.out.out. judul: String. } } + void getInfo() komik id_komik : String status_sewa: String judul : String harga_sewa : number public class komik (){ private private private private String id_komik. harga_sewa: String judul. number harga_sewa){ number) this.println (“No Alamat Petugas : ”+getAlamatPetugas()). } } public void getInfo(){ System.id_komik=id_komik.judul=judul. String status_sewa.(alamat_petugas:String) + void cetakArrayTransaksi() public void cetakArrayTransaksi (){ for (int i=0.status_sewa=status_sewa. i<jum_transaksi.id_komik=id_komik. String status_sewa. + komik (id_komik. harga_sewa: number. this. status_sewa. String judul.status_sewa=status_sewa. } public void setIdKomik(){ this. } public void setJudul(){ + setIdKomik(id_komik:String) + getStatusSewa():String + setStatusSewa(id_komik:String) + getJudul():String . this. } + getIdKomik():String public String getIdKomik(){ return id_komik.harga_sewa=harga_sewa. System. this. System. } public String getStatusSewa(){ return status_sewa.getInfo(). i++){ arrTransaksi[i].out. } public String getJudul(){ return judul.println (“Nama Petugas : ”+getNamaPetugas()).println (“Id Petugas : ”+getIdPetugas()).

} } : ”+getJudul()).judul=judul. } } public void addProduk (produk p1){ arrProduk[jum_produk] = p1. i<jum_produk. + setJudul(id_komik:String) } public String getHargaSewa(){ return harga_sewa. jum_pelanggan++.this.println (“Judul komik System. : : + getHargaSewa():String + setHargaSewa(id_komik:String) + void addPelanggan(pelanggan) + void cetakArrayPelanggan() + void cetakArrayProduk() + void getInfo() Transaksi .out. } + void addProduk (produk) public void cetakArrayProduk(){ for(int i=1.println (“Harga Sewa ”+getHargaSewa()).denda: float public class transaksi (){ private String id_transaksi. } public void setHargaSewa(){ this. } public void addPelanggan(pelanggan p){ arrPelanggan[jum_pelanggan]=p. System. } + void addTransaksi(transaksi) public void getInfo(){ System. jum_produk++.id_transaksi: String .harga_sewa=harga_sewa.getInfo(). . jum_transaksi++. i++){ arrProduk[i].out.getInfo(). } public void cetakArrayPelanggan(){ for(int i=0. private float denda.println (“Id Komik ”+getIdKomik()). i++){ arrPelanggan[i].out. i<jum_pelanggan. } } public void addTransaksi(transaksi t){ arrTransaksi[jum_transaksi] = t.

this.id_transaksi=id_transaksi. denda. } public String getIdTransaksi(){ return id_transaksi. } public void setTotalDenda(){ this.out.out. } public float getDenda(){ return denda.-denda_sewa:float + transaksi (id_tansaksi: String. System.id_transaksi=id_transaksi.println (“Id komik ”+getIdKomik()). } public float getTotalDenda(){ return total_denda. this. float denda_sewa){ this.denda=denda. float denda. denda_sewa:float) private float denda_sewa. public transaksi (String id_transaksi. } public void setIdTransaksi(){ this. } } : : : + getIdTransaksi():String + setIdTransaksi(id_transaksi:Strin g) + getDenda():float + setDenda(denda:float) + getTotalDenda():float + setTotalDenda(total_denda:float) + void getInfo() .denda_sewa=denda_sewa.total_denda=total_denda.denda=denda.println (“Total Denda ”+getTotalDenda()). } public void getInfo(){ System. System. } public void setDenda(){ this.out.println (“Id Denda ”+getDenda()).

gets the Fruit instance associated with a * certain type.get(type). Biasanya lazy initialization dipenuhi dengan mengelola bendera indikasi ketika proses akan dilakukan. } . Fruit>(). Contoh class diagram objek pool 2.containsKey(type)) { types. perhitungan nilai objek. Instantiates new ones as needed. // Lazy initialization } return types. Object Pool merupakas set objek yang diinisialisasi dan siap digunakan.type = type.Contoh Design Pattern Creational 1. objek akan dikembalikan ke pool. berikut contoh pada Java public class Fruit { private static final Map<String. new Fruit(type)). private final String type.g. Bendera indikasi digunakan untuk menandai objek bila akan digunakan. Objek pool memberikan bantuan yang signifikan untuk mengurangi biaya inisialisasi yang tinggi. "apple" * @return The Fruit instance associated with that type. Klien akan memanggil objek yang sudah diinisialisasi di pool dan melakukan aksi terhadap objek yang sudah dipanggil. e. Lazy Initialization Lazy initialization adalah taktik untuk menunda pembentuka objek. */ public static synchronized Fruit getFruit(String type) { if(!types. } /** * Lazy Factory method. Ketika klien sudah selesai melakukan aksi.put(type. atau beberapa proses yang 'mahal' sampai saat pertama objek itu dibutuhkan. private Fruit(String type) { this. * @param type Any string that describes a fruit type.Fruit> types = new HashMap<String. // using a private constructor to force use of the factory method. Hal ini karena penginisialisasian objek sudah dilakukan di awal dan objek bisa dipakai lagi setelah digunakan sehingga biaya lebih hemat.

} .

Bridge pattern menggunakan enkapsulasi. Adapter pattern (wrapper pattern) Adapter pattern mentranslasikan interface untuk sebuah kelas menjadi iterface yang kompatibel. 2. agregasi.Structural 1. Bridge Patern Bridge pattern adalah design pattern yang memisahkan abstraksi dari implementasinya sehingga keduanya bisa berdiri sendiri. The adapter hides the adaptee's interface from the client. dan bisa menggunakan inheritance untuk memisahkan kewajiban ke masing-masing kelas. Sebuah adapter mengizinkan kelas-kelas untuk bekerja sama yang pada umumnya kelas-kelas tersebut tidak bisa bekerja karena interface tidak kompatibel dengan menyediakan interfacenya ke klien sambil menggunakan interfaace yang sebenarnya. The object adapter pattern expressed in LePUS3. The object adapter pattern expressed in UML. .

.

objek yang memiliki method. dan nilai parameter method. Command Pattern Command pattern adalah design pattern yang objeknya digunakan untuk menampilkan dan enkapsulasi semua informasi yang dibutuhkan untuk memanggil method di waktu kemudian. Ide dasarnya adalah memiliki kelas untuk tiap simbol (terminal atau nonterminal) di bahasa komputer yang terspesialisasi. Interpreter Pattern interpreter pattern adalah design pattern yang partikular. . Interpreter menspesifikasikan cara mengevaluasi kalimat dalam sebuah bahasa.Behavorial 1. 2. Informasinya terdiri dari nama method.

Sign up to vote on this title
UsefulNot useful