Anda di halaman 1dari 9

Pelanggan Public class pelanggan {

- id_pelanggan : String private String id_pelanggan;


- nama : String private String nama;
- no_identitas: String private String no_identitas;
- alamat : String private String alamat;
- no_telp : String private String no_telp;
+ Pelanggan (id_pelanggan,nama, Public pelanggan (String id_pelanggan, String nama, String
no_identitas,alamat,no_telp: 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;
}

+ getIdPelanggan():String public String getIdPelanggan(){


return id_pelanggan;
}

+ setIdPelanggan(id_pelanggan : String) public void setIdPelanggan(){


this.id_pelanggan=id_pelanggan;
}

+ getNama():String public String getNama(){


return nama;
}

+ setNama(nama: String) public void setNama(){


this.nama=nama;
}

+ getNoIdentitas():String public String getNoIdentitas(){


return no_identitas;
}

+ setNoIdentitas(no_identitas:String) public void setNoIdentitas(){


this.no_identitas=no_identitas;
}

+ getAlamat():String public String getAlamat(){


return alamat;
}

+ setAlamat(alamat:String) public void setAlamat(){


this.alamat=alamat;
}
+ getNoTelp():String public String getNoTelp(){
return no_telp;
}
+ setNoTelp(no_telp:String) public void setNoTelp(){
this.no_telp=no_telp;
}

+ getInfo():void public void getInfo(){


System.out.println (“Id Pelanggan : ”+getIdPelanggan());
System.out.println (“Nama : ”+getNama());
System.out.println (“No Identitas : ”+getNoIdentitas());
System.out.println (“Alamat : ”+getAlamat());
System.out.println (“No Telp : ”+getNoTelp());
}
}

Petugas public class petugas {


- Id_petugas : String private String id_petugas;
- nama_petugas : String private String nama_petugas;
- alamat_petugas : String private String alamat_petugas;
- pelanggan []: ListPelanggan private pelanggan[]arrPelanggan=new pelanggan[50];
- komik[]: ListKomik] private komik[]arrKomik=new komik[50];
- transaksi[]:ListTransaksi private transaksi[]arrTransaksi=new transaksi[50];
- jum_pelanggan: int private int jum_pelanggan;
- jum_komik : int private int jum_komik;
- jum_transaksi : int private int jum_komik;
+ getIdPetugas():String public String getIdPetugas(){
return id_petugas;
}

+ setIdPetugas(id_petugas:String) public void setIdPetugas(){


this.id_petugas=id_petugas;
}

+ getNamaPetugas():String public String getNamaPetugas(){


return nama_petugas;
}

+ setNamaPetugas(nama_petugas:String) public void setNamaPetugas(){


this.nama_petugas=nama_petugas;
}

+ getAlamatPetugas():String public String getAlamatPetugas(){


return alamat_petugas;
}

+ setAlamatPetugas public void setAlamatPetugas(){


(alamat_petugas:String) this.alamat_petugas=alamat_petugas;
}
+ void cetakArrayTransaksi() public void cetakArrayTransaksi (){
for (int i=0; i<jum_transaksi; i++){
arrTransaksi[i].getInfo();
}
}

+ void getInfo() public void getInfo(){


System.out.println (“Id Petugas : ”+getIdPetugas());
System.out.println (“Nama Petugas : ”+getNamaPetugas());
System.out.println (“No Alamat Petugas : ”+getAlamatPetugas());
}
}

komik public class komik (){


- id_komik : String private String id_komik;
- status_sewa: String private String status_sewa;
- judul : String private String judul;
- harga_sewa : number private harga_sewa: number;
+ komik (id_komik, status_sewa, judul: public komik (String id_komik, String status_sewa, String judul,
String, harga_sewa: number) number harga_sewa){
this.id_komik=id_komik;
this.status_sewa=status_sewa;
this.judul=judul;
this.harga_sewa=harga_sewa;
}

+ getIdKomik():String public String getIdKomik(){


return id_komik;
}

+ setIdKomik(id_komik:String) public void setIdKomik(){


this.id_komik=id_komik;
}

+ getStatusSewa():String public String getStatusSewa(){


return status_sewa;
}

+ setStatusSewa(id_komik:String) public void setStatusSewa(){


this.status_sewa=status_sewa;
}

+ getJudul():String public String getJudul(){


return judul;
}

+ setJudul(id_komik:String) public void setJudul(){


this.judul=judul;
}

+ getHargaSewa():String public String getHargaSewa(){


return harga_sewa;
}

+ setHargaSewa(id_komik:String) public void setHargaSewa(){


this.harga_sewa=harga_sewa;
}

+ void addPelanggan(pelanggan) public void addPelanggan(pelanggan p){


arrPelanggan[jum_pelanggan]=p;
jum_pelanggan++;
}

+ void cetakArrayPelanggan() public void cetakArrayPelanggan(){


for(int i=0; i<jum_pelanggan; i++){
arrPelanggan[i].getInfo();
}
}

+ void addProduk (produk) public void addProduk (produk p1){


arrProduk[jum_produk] = p1;
jum_produk++;
}

+ void cetakArrayProduk() public void cetakArrayProduk(){


for(int i=1; i<jum_produk; i++){
arrProduk[i].getInfo();
}
}

+ void addTransaksi(transaksi) public void addTransaksi(transaksi t){


arrTransaksi[jum_transaksi] = t;
jum_transaksi++;
}

+ void getInfo() public void getInfo(){


System.out.println (“Judul komik : ”+getJudul());
System.out.println (“Id Komik : ”+getIdKomik());
System.out.println (“Harga Sewa : ”+getHargaSewa());
}
}

Transaksi public class transaksi (){


- id_transaksi: String private String id_transaksi;
- denda: float private float denda;
-denda_sewa:float private float denda_sewa;
+ transaksi (id_tansaksi: String, denda, public transaksi (String id_transaksi, float denda, float denda_sewa)
denda_sewa:float) {
this.id_transaksi=id_transaksi;
this.denda=denda;
this.denda_sewa=denda_sewa;
}

+ getIdTransaksi():String public String getIdTransaksi(){


return id_transaksi;
}

+ setIdTransaksi(id_transaksi:String) public void setIdTransaksi(){


this.id_transaksi=id_transaksi;
}

+ getDenda():float public float getDenda(){


return denda;
}

+ setDenda(denda:float) public void setDenda(){


this.denda=denda;
}

+ getTotalDenda():float public float getTotalDenda(){


return total_denda;
}

+ setTotalDenda(total_denda:float) public void setTotalDenda(){


this.total_denda=total_denda;
}

+ void getInfo() public void getInfo(){


System.out.println (“Id komik : ”+getIdKomik());
System.out.println (“Id Denda : ”+getDenda());
System.out.println (“Total Denda : ”+getTotalDenda());
}
}
Contoh Design Pattern

Creational

1. Object Pool
merupakas set objek yang diinisialisasi dan siap digunakan. Klien akan memanggil objek yang sudah
diinisialisasi di pool dan melakukan aksi terhadap objek yang sudah dipanggil. Ketika klien sudah selesai
melakukan aksi, objek akan dikembalikan ke pool. Objek pool memberikan bantuan yang signifikan
untuk mengurangi biaya inisialisasi yang tinggi. Hal ini karena penginisialisasian objek sudah dilakukan
di awal dan objek bisa dipakai lagi setelah digunakan sehingga biaya lebih hemat.

Contoh class diagram objek pool

2. Lazy Initialization
Lazy initialization adalah taktik untuk menunda pembentuka objek, perhitungan nilai objek, atau
beberapa proses yang 'mahal' sampai saat pertama objek itu dibutuhkan.
Biasanya lazy initialization dipenuhi dengan mengelola bendera indikasi ketika proses akan dilakukan.
Bendera indikasi digunakan untuk menandai objek bila akan digunakan.

berikut contoh pada Java


public class Fruit {

private static final Map<String,Fruit> types = new HashMap<String, Fruit>();


private final String type;

// using a private constructor to force use of the factory method.


private Fruit(String type) {
this.type = type;
}

/**
* Lazy Factory method, gets the Fruit instance associated with a
* certain type. Instantiates new ones as needed.
* @param type Any string that describes a fruit type, e.g. "apple"
* @return The Fruit instance associated with that type.
*/
public static synchronized Fruit getFruit(String type) {
if(!types.containsKey(type)) {
types.put(type, new Fruit(type)); // Lazy initialization
}
return types.get(type);
}

}
Structural

1. Adapter pattern (wrapper pattern)


Adapter pattern mentranslasikan interface untuk sebuah kelas menjadi iterface yang kompatibel.
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 UML. The adapter hides the adaptee's interface from the client.

The object adapter pattern expressed in LePUS3.

2. Bridge Patern
Bridge pattern adalah design pattern yang memisahkan abstraksi dari implementasinya sehingga
keduanya bisa berdiri sendiri. Bridge pattern menggunakan enkapsulasi, agregasi, dan bisa
menggunakan inheritance untuk memisahkan kewajiban ke masing-masing kelas.
Behavorial

1. Command Pattern
Command pattern adalah design pattern yang objeknya digunakan untuk menampilkan dan enkapsulasi
semua informasi yang dibutuhkan untuk memanggil method di waktu kemudian. Informasinya terdiri
dari nama method, objek yang memiliki method, dan nilai parameter method.

2. Interpreter Pattern
interpreter pattern adalah design pattern yang partikular. Interpreter menspesifikasikan cara
mengevaluasi kalimat dalam sebuah bahasa. Ide dasarnya adalah memiliki kelas untuk tiap simbol
(terminal atau nonterminal) di bahasa komputer yang terspesialisasi.

Anda mungkin juga menyukai