~:Catatan Belajar MazHel:~

Contoh Java Template Pattern

Posted in java by m42h31 on 1 Agustus 2008

Sungguh mengasyikkan belajar java, betapa tidak ia terkadang membuatku gk bisa tidur karena asyik ngoprek. apalagi klu udah sampai belajar design pattern, wuuuh…bener-bener mantap (this is the real OOP menurutku..hehehe..). salah satu metoda didalamnya adalah template pattern butuh waktu khusus (bertapa di gua sampai brewokan) diriku untuk bener-bener memahami konsepsi dan filosofinya yang lumayan mak-nyooosss…sebetulnya design pattern untuk memahami konsepsi dan filosofi keseluruhannya juga Top Markotop Mak-nyooos (pak bondan,red)..tapi insya Allah klu sudah mengerti konsepnya kesananya jadi sedikit mudah kok (sedikit mudah, banyak sulitnya..wekekeke).

singkat kata berikut adalah contoh Source Code sederhana metoda Template Pattern yang saya tulis menggunakan java  :

/*
contoh template pattern
author m42h31
param none
*/

public abstract class Motor{
protected String noPol;
protected static String merek,model;
protected final static int A1=100,A2=10;
protected final static int B1=1000,B2=100;
protected String warna=”Black”;
protected String jenisPembayaran=”Tunai”;
private static float bbm=0.06f;
private static int jml=0;
private static int tahun=2004;
private static int cc=A1;
private static int hargaPokok;
private static int bunga;
protected static int hargaBayar;

public Motor(){}

public Motor(String np,String mrk,String mdl){
noPol=np;
merek=mrk;
model=mdl;
jml++;
}

public void tahunPertama(){
System.out.println(“Tahun Produksi :”+tahun+”,Jumlah Motor : “+jml);
System.out.println(“=============================”);

}

public void nextTahun(){
hargaPokok+=100;
tahun++;
tahunPertama();

}

public void head(){
System.out.println(“Nomer Polisi : “+getNoPol());
System.out.println(“Merek : “+getMerek());
System.out.println(“Model : “+getModel());
System.out.println(“Warna : “+getWarna());
System.out.println(“JenisPembayaran : “+jenisPembayaran);
}

public abstract void harga();

public void tail(){
System.out.println(“BBM : “+bbm+” liter/km”);
System.out.println(“Besaran CC : “+cc+” cc”);
System.out.println(“============================”);
}

public void cetak(){
head();
harga();
tail();
}

public static void tambahCc(){
cc+=A2;
bbm-=0.01f;
hargaPokok+=500;
}

public void setWarna(String wr){
warna=wr;
}
public void setJenisPembayaran(String jp){
jenisPembayaran=jp;
}

public void setHargaPokok(int hp){
hargaPokok=hp;
}

public void setBunga(int bg){
bunga=bg;
}

public int getHargaPokok(){
return hargaPokok;
}

public int getBunga(){
return bunga;
}

public int getHargaBayar(){
return hargaBayar=hargaPokok+bunga;
}

public String getNoPol(){
return noPol;
}

public String getMerek(){
return merek;
}

public String getModel(){
return model;
}
public String getWarna(){
return warna;
}

}

public class Tunai extends Motor{
public Tunai(String np,String mrk,String mdl){
super(np,mrk,mdl);
}
public String getNopol(){
return noPol;
}
public String getMerek(){
return merek;
}
public String getModel(){
return model;
}
public void harga(){
System.out.println(“Harga Pokok : “+getHargaPokok());
System.out.println(“Harga Bayar : “+getHargaBayar());
}

}

public class Kredit extends Motor{
public Kredit(Tunai tun){
noPol=tun.getNoPol();
merek=tun.getMerek();
model=tun.getModel();
warna=tun.getWarna();
setBunga(B2);
tun.hargaBayar=getHargaPokok()+getBunga();
setJenisPembayaran(“Kredit”);
}
public void harga(){
System.out.println(“Harga Pokok : “+getHargaPokok());
System.out.println(“Bunga :”+getBunga());
System.out.println(“Harga Bayar : “+getHargaBayar());
}
}

class testMotor{
public static void main(String []args){
Tunai vg=new Tunai(“D3154FA”,”Yamaha”,”Vega”);
vg.setHargaPokok(10000);
vg.setWarna(“biru”);
vg.tahunPertama();
vg.cetak();
vg.nextTahun();
vg.tambahCc();
vg.cetak();

Tunai sp=new Tunai(“D4353GD”,”Honda”,”Supra”);
sp.setHargaPokok(14000);
sp.setWarna(“merah”);
sp.tahunPertama();
sp.cetak();

Kredit spk=new Kredit(sp);
spk.cetak();
spk.tambahCc();
spk.cetak();

spk.nextTahun();
spk.tambahCc();
spk.cetak();
}
}

contoh Source Code Template Pattern lainnya  temen-temen bisa lihat disini.

2 Tanggapan

Subscribe to comments with RSS.

  1. Netgear wndr3700 said, on 5 Desember 2012 at 00:06

    I do trust all of the ideas you’ve presented on your post. They are really convincing and will certainly work. Nonetheless, the posts are very short for starters. May just you please prolong them a bit from next time? Thank you for the post.

  2. Aksesoris sparepart motor said, on 17 Desember 2013 at 04:36

    terima kasih untuk template nya😀


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: