preload
Feb 07
int x = (int) 76543.21
byte a = (byte) (7 + 10)
short b = (short) 158

Casting menurut saya adalah cara kita berkata kepada compiler seperti ini “udah lah compiler, aku ngerti kok yang aku lakuin. udah kamu tenang aja!!!”.
He…he.. begitulah kira-kira yang terlintas di benak saya ketika melakukan casting.

Feb 07

Abstract Factory(Pabrikasi) Pattern

Abstract Factory pattern adalah pattern yang digunakan untuk memproduksi/membuat/menghasilkan(tapi kalau saya lebih prefer “memilih”) suatu class dari opsi beberapa class berdasarkan kriteria(argument) yang ada.

contoh kasus:
Banyak orang luar negeri yang menggunakan format standar dalam penulisan nama seperti ini namaBelakang, namaDepan sedangkan kita menggunakan format standar seperti ini namaDepan namaBelakang.
Lalu disini kita memiliki form pengisian nama(hanya memiliki satu baris) yang kemungkinan akan diisi oleh orang luar negeri atau seperti kita.
goal:
mendapatkan namaDepan dan namaBelakang dari contoh kasus di atas.

class Nama {
     protected String namaDepan;
     protected String namaBelakang;
     String getNamaDepan() {
     return namaDepan;
     }
     String getNamaBelakang() {
          return namaBelakang;
     }
}
class IndonesiaNaming extends Nama {
     IndonesiaNaming(String entry) {
          int i = entry.lastIndexOf(' ');
          if(i>0) {
          namaDepan = entry.substring(0, i).trim();
          namaBelakang = entry.substring(i+1).trim();
     }
          else {
               namaDepan = "";
               namaBelakang = entry;
          }
     }
}
class WesternNaming extends Nama {
     WesternNaming(String entry) {
          int i = entry.lastIndexOf(',');
          if(i>0){
               namaDepan = entry.substring(i+1).trim();
               namaBelakang = entry.substring(0, i).trim();
          }
          else {
               namaDepan = "";
               namaBelakang = entry;
          }
     }
}
class NamingFactory {
     Nama getNama(String s){
          int i = s.indexOf(',');
          if(i>0){
               return new WesternNaming(s);
          }
          else {
               return new IndonesiaNaming(s);
          }
     }
}
//setelah itu kita dapat mencobanya dengan menggunakan contoh penerapan di bawah ini:
public class TestFactoryPattern {
     public static void main(String[] args) {
          NamingFactory pabrikNama = new NamingFactory();
          Nama yourFriend = pabrikNama.getNama("yourfriendslastname, yourfriendsfirstname");
          System.out.println(yourFriend.namaDepan);
          System.out.println(yourFriend.namaBelakang);
          Nama temanSaya = pabrikNama.getNama("Gangsar SwaPurba");
          System.out.println(temanSaya.namaDepan);
          System.out.println(temanSaya.namaBelakang);
      }
}

So, menurut hemat saya, abstract factory pattern digunakan apablila kita “bingung” ingin “me-return” class yang mana dari beberapa pilihan class yang ada, atau dengan kata lain class yang mana yang harus kita “return” berdasarkan dari argument yang ada dan hasil yang dikeluarkan adalah sudah di kategorikan.

Tagged with:
Jan 29

kenapa tiba2 ketika aku ketik sun.com di browser kok langsung nge-redirect ke websitenya oracle…???aneh…???apa ada yang salah dengan tanganku ini?!!!!!hah…ternyata tidak, sun sudah dibeli oleh oracle.

aku sudah mendengar kabar ini, kalo ga salah, 1/2 tahunan yang lalu kalau ada rencana oracle bakal membeli sun tapi belum terealisasi. “ah, kemana aja aku ini, sampe berita yang ’sangat menghebohkan’ untuk kaum it-ers ini ngga aku dengar”.

ahhhh… aku ngga tau deh, apa dampaknya buat para programmer java nantinya.

oracle sun

oracle sun