Archive

Posts Tagged ‘object oriented’

The Law of Demeter (LoD)

February 5, 2009 1 comment

Law of demeter merupakan style design di oop. Intinya adalah “principle of least knowledge”. Apaan tuh. Mengetahui sesedikit mungkin tentang object yg digunakan di dalam method. Contohnya

public class Project 
{
      public void doSomething() 
     {
          Employee e = new Employee();
          .....
     }
}

jadi kelas project harus mengetahui sesedikit mungkin mengenai kelas employee. Mengetahui apa ? Strukturnya tentu saja. Dengan cara apa emang kita tau struktur employee. Dengan cara kita ngakses property dari employee dan subpartnya. Subpart ini apa maksudnya ? Subpart dari employee. Maksudnya kita ngakses lagi property dari property si employee. Contohnya ….

public class Project 
{
      public void doSomething() 
     {
          Employee e = new Employee();
          String cityCode = e.Address.City.Code;
     }
}

Gitu maksudnya. Jadi subpartnya itu City dan diakses lagi Code. Itu ga boleh. Pantang. Haram hukumnya. Najis. Jijik. dll
Read more…

Categories: OO Programming Tags: , ,

IS-A dan HAS-A

January 29, 2009 Leave a comment

Ketika suatu kelas diturunkan dari kelas lain maka kita menyebutnya subclass extends superclass. Nah bagaimana kita menentukan suatu kelas adalah turunan dari kelas yang lain ? Testlah terlebih dahulu dengan IS-A

Segitiga IS-A Shape. Apakah segitiga itu bentuk ? . ya .. benar. Jadi kita dapat menextends Segitiga dari Shape. Read more…

Categories: OO Programming Tags: ,

Prosedural vs OO (Part 4)

January 27, 2009 2 comments

Jadi bagaimana dengan kedua programmer tersebut. Larry melihat ada celah pada code brad dan kemudian terjadi lah berdebatan.

Larry : Ada duplikasi code. Rotate procedure ada di keempat benda Shape.

Brad : Itu method bukan prosedur. Dan Itu kelas bukan benda.

Larry : Terserahlah. Ini disain yg bodoh. Kau harus maintain 4 rotate yg berbeda. Bagaimana itu bisa ??

Brad : Mmm… final designnya adalah sebagai berikut. Ini disebut inheritance. Read more…

Categories: OO Programming Tags: ,

Prosedural vs OO (Part 3)

January 27, 2009 Leave a comment

Kemudian sang project manager pun melihat pekerjaan larry dan brad.Wah.. bukan begini cara rotasi amuba…. Kedua programmer tersebut mengasumsikan bahwa poros rotasi dari amoeba adalah ditengah sama seperti ketiga bentuk yg lain. Padahal sebenarnya amoeba berputar pada satu ujungnya. Nah bagaimana kedua programmer menghadapi perubahan tersebut lagi.
Read more…

Categories: OO Programming Tags: ,

Prosedural vs OO (Part 1)

January 27, 2009 Leave a comment

seorang project manager menandingkan kedua programmernya dalam membangun sebuah aplikasi. Tentu saja akan memberikan hadiah kepada yg terbaik. Kedua programmer tersebut adalah Larry, programmer aliran prosedural dan Brad yg beraliran OO. Mereka sama2 anggap ini tugas yg mudah..

Ok.. Spesifikasi tugasnya adalah sebagai berikut ..

akan ada beberapa bentuk image yg akan ditampilkan di GUI. Persegi (bujur sangkar), lingkaran dan segitiga. Ketika user menclick image tersebut. Maka image tersebut akan berotasi sebesar 360 derajat dan mengeluarkan suara yg dari file .mp3 yg sesuai dengan bentuknya.

Nah kita akan melihat cara kedua programmer tersebut berpikir ..

Larry …
Apa ya … yg akan dilakukan program ini ? Prosedur apa yg dibutuhkannya ? Tentu saja rotasi dan memainkan suara. rotate and playSound. Nah dia kemudian langsung membuat kedua prosedur tersebut.
Read more…

Categories: OO Programming Tags: , ,