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)

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

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

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

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

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

} .

Bridge pattern menggunakan enkapsulasi. The object adapter pattern expressed in UML. Adapter pattern (wrapper pattern) Adapter pattern mentranslasikan interface untuk sebuah kelas menjadi iterface yang kompatibel. . 2. The object adapter pattern expressed in LePUS3. 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. agregasi. 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. dan bisa menggunakan inheritance untuk memisahkan kewajiban ke masing-masing kelas.Structural 1.

.

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

Sign up to vote on this title
UsefulNot useful