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)

println (“Alamat ”+getAlamat()). } public String getNamaPetugas(){ return nama_petugas.println (“No Identitas ”+getNoIdentitas()).alamat_petugas=alamat_petugas. String nama_petugas.println (“Nama ”+getNama()).out. komik[]arrKomik=new komik[50].println (“Id Pelanggan ”+getIdPelanggan()). System.out. } + setAlamatPetugas . String alamat_petugas. pelanggan[]arrPelanggan=new pelanggan[50].id_petugas=id_petugas.out.out.println (“No Telp ”+getNoTelp()). setNamaPetugas(nama_petugas: } String) public String getAlamatPetugas(){ return alamat_petugas. } + setIdPetugas(id_petugas:String) + getNamaPetugas():String public void setNamaPetugas(){ + this. + getIdPetugas():String public String getIdPetugas(){ return id_petugas. } public void setIdPetugas(){ this. System.+ getNoTelp():String + setNoTelp(no_telp:String) } public void getInfo(){ System.out.nama_petugas=nama_petugas. int jum_pelanggan. System. int jum_komik. } } : : : : : + 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. } + getAlamatPetugas():String public void setAlamatPetugas(){ this. transaksi[]arrTransaksi=new transaksi[50]. System. int jum_komik.

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

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

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

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

} .

The adapter hides the adaptee's interface from the client. 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.Structural 1. . Bridge Patern Bridge pattern adalah design pattern yang memisahkan abstraksi dari implementasinya sehingga keduanya bisa berdiri sendiri. Bridge pattern menggunakan enkapsulasi. The object adapter pattern expressed in LePUS3. 2. agregasi. The object adapter pattern expressed in UML. dan bisa menggunakan inheritance untuk memisahkan kewajiban ke masing-masing kelas. Adapter pattern (wrapper pattern) Adapter pattern mentranslasikan interface untuk sebuah kelas menjadi iterface yang kompatibel.

.

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

Sign up to vote on this title
UsefulNot useful