Re: [JUG-Indonesia] mengapa interface?

2008-12-22 Terurut Topik Hendry Luk
Nyebut nama micxxxoft di venue kayak gini adalah recipe for humiliation :P

2008/12/18 Adelwin Handoyo 

>   Yah...
> Tau lah situ jago...
> Tapi comment nya jangan yang "keliru", "salah" ,"gak ada" gitu doang dong..
> Jelasin juga dong alasan nya..
> Namanya juga diskusi mas...
> Kalo interface gak di perkenalkan sama Microsoft lalu sama sapa?
> With citation kalo perlu...
>
>
> Adelwin Handoyo
> COTS (DS) Consultant, Financial Services Industry
> NCS Pte. Ltd.
> (Reg. No. 198101793G)
> A member of the Singapore Telecom Group
> 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141)
> DID : (65) 6556 6785 Fax: (65) 6483 5420
> Email ID : ahand...@ncs.com.sg 
> Website: http://www.ncs.com.sg
>  DISCLAIMER *
> This e-mail and any attachments thereto are intended for the sole use of
> the recipient(s)
> named above and may contain information that is confidential and/or
> proprietary to the NCS
> Group. Any use of the information contained herein (including, but not
> limited to, total
> or partial reproduction, communication, or dissemination in any form) by
> persons other
> than the intended recipient(s) is prohibited. If you have received this
> e-mail in error,
> please notify the sender immediately and delete it.
>  NCS Pte. Ltd. - Reg. No. 198101793G 
>
> -Original Message-
> From: jug-indonesia@yahoogroups.com [mailto:
> jug-indonesia@yahoogroups.com ] On Behalf
> Of
> Arif Rachim
> Sent: Thursday, December 18, 2008 12:21 PM
> To: jug-indonesia@yahoogroups.com 
> Subject: Re: [JUG-Indonesia] mengapa interface?
>
> > Hi All,
> > Mo ikutan diskusi nich.
> > Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft
> > memperkenalkan konsep COM.
> > Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of
> > indirectness dari aplikasi thd implementasi dari sebuah COM object.
> Tujuan
> > dari konsep COM sendiri adalah untuk memberikan reusability thus
> modularity
> > pada level binary dan bukan pada level source code. Interface tsb pada
> > gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya
> dengan
> > mendefinisikan behaviour signature tanpa perlu mengetahui detil
> implementasi
> > dari behaviour tsb.
>
> Keliru, interface bukan diperkenalkan sama Microsoft.
>
> >
> > Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain
> > maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang
> > lebih sama yang itu memberikan layer of indirectness pada aplikasi shg
> > meningkatkan modularity dan meningkatkan reusability pada level binary.
>
> Keliru, Spring tidak mengadopsi interface, interface adalah bagian
> dari bahasa seperti bahasa yg support OOP even sebelum java.
>
> > Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari
> > sebagian behaviour pada parent classes (inheritance) dan mengubah
> sebagian
> > behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn
> menggunakan
> > behaviour yg diwariskan.
> > Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class
> > bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism
> karena
> > tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb.
> > Behaviour tsb harus didefiniskan dalam class itu sendiri.
>
> Maksdunya yg mau dijelasin itu Encapsulation ya.
>
> >
> > Java memberikan fitur single inheritance bagi class unutk menghindari
> > kompleksitas yang mungkin muncul akibat property dan behaviour yg
> diturunkan
> > dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple
> > inheritance bagi interface karena pada dasarnya yg diwariskan hanya
> > signature dari behaviournya dan bukan behaviour itu sendiri.
>
> Tidak ada yang namanya "multiple inheritance bagi interface" ini
> keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah
> "multiple implementation dari interface".
>
> >
> > Java juga memberikan fitur abstract class dan abstract function yg sampai
> > titik tertentu penggunaannya hampir mirip dengan penggunaan interface.
> Jadi
> > pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature
> > dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu
> sendiri
> > maupun mendefinisikan property/member dari interface tsb. Sebuah class
> cukup
> > memiliki 1 abstract function utk dapat disebut abstract class. Di luar
> itu,
> > class tsb dapat mendefinisikan member, dan mendefinisikan behaviour
> fungsi2
> > yg lain termasuk yg menggunakan abstract fun

Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Joshua Partogi
2008/12/18 Arif Rachim :
>> Lu juga keliru rif. Interface itu juga mewariskan. Tetapi bedanya
>> dengan class yang diwariskan bukanlah implementationnya tetapi
>> typenya. Ketika kita men-define konstanta di interface, maka class
>> yang mengimplementasikan interface tersebut sudah diwariskan konstanta
>> tersebut. Konstanta dan method yang tidak ada implementasi tersebut
>> disebut sebagai type. Makanya dengan menggunakan interface we call it
>> type inheritance while extending class we call it implementation
>> inheritance.
>
> Walaupun di Java konstanta bisa ditaruh di interface, tapi ini bukan
> best practice. Malah bukan best practice yang lebih tepat bad practice
> hehehehe. Kenapa bad practice, karena  menempatkan konstanta di
> interface berarti mengotori seluruh subclass yg implement interface
> tersebut. Lebih parahnya lagi bisa terjadi kalau 2 interface memiliki
> konstanta dengan datatype dan nama yang sama. Ini benar2 fatal
> akibatnya. Coba lihat contoh ini.
>
> public interface A{
>  final String hello = "thisIsA";
> }
> public interface B{
>  final String hello = "thisIsB";
> }
> public class Hello implements A,B{
>  public void hello(){
>   System.out.println(hello);
>  }
> }
>
> // tebak apa yang terjadi ??

Memang bukan best practice. Tapi intinya bisa. Gw cuma mau bilang
naturenya interface itu untuk mewariskan type.

> Moreover balik ke statement joshua, rasanya kita ga pernah denger
> istilah type inheritance, type inherited memang make sense. Tapi type
> inheritance rasanya belum pernah denger deh ?? Cek di google juga gw
> ga nemu istilah ini.

Ya ada lah rif.

-- 
Not by might nor by power, but by His Spirit.

Read my blog: http://joshuajava.wordpress.com/
Follow me on twitter: http://twitter.com/jpartogi


Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Arif Rachim
design api java memang banyak cacatnya. Makanya terus diperbaiki sama
communitiy. Makanya ada JCP, makanya ada JSR 310 contohnya buat date.

Rasanya sih banyak developer java yg sudah sadar cacat2nya design api
jdk.Tapi itu kan "luka lama" :). Anihow design api yang cacat bukan
berarti tidak bisa dipakai.

2008/12/18 Reza Alaudin :
>
> public interface A{
> final String hello = "thisIsA";
> }
> public interface B{
> final String hello = "thisIsB";
> }
> public class Hello implements A,B{
> public void hello(){
> System.out.println( hello);
> }
> }
>
> // tebak apa yang terjadi ??
>
> compile error...
>
> statement elo bertolak belakan ma source jdk..
> dimana banyak  interface mendefinisikan type...
> ie:
> SwingConstants
> javax.sql.Statement
>
> kalo mo benerin statement
> "Malah bukan best practice yang lebih tepat bad practice"
> bikin JDK ndiri sana...
> hue he he...
>
> regards
>
>
> ________
> From: Arif Rachim 
> To: jug-indonesia@yahoogroups.com
> Sent: Thursday, December 18, 2008 2:37:54 PM
> Subject: Re: [JUG-Indonesia] mengapa interface?
>
>> Lu juga keliru rif. Interface itu juga mewariskan. Tetapi bedanya
>> dengan class yang diwariskan bukanlah implementationnya tetapi
>> typenya. Ketika kita men-define konstanta di interface, maka class
>> yang mengimplementasikan interface tersebut sudah diwariskan konstanta
>> tersebut. Konstanta dan method yang tidak ada implementasi tersebut
>> disebut sebagai type. Makanya dengan menggunakan interface we call it
>> type inheritance while extending class we call it implementation
>> inheritance.
>
> Walaupun di Java konstanta bisa ditaruh di interface, tapi ini bukan
> best practice. Malah bukan best practice yang lebih tepat bad practice
> hehehehe. Kenapa bad practice, karena menempatkan konstanta di
> interface berarti mengotori seluruh subclass yg implement interface
> tersebut. Lebih parahnya lagi bisa terjadi kalau 2 interface memiliki
> konstanta dengan datatype dan nama yang sama. Ini benar2 fatal
> akibatnya. Coba lihat contoh ini.
>
> public interface A{
> final String hello = "thisIsA";
> }
> public interface B{
> final String hello = "thisIsB";
> }
> public class Hello implements A,B{
> public void hello(){
> System.out.println( hello);
> }
> }
>
> // tebak apa yang terjadi ??
>
> Moreover balik ke statement joshua, rasanya kita ga pernah denger
> istilah type inheritance, type inherited memang make sense. Tapi type
> inheritance rasanya belum pernah denger deh ?? Cek di google juga gw
> ga nemu istilah ini.
>
> 


Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Reza Alaudin


public interface A{
final String hello = "thisIsA";
}
public interface B{
final String hello = "thisIsB";
}
public class Hello implements A,B{
public void hello(){
System.out.println( hello);
}
}

// tebak apa yang terjadi ??

compile error...

statement elo bertolak belakan ma source jdk..
dimana banyak  interface mendefinisikan type...
ie:
SwingConstants
javax.sql.Statement

kalo mo benerin statement 
"Malah bukan best practice yang lebih tepat bad practice"
bikin JDK ndiri sana...
hue he he...

regards





From: Arif Rachim 
To: jug-indonesia@yahoogroups.com
Sent: Thursday, December 18, 2008 2:37:54 PM
Subject: Re: [JUG-Indonesia] mengapa interface?


> Lu juga keliru rif. Interface itu juga mewariskan. Tetapi bedanya
> dengan class yang diwariskan bukanlah implementationnya tetapi
> typenya. Ketika kita men-define konstanta di interface, maka class
> yang mengimplementasikan interface tersebut sudah diwariskan konstanta
> tersebut. Konstanta dan method yang tidak ada implementasi tersebut
> disebut sebagai type. Makanya dengan menggunakan interface we call it
> type inheritance while extending class we call it implementation
> inheritance.

Walaupun di Java konstanta bisa ditaruh di interface, tapi ini bukan
best practice. Malah bukan best practice yang lebih tepat bad practice
hehehehe. Kenapa bad practice, karena  menempatkan konstanta di
interface berarti mengotori seluruh subclass yg implement interface
tersebut. Lebih parahnya lagi bisa terjadi kalau 2 interface memiliki
konstanta dengan datatype dan nama yang sama. Ini benar2 fatal
akibatnya. Coba lihat contoh ini.

public interface A{
final String hello = "thisIsA";
}
public interface B{
final String hello = "thisIsB";
}
public class Hello implements A,B{
public void hello(){
System.out.println( hello);
}
}

// tebak apa yang terjadi ??

Moreover balik ke statement joshua, rasanya kita ga pernah denger
istilah type inheritance, type inherited memang make sense. Tapi type
inheritance rasanya belum pernah denger deh ?? Cek di google juga gw
ga nemu istilah ini.



  

Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Arif Rachim
> Gimana caranya interface untuk Encapsulation? Apanya yang
> di-encapsulate dengan interface? Atau memisahkan type dari
> implementation lu sebut sebagai Encapsulation?

Interface sebagai encapsulation bisa digunakan untuk "information hiding".

Gw quote dari wikipedia

http://en.wikipedia.org/wiki/Information_hiding
In object-oriented programming, information hiding reduces software
development risk by shifting the code's dependency on an uncertain
implementation (design decision) onto a well-defined interface.
Clients of the interface perform operations purely through it so if
the implementation changes, the clients do not have to change.


Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Arif Rachim
Coba balik ke statement awal yg saya tulis :

Tidak ada yang namanya "multiple inheritance bagi interface" ini
keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah
"multiple implementation dari interface".

Sedangkan kalau kita bilang "interface juga inheritance".

"interface inheritance" dan "interface juga inheritance" adalah 2
makna yang berbeda.

Yang satu menujukkan bahwa interface bisa memiliki fungsi yg meng
inherit parentnya.
Yang satu lagi menunjukkan bahwa inheritance bisa dicapai dengan interface !

Analoginya sama juga seperti bilang
jus mangga,mangga juga jus

Nah ini beda banget arti keduanya. Adabaiknya coba pelajari maknanya dulu.

Nah sekarang kalau ada yg bilang "multiple inheritance bagi interface"
itu artinya inheritance dengan multiple interface. Ini jelas keliru,
yg tepat multiple implementaion dengan interface.


Best Regards,


2008/12/18 Hendry Luk :
> Oya? Gw kira interface juga inheritance?... Di sastra OO classic kan
> inheritance dipecah 2: class inheritance, interface inheritance.
>
> 2008/12/18 Arif Rachim 
>>
>> Tidak ada yang namanya "multiple inheritance bagi interface" ini
>> keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah
>> "multiple implementation dari interface".
>>
>>
>
> 


Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Arif Rachim
> Lu juga keliru rif. Interface itu juga mewariskan. Tetapi bedanya
> dengan class yang diwariskan bukanlah implementationnya tetapi
> typenya. Ketika kita men-define konstanta di interface, maka class
> yang mengimplementasikan interface tersebut sudah diwariskan konstanta
> tersebut. Konstanta dan method yang tidak ada implementasi tersebut
> disebut sebagai type. Makanya dengan menggunakan interface we call it
> type inheritance while extending class we call it implementation
> inheritance.

Walaupun di Java konstanta bisa ditaruh di interface, tapi ini bukan
best practice. Malah bukan best practice yang lebih tepat bad practice
hehehehe. Kenapa bad practice, karena  menempatkan konstanta di
interface berarti mengotori seluruh subclass yg implement interface
tersebut. Lebih parahnya lagi bisa terjadi kalau 2 interface memiliki
konstanta dengan datatype dan nama yang sama. Ini benar2 fatal
akibatnya. Coba lihat contoh ini.

public interface A{
 final String hello = "thisIsA";
}
public interface B{
 final String hello = "thisIsB";
}
public class Hello implements A,B{
 public void hello(){
   System.out.println(hello);
 }
}

// tebak apa yang terjadi ??

Moreover balik ke statement joshua, rasanya kita ga pernah denger
istilah type inheritance, type inherited memang make sense. Tapi type
inheritance rasanya belum pernah denger deh ?? Cek di google juga gw
ga nemu istilah ini.


Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Hendry Luk
Oya? Gw kira interface juga inheritance?... Di sastra OO classic kan
inheritance dipecah 2: class inheritance, interface inheritance.

2008/12/18 Arif Rachim 

>
> Tidak ada yang namanya "multiple inheritance bagi interface" ini
> keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah
> "multiple implementation dari interface".
>
>
> 
>


Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Syamsu Rizal Ali
Kalau bagi saya sih, mau pake Interface mau pake Abstract kalau 
sendirian ngedevelopnya gak ngaruh.
 
Pilihan pake Interface ataupun Abstract baru kerasa kalau udah kerja kelompok. 
Karena keduanya mempunyai konswekuensi yang berbeda. 
 
Contohnya begini, seorang Senior Programmer tugasnya menjadi Application 
Designer, maka dia menentukan apa aja fungsi yang harus ada, pengembaliannya 
(return value) apa dan parameter apa aja yang harus di ada. Nah sang senior ini 
waktu nyuruh junior, dia cukup bikin Interface aja sisanya sang junior yang 
harus berfikir mengadaptasi dari Interface itu.
 
Lain lagi seorang DBA, dia bikin Abstract Class Koneksi ke database, yang mana 
sang DBA ini tidak mengizinkan junior programmer yang tahu username sama 
passwordnya ke databasenya, nah selanjutnya dia menuntukan fungsi - fungsi 
abstract yang bisa digunakan bagi junior dalam membuat programnya.
 
Jadi gak memusingkan pake Interface atau Abstract Class kalau kerja sendirian. 
Tapi kalau kerja kelompok, penggunaan Interface dan Abstract Class itu sudah 
terdefinisi ketika melakukan analisa dan design dari suatu project. Jadi bukan 
tugas programmer yang dibawah yang mendefinisikannya.
 
---
 
Kalau menurut saya COM sama dengan Interface, kayaknya beda deh. Bagi saya COM 
itu lebih mirip atau samadengan API itu sendiri.
 
Yang satu pada level bahasa [Java Interface] satu lagi pada level Implementasi 
[COM].
 
Jadi Interface Java gak akan kelihatan lagi kalau udah di compile, karena ini 
level bahasa. 
 
btw, mungkin juga.
 


  Berbagi video sambil chatting dengan teman di Messenger. Sekarang bisa 
dengan Yahoo! Messenger baru. http://id.messenger.yahoo.com

Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Joshua Partogi
Arif biasa bekerja di lingkungan yang suka berdebat. :-D Gw ngeliatnya
biasa aja kok.
Tulisan gw di blog juga sering di-goblok2-in orang kok. Tapi gw nyantai aja tuh.

2008/12/18 Adelwin Handoyo :
> Yah...
> Tau lah situ jago...
> Tapi comment nya jangan yang "keliru", "salah" ,"gak ada" gitu doang dong..
> Jelasin juga dong alasan nya..
> Namanya juga diskusi mas...
> Kalo interface gak di perkenalkan sama Microsoft lalu sama sapa?
> With citation kalo perlu...

-- 
Not by might nor by power, but by His Spirit.

Read my blog: http://joshuajava.wordpress.com/
Follow me on twitter: http://twitter.com/jpartogi


Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Joshua Partogi
2008/12/18 Arif Rachim :
>> Hi All,
>> Mo ikutan diskusi nich.
>> Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft
>> memperkenalkan konsep COM.
>> Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of
>> indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan
>> dari konsep COM sendiri adalah untuk memberikan reusability thus modularity
>> pada level binary dan bukan pada level source code. Interface tsb pada
>> gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan
>> mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi
>> dari behaviour tsb.
>
> Keliru, interface bukan diperkenalkan sama Microsoft.
>
>>
>> Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain
>> maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang
>> lebih sama yang itu memberikan layer of indirectness pada aplikasi shg
>> meningkatkan modularity dan meningkatkan reusability pada level binary.
>
> Keliru, Spring tidak mengadopsi interface, interface adalah bagian
> dari bahasa seperti bahasa yg support OOP even sebelum java.
>
>> Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari
>> sebagian behaviour pada parent classes (inheritance) dan  mengubah sebagian
>> behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan
>> behaviour yg diwariskan.
>> Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class
>> bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism  karena
>> tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb.
>> Behaviour tsb harus didefiniskan dalam class itu sendiri.
>
> Maksdunya yg mau dijelasin itu Encapsulation ya.
>
>>
>> Java memberikan fitur single inheritance bagi class unutk menghindari
>> kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan
>> dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple
>> inheritance bagi interface karena pada dasarnya yg diwariskan hanya
>> signature dari behaviournya dan bukan behaviour itu sendiri.
>
> Tidak ada yang namanya "multiple inheritance bagi interface" ini
> keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah
> "multiple implementation dari interface".

Lu juga keliru rif. Interface itu juga mewariskan. Tetapi bedanya
dengan class yang diwariskan bukanlah implementationnya tetapi
typenya. Ketika kita men-define konstanta di interface, maka class
yang mengimplementasikan interface tersebut sudah diwariskan konstanta
tersebut. Konstanta dan method yang tidak ada implementasi tersebut
disebut sebagai type. Makanya dengan menggunakan interface we call it
type inheritance while extending class we call it implementation
inheritance.

>> Java juga memberikan fitur abstract class dan abstract function yg sampai
>> titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi
>> pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature
>> dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri
>> maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup
>> memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu,
>> class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2
>> yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat
>> menjadi default behaviour dari class yg diturunkan dari abstract class tsb.
>
> Ini keliru, interface dan abstract class itu beda. Yang satu adalah
> untuk Encapsulation, satunya lagi untuk Template. Jadi keduanya tidak
> ada hubungannya secara langsung.
>
> PS : Mau tau gunanya interface ?? Coba aja pelajari apa artinya 
> "Encapsulation".

Gimana caranya interface untuk Encapsulation? Apanya yang
di-encapsulate dengan interface? Atau memisahkan type dari
implementation lu sebut sebagai Encapsulation?

-- 
Not by might nor by power, but by His Spirit.

Read my blog: http://joshuajava.wordpress.com/
Follow me on twitter: http://twitter.com/jpartogi


RE: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Adelwin Handoyo
Yah...
Tau lah situ jago...
Tapi comment nya jangan yang "keliru", "salah" ,"gak ada" gitu doang dong..
Jelasin juga dong alasan nya..
Namanya juga diskusi mas...
Kalo interface gak di perkenalkan sama Microsoft lalu sama sapa?
With citation kalo perlu...


Adelwin Handoyo
COTS (DS) Consultant, Financial Services Industry 
NCS Pte. Ltd. 
(Reg. No. 198101793G) 
A member of the Singapore Telecom Group 
5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) 
DID : (65) 6556 6785 Fax: (65) 6483 5420 
Email ID : ahand...@ncs.com.sg 
Website: http://www.ncs.com.sg 
 DISCLAIMER *
This e-mail and any attachments thereto are intended for the sole use of the 
recipient(s)
named above and may contain information that is confidential and/or proprietary 
to the NCS
Group. Any use of the information contained herein (including, but not limited 
to, total
or partial reproduction, communication, or dissemination in any form) by 
persons other
than the intended recipient(s) is prohibited. If you have received this e-mail 
in error,
please notify the sender immediately and delete it.
 NCS Pte. Ltd. - Reg. No. 198101793G 

-Original Message-
From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On 
Behalf Of
Arif Rachim
Sent: Thursday, December 18, 2008 12:21 PM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] mengapa interface?

> Hi All,
> Mo ikutan diskusi nich.
> Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft
> memperkenalkan konsep COM.
> Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of
> indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan
> dari konsep COM sendiri adalah untuk memberikan reusability thus modularity
> pada level binary dan bukan pada level source code. Interface tsb pada
> gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan
> mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi
> dari behaviour tsb.

Keliru, interface bukan diperkenalkan sama Microsoft.

>
> Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain
> maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang
> lebih sama yang itu memberikan layer of indirectness pada aplikasi shg
> meningkatkan modularity dan meningkatkan reusability pada level binary.

Keliru, Spring tidak mengadopsi interface, interface adalah bagian
dari bahasa seperti bahasa yg support OOP even sebelum java.

> Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari
> sebagian behaviour pada parent classes (inheritance) dan  mengubah sebagian
> behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan
> behaviour yg diwariskan.
> Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class
> bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism  karena
> tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb.
> Behaviour tsb harus didefiniskan dalam class itu sendiri.

Maksdunya yg mau dijelasin itu Encapsulation ya.

>
> Java memberikan fitur single inheritance bagi class unutk menghindari
> kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan
> dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple
> inheritance bagi interface karena pada dasarnya yg diwariskan hanya
> signature dari behaviournya dan bukan behaviour itu sendiri.

Tidak ada yang namanya "multiple inheritance bagi interface" ini
keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah
"multiple implementation dari interface".

>
> Java juga memberikan fitur abstract class dan abstract function yg sampai
> titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi
> pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature
> dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri
> maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup
> memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu,
> class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2
> yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat
> menjadi default behaviour dari class yg diturunkan dari abstract class tsb.

Ini keliru, interface dan abstract class itu beda. Yang satu adalah
untuk Encapsulation, satunya lagi untuk Template. Jadi keduanya tidak
ada hubungannya secara langsung.

PS : Mau tau gunanya interface ?? Coba aja pelajari apa artinya "Encapsulation".

Best Regards,



Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke
jug-indonesia-unsubscr...@yahoogroups.com.

Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id

Yahoo! Groups Links





Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Arif Rachim
> Hi All,
> Mo ikutan diskusi nich.
> Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft
> memperkenalkan konsep COM.
> Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of
> indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan
> dari konsep COM sendiri adalah untuk memberikan reusability thus modularity
> pada level binary dan bukan pada level source code. Interface tsb pada
> gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan
> mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi
> dari behaviour tsb.

Keliru, interface bukan diperkenalkan sama Microsoft.

>
> Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain
> maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang
> lebih sama yang itu memberikan layer of indirectness pada aplikasi shg
> meningkatkan modularity dan meningkatkan reusability pada level binary.

Keliru, Spring tidak mengadopsi interface, interface adalah bagian
dari bahasa seperti bahasa yg support OOP even sebelum java.

> Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari
> sebagian behaviour pada parent classes (inheritance) dan  mengubah sebagian
> behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan
> behaviour yg diwariskan.
> Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class
> bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism  karena
> tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb.
> Behaviour tsb harus didefiniskan dalam class itu sendiri.

Maksdunya yg mau dijelasin itu Encapsulation ya.

>
> Java memberikan fitur single inheritance bagi class unutk menghindari
> kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan
> dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple
> inheritance bagi interface karena pada dasarnya yg diwariskan hanya
> signature dari behaviournya dan bukan behaviour itu sendiri.

Tidak ada yang namanya "multiple inheritance bagi interface" ini
keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah
"multiple implementation dari interface".

>
> Java juga memberikan fitur abstract class dan abstract function yg sampai
> titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi
> pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature
> dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri
> maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup
> memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu,
> class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2
> yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat
> menjadi default behaviour dari class yg diturunkan dari abstract class tsb.

Ini keliru, interface dan abstract class itu beda. Yang satu adalah
untuk Encapsulation, satunya lagi untuk Template. Jadi keduanya tidak
ada hubungannya secara langsung.

PS : Mau tau gunanya interface ?? Coba aja pelajari apa artinya "Encapsulation".

Best Regards,


RE: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Adelwin Handoyo
Hahhahaha
Try if u can do better? :p
hahahahah

Adelwin Handoyo
COTS (DS) Consultant, Financial Services Industry 
NCS Pte. Ltd. 
(Reg. No. 198101793G) 
A member of the Singapore Telecom Group 
5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) 
DID : (65) 6556 6785 Fax: (65) 6483 5420 
Email ID : ahand...@ncs.com.sg 
Website: http://www.ncs.com.sg 
 DISCLAIMER *
This e-mail and any attachments thereto are intended for the sole use of the 
recipient(s)
named above and may contain information that is confidential and/or proprietary 
to the NCS
Group. Any use of the information contained herein (including, but not limited 
to, total
or partial reproduction, communication, or dissemination in any form) by 
persons other
than the intended recipient(s) is prohibited. If you have received this e-mail 
in error,
please notify the sender immediately and delete it.
 NCS Pte. Ltd. - Reg. No. 198101793G 

-Original Message-
From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On 
Behalf Of
abangkis
Sent: Thursday, December 18, 2008 10:42 AM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] mengapa interface?

Ok-ok, untuk penjelasan sisanya bagus, walaupun style class room talk :D

~peace

2008/12/16 Dhanisworo Dhanisworo :
> Hi All,
> Mo ikutan diskusi nich.
> Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft
> memperkenalkan konsep COM.
> Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of
> indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan
> dari konsep COM sendiri adalah untuk memberikan reusability thus modularity
> pada level binary dan bukan pada level source code. Interface tsb pada
> gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan
> mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi
> dari behaviour tsb.
>
> Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain
> maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang
> lebih sama yang itu memberikan layer of indirectness pada aplikasi shg
> meningkatkan modularity dan meningkatkan reusability pada level binary.
>
> Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari
> sebagian behaviour pada parent classes (inheritance) dan  mengubah sebagian
> behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan
> behaviour yg diwariskan.
>
> Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class
> bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism  karena
> tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb.
> Behaviour tsb harus didefiniskan dalam class itu sendiri.
>
> Java memberikan fitur single inheritance bagi class unutk menghindari
> kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan
> dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple
> inheritance bagi interface karena pada dasarnya yg diwariskan hanya
> signature dari behaviournya dan bukan behaviour itu sendiri.
>
> Java juga memberikan fitur abstract class dan abstract function yg sampai
> titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi
> pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature
> dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri
> maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup
> memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu,
> class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2
> yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat
> menjadi default behaviour dari class yg diturunkan dari abstract class tsb.
>
> just my 2cents
>
> best regards,Dyan Dhanisworo
>
>
>
>
>
>
> 2008/12/16 Joshua Partogi 
>>
>> Biasa itu mah. Tapestry 5 semuanya serba interface. Spring AFAIK juga
>> deh. Untuk ke depannya disain seperti itu malah bagus.
>>
>> 2008/12/16 martinus j wahyudi :
>>
>> > Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang
>> > dia
>> > yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya
>> > dalam
>> > bentuk abstract dan interface. itu bener ga sih? atau sudah
>> > keterlaluan?.
>> > catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita
>> > temennya yg bikin turunan dari kelas2 tadi.
>>
>> --
>> Not by might nor by power, but by His Spirit.
>>
>
> 



Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke
jug-indonesia-unsubscr...@yahoogroups.com.

Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id

Yahoo! Groups Links





Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik abangkis
Ok-ok, untuk penjelasan sisanya bagus, walaupun style class room talk :D

~peace

2008/12/16 Dhanisworo Dhanisworo :
> Hi All,
> Mo ikutan diskusi nich.
> Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft
> memperkenalkan konsep COM.
> Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of
> indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan
> dari konsep COM sendiri adalah untuk memberikan reusability thus modularity
> pada level binary dan bukan pada level source code. Interface tsb pada
> gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan
> mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi
> dari behaviour tsb.
>
> Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain
> maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang
> lebih sama yang itu memberikan layer of indirectness pada aplikasi shg
> meningkatkan modularity dan meningkatkan reusability pada level binary.
>
> Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari
> sebagian behaviour pada parent classes (inheritance) dan  mengubah sebagian
> behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan
> behaviour yg diwariskan.
>
> Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class
> bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism  karena
> tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb.
> Behaviour tsb harus didefiniskan dalam class itu sendiri.
>
> Java memberikan fitur single inheritance bagi class unutk menghindari
> kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan
> dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple
> inheritance bagi interface karena pada dasarnya yg diwariskan hanya
> signature dari behaviournya dan bukan behaviour itu sendiri.
>
> Java juga memberikan fitur abstract class dan abstract function yg sampai
> titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi
> pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature
> dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri
> maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup
> memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu,
> class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2
> yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat
> menjadi default behaviour dari class yg diturunkan dari abstract class tsb.
>
> just my 2cents
>
> best regards,Dyan Dhanisworo
>
>
>
>
>
>
> 2008/12/16 Joshua Partogi 
>>
>> Biasa itu mah. Tapestry 5 semuanya serba interface. Spring AFAIK juga
>> deh. Untuk ke depannya disain seperti itu malah bagus.
>>
>> 2008/12/16 martinus j wahyudi :
>>
>> > Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang
>> > dia
>> > yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya
>> > dalam
>> > bentuk abstract dan interface. itu bener ga sih? atau sudah
>> > keterlaluan?.
>> > catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita
>> > temennya yg bikin turunan dari kelas2 tadi.
>>
>> --
>> Not by might nor by power, but by His Spirit.
>>
>
> 


Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik abangkis
Sorry2,  gw blom sempet baca sampe akhir udah ketawa duluan.  perasaan
dibahasa2 yang lebih tua kayak smalltalk, interface udah lama ada deh.
Gak tahu memang selama ini belum melihat dunia luar selain microsoft,
atau memang perlu lebih membuka wawasan :D

ok deh, saya lanjut baca lagi :)

2008/12/16 Dhanisworo Dhanisworo :
> Hi All,
> Mo ikutan diskusi nich.
> Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft
> memperkenalkan konsep COM.
> Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of
> indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan
> dari konsep COM sendiri adalah untuk memberikan reusability thus modularity
> pada level binary dan bukan pada level source code. Interface tsb pada
> gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan
> mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi
> dari behaviour tsb.
>
> Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain
> maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang
> lebih sama yang itu memberikan layer of indirectness pada aplikasi shg
> meningkatkan modularity dan meningkatkan reusability pada level binary.
>
> Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari
> sebagian behaviour pada parent classes (inheritance) dan  mengubah sebagian
> behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan
> behaviour yg diwariskan.
>
> Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class
> bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism  karena
> tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb.
> Behaviour tsb harus didefiniskan dalam class itu sendiri.
>
> Java memberikan fitur single inheritance bagi class unutk menghindari
> kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan
> dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple
> inheritance bagi interface karena pada dasarnya yg diwariskan hanya
> signature dari behaviournya dan bukan behaviour itu sendiri.
>
> Java juga memberikan fitur abstract class dan abstract function yg sampai
> titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi
> pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature
> dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri
> maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup
> memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu,
> class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2
> yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat
> menjadi default behaviour dari class yg diturunkan dari abstract class tsb.
>
> just my 2cents
>
> best regards,Dyan Dhanisworo
>
>
>
>
>
>
> 2008/12/16 Joshua Partogi 
>>
>> Biasa itu mah. Tapestry 5 semuanya serba interface. Spring AFAIK juga
>> deh. Untuk ke depannya disain seperti itu malah bagus.
>>
>> 2008/12/16 martinus j wahyudi :
>>
>> > Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang
>> > dia
>> > yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya
>> > dalam
>> > bentuk abstract dan interface. itu bener ga sih? atau sudah
>> > keterlaluan?.
>> > catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita
>> > temennya yg bikin turunan dari kelas2 tadi.
>>
>> --
>> Not by might nor by power, but by His Spirit.
>>
>
> 


Re: [JUG-Indonesia] mengapa interface?

2008-12-17 Terurut Topik Dhanisworo Dhanisworo
Hi All,
Mo ikutan diskusi nich.
Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft
memperkenalkan konsep COM.
Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of
indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan
dari konsep COM sendiri adalah untuk memberikan reusability thus modularity
pada level binary dan bukan pada level source code. Interface tsb pada
gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan
mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi
dari behaviour tsb.

Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain
maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang
lebih sama yang itu memberikan layer of indirectness pada aplikasi shg
meningkatkan modularity dan meningkatkan reusability pada level binary.

Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari
sebagian behaviour pada parent classes (inheritance) dan  mengubah sebagian
behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan
behaviour yg diwariskan.

Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class
bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism  karena
tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb.
Behaviour tsb harus didefiniskan dalam class itu sendiri.

Java memberikan fitur single inheritance bagi class unutk menghindari
kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan
dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple
inheritance bagi interface karena pada dasarnya yg diwariskan hanya
signature dari behaviournya dan bukan behaviour itu sendiri.

Java juga memberikan fitur abstract class dan abstract function yg sampai
titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi
pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature
dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri
maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup
memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu,
class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2
yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat
menjadi default behaviour dari class yg diturunkan dari abstract class tsb.

just my 2cents

best regards,Dyan Dhanisworo






2008/12/16 Joshua Partogi 

>   Biasa itu mah. Tapestry 5 semuanya serba interface. Spring AFAIK juga
> deh. Untuk ke depannya disain seperti itu malah bagus.
>
> 2008/12/16 martinus j wahyudi 
> 
> >:
>
> > Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang
> dia
> > yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya dalam
> > bentuk abstract dan interface. itu bener ga sih? atau sudah keterlaluan?.
> > catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita
> > temennya yg bikin turunan dari kelas2 tadi.
>
> --
> Not by might nor by power, but by His Spirit.
>
> 
>


Re: [JUG-Indonesia] mengapa interface?

2008-12-16 Terurut Topik Joshua Partogi
Biasa itu mah. Tapestry 5 semuanya serba interface. Spring AFAIK juga
deh. Untuk ke depannya disain seperti itu malah bagus.

2008/12/16 martinus j wahyudi :
> Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang dia
> yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya dalam
> bentuk abstract dan interface. itu bener ga sih? atau sudah keterlaluan?.
> catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita
> temennya yg bikin turunan dari kelas2 tadi.

-- 
Not by might nor by power, but by His Spirit.

Read my blog: http://joshuajava.wordpress.com/
Follow me on twitter: http://twitter.com/jpartogi


RE: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Adelwin Handoyo
Bagus kok malah.
Jadi ntar bikin nya tinggal fill in the gap ajah.
Khan seperti kata GoF.
Code to an interface.
Jadi kalo ada apa2 changes nya minimum.
Di dunia bisnis. minimum changes equals to minimum risk.
Tapi inget.
Jangan lalu overkill design nya..
Mau design application buat cashier ajah sampe 200 interface dan 500 class.
Itu namanya maintenance hell.
 
Adelwin Handoyo
COTS (DS) Consultant, Financial Services Industry
NCS Pte. Ltd.
(Reg. No. 198101793G)
A member of the Singapore Telecom Group
5 Ang Mo Kio St 62, NCS Hub, Singapore (569141)
DID : (65) 6556 6785 Fax: (65) 6483 5420
Email ID : ahand...@ncs.com.sg
Website: http://www.ncs.com.sg 
 DISCLAIMER * 
This e-mail and any attachments thereto are intended for the sole use of the 
recipient(s)
named above and may contain information that is confidential and/or proprietary 
to the NCS
Group. Any use of the information contained herein (including, but not limited 
to, total
or partial reproduction, communication, or dissemination in any form) by 
persons other
than the intended recipient(s) is prohibited. If you have received this e-mail 
in error,
please notify the sender immediately and delete it.
 NCS Pte. Ltd. - Reg. No. 198101793G  
  _  

From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On 
Behalf Of
martinus j wahyudi
Sent: Tuesday, December 16, 2008 3:04 PM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] mengapa interface?
 
Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang dia yg 
desain
sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya dalam bentuk abstract 
dan
interface. itu bener ga sih? atau sudah keterlaluan?. catatan, semuanya loh 
dalam bentuk
abtract dan interface, baru ntar kita temennya yg bikin turunan dari kelas2 
tadi.
 
Sincerely,
Martin
 
 
  _  

From: Joshua Partogi 
To: jug-indonesia@yahoogroups.com
Sent: Tuesday, 16 December, 2008 13:15:31
Subject: Re: [JUG-Indonesia] mengapa interface?
Untuk mengerti konsep interface-nya memang butuh waktu lama dan banyak
latihan koding.
Dulu saya juga pernah mengalami hal yang sama dan semua diskusi terrekam disini:
http://www.nabble. com/Seberapa- pentingkah- design-by-
<http://www.nabble.com/Seberapa-pentingkah-design-by-interface--to15175166.html>
interface- -to15175166. html

Sekarang saya sudah mengerti pentingnya design by interface. Issue-nya
bukan jalan atau tidak jalan, tapi ini issue disain aplikasi.

Cheers.
  

 


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik martinus j wahyudi
Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang dia yg 
desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya dalam bentuk 
abstract dan interface. itu bener ga sih? atau sudah keterlaluan?. catatan, 
semuanya loh dalam bentuk abtract dan interface, baru ntar kita temennya yg 
bikin turunan dari kelas2 tadi.

 Sincerely,
Martin





From: Joshua Partogi 
To: jug-indonesia@yahoogroups.com
Sent: Tuesday, 16 December, 2008 13:15:31
Subject: Re: [JUG-Indonesia] mengapa interface?


Untuk mengerti konsep interface-nya memang butuh waktu lama dan banyak
latihan koding.
Dulu saya juga pernah mengalami hal yang sama dan semua diskusi terrekam disini:
http://www.nabble. com/Seberapa- pentingkah- design-by- interface- -to15175166. 
html

Sekarang saya sudah mengerti pentingnya design by interface. Issue-nya
bukan jalan atau tidak jalan, tapi ini issue disain aplikasi.

Cheers.


  

Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Endy Muhardin
Jaman dulu kayaknya udah pernah jawab pertanyaan ini.

http://endy.artivisi.com/blog/java/interface-abstract/

Kapan pakai interface, kapan pakai abstract class.

Hampir 2 tahun berlalu (Januari 2007) ... sudah lama juga ya :)


-- 
Endy Muhardin
http://endy.artivisi.com
Y! : endymuhardin
-- life learn contribute --


RE: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Adelwin Handoyo
Yah masing2 ada kelebihan ada kekurangan masing2 lah.
Sama2 masi belajar juga semua nya.
 
 
Adelwin Handoyo
COTS (DS) Consultant, Financial Services Industry
NCS Pte. Ltd.
(Reg. No. 198101793G)
A member of the Singapore Telecom Group
5 Ang Mo Kio St 62, NCS Hub, Singapore (569141)
DID : (65) 6556 6785 Fax: (65) 6483 5420
Email ID : ahand...@ncs.com.sg
Website: http://www.ncs.com.sg 
 DISCLAIMER * 
This e-mail and any attachments thereto are intended for the sole use of the 
recipient(s)
named above and may contain information that is confidential and/or proprietary 
to the NCS
Group. Any use of the information contained herein (including, but not limited 
to, total
or partial reproduction, communication, or dissemination in any form) by 
persons other
than the intended recipient(s) is prohibited. If you have received this e-mail 
in error,
please notify the sender immediately and delete it.
 NCS Pte. Ltd. - Reg. No. 198101793G  
  _  

From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On 
Behalf Of
martinus j wahyudi
Sent: Tuesday, December 16, 2008 2:40 PM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] mengapa interface?
 
yupe, ga bingung soal konsep interface, cm lupa di C# ga ada kata implements, 
adanya multi
inheritance yg bikin gw bingung, karena harus bikin semacam identifikasi method 
mana yg
harus gw implement, klo punya method sama di interface yg beda. Buat gw, klo 
belajar
konsep polymorph, interface, abstract, dan konseop OO yg lain, gw enakan 
belajar pake
java.

cm gara2 langsung java, jadi ga ngerti konsep pointer, dsb, yah itu ntar nanya 
di thread
lain aja.

Btw, ya, kalo sepintas langsung belajar interface tanpa ngerti historynya, ya 
jadinya
bingung sama istilah2 sampeyan tadi. aku aja br paham interface 1 tahun yg lalu 
(telmi
ya?)...

Sincerely,
Martin
 
 
  _  

From: Adelwin Handoyo 
To: jug-indonesia@yahoogroups.com
Sent: Tuesday, 16 December, 2008 13:28:02
Subject: RE: [JUG-Indonesia] mengapa interface?
Naaahhh indah nih kalimat nya
Design by interface..
Hahahha
Gua dulu pas masi belajar2 tuh awed banget sama concept inih...
Betul kata Ferdinand...
Perlu di dalamin dulu the nuts and bolts nya...
Jadi bukan Cuma tau "yang penting jalan" tapi juga tau "kok bisa jalan"
Dan.. salah martinus...
.net juga bisa di bikin PERSIS kayak gitu..
Karna concept design by interface juga ada di .net
  

 


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik martinus j wahyudi
yupe, ga bingung soal konsep interface, cm lupa di C# ga ada kata implements, 
adanya multi inheritance yg bikin gw bingung, karena harus bikin semacam 
identifikasi method mana yg harus gw implement, klo punya method sama di 
interface yg beda. Buat gw, klo belajar konsep polymorph, interface, abstract, 
dan konseop OO yg lain, gw enakan belajar pake java.

cm gara2 langsung java, jadi ga ngerti konsep pointer, dsb, yah itu ntar nanya 
di thread lain aja.

Btw, ya, kalo sepintas langsung belajar interface tanpa ngerti historynya, ya 
jadinya  bingung sama istilah2 sampeyan tadi. aku aja br paham interface 1 
tahun yg lalu (telmi ya?)...

Sincerely,
Martin





From: Adelwin Handoyo 
To: jug-indonesia@yahoogroups.com
Sent: Tuesday, 16 December, 2008 13:28:02
Subject: RE: [JUG-Indonesia] mengapa interface?


Naaahhh indah nih kalimat nya
Design by interface..
Hahahha
Gua dulu pas masi belajar2 tuh awed banget sama concept inih...
Betul kata Ferdinand...
Perlu di dalamin dulu the nuts and bolts nya...
Jadi bukan Cuma tau "yang penting jalan" tapi juga tau "kok bisa jalan"
Dan.. salah martinus...
.net juga bisa di bikin PERSIS kayak gitu..
Karna concept design by interface juga ada di .net


  

RE: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Adelwin Handoyo
Naaahhh indah nih kalimat nya
Design by interface..
Hahahha
Gua dulu pas masi belajar2 tuh awed banget sama concept inih...
Betul kata Ferdinand...
Perlu di dalamin dulu the nuts and bolts nya...
Jadi bukan Cuma tau "yang penting jalan" tapi juga tau "kok bisa jalan"
Dan.. salah martinus...
.net juga bisa di bikin PERSIS kayak gitu..
Karna concept design by interface juga ada di .net


Adelwin Handoyo
COTS (DS) Consultant, Financial Services Industry 
NCS Pte. Ltd. 
(Reg. No. 198101793G) 
A member of the Singapore Telecom Group 
5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) 
DID : (65) 6556 6785 Fax: (65) 6483 5420 
Email ID : ahand...@ncs.com.sg 
Website: http://www.ncs.com.sg 
 DISCLAIMER *
This e-mail and any attachments thereto are intended for the sole use of the 
recipient(s)
named above and may contain information that is confidential and/or proprietary 
to the NCS
Group. Any use of the information contained herein (including, but not limited 
to, total
or partial reproduction, communication, or dissemination in any form) by 
persons other
than the intended recipient(s) is prohibited. If you have received this e-mail 
in error,
please notify the sender immediately and delete it.
 NCS Pte. Ltd. - Reg. No. 198101793G 

-Original Message-
From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On 
Behalf Of
Joshua Partogi
Sent: Tuesday, December 16, 2008 2:16 PM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] mengapa interface?

Untuk mengerti konsep interface-nya memang butuh waktu lama dan banyak
latihan koding.
Dulu saya juga pernah mengalami hal yang sama dan semua diskusi terrekam disini:
http://www.nabble.com/Seberapa-pentingkah-design-by-interface--to15175166.html

Sekarang saya sudah mengerti pentingnya design by interface. Issue-nya
bukan jalan atau tidak jalan, tapi ini issue disain aplikasi.

Cheers.

2008/12/16 ahmad kundzori :
> kalo buat object dari class yang implements interface itu yang bener yang
> mana
> antara dua di bawah ini (reference type-nya):
> // interfacenya ContohInterface, Classnya ClassImplementsContohInterface
>
> ClassImplemetsContohInterface obj1 = new ClassImplemetsContohInterface();
>
> //.
>
> ContohInterface obj1 = new ClassImplemetsContohInterface();
>
> // klo dicompile trus di run kok ga' ada perbedaan...
>


-- 
Not by might nor by power, but by His Spirit.

Read my blog: http://joshuajava.wordpress.com/
Follow me on twitter: http://twitter.com/jpartogi



Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke
jug-indonesia-unsubscr...@yahoogroups.com.

Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id

Yahoo! Groups Links





Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Joshua Partogi
Untuk mengerti konsep interface-nya memang butuh waktu lama dan banyak
latihan koding.
Dulu saya juga pernah mengalami hal yang sama dan semua diskusi terrekam disini:
http://www.nabble.com/Seberapa-pentingkah-design-by-interface--to15175166.html

Sekarang saya sudah mengerti pentingnya design by interface. Issue-nya
bukan jalan atau tidak jalan, tapi ini issue disain aplikasi.

Cheers.

2008/12/16 ahmad kundzori :
> kalo buat object dari class yang implements interface itu yang bener yang
> mana
> antara dua di bawah ini (reference type-nya):
> // interfacenya ContohInterface, Classnya ClassImplementsContohInterface
>
> ClassImplemetsContohInterface obj1 = new ClassImplemetsContohInterface();
>
> //.
>
> ContohInterface obj1 = new ClassImplemetsContohInterface();
>
> // klo dicompile trus di run kok ga' ada perbedaan...
>


-- 
Not by might nor by power, but by His Spirit.

Read my blog: http://joshuajava.wordpress.com/
Follow me on twitter: http://twitter.com/jpartogi


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik martinus j wahyudi
Give him sample, doi sudah berusaha. Man, loe bener, kalo sekilas dari code yg 
loe kasih, kayaknya sama saja ga ada perbedaan. tapi gw kasih contoh dalam 
pseudo code saja misal gini:

Interface KunciMotor {

void hidupkanMesin();
void matikanMesin();
}

Class Suzuki implements KunciMotor{
//contructor

//implement interface
void hidupkanMesin(){
echo "buka kerin karburator";
echo "aktifkan DTS-i";
echo "pantik api";
}
}

Class Honda implements KunciMotor{
//contructor

//implement interface
void hidupkanMesin(){
echo "Aktifkan DOHC";
echo "Inject Bensin";
echo "pantik api";
}
}

nah, sekarang, kamu buat testCase seperti dibawah:

KunciMotor A;
A = new Suzuki();
A.HidupkanMesin();
A = new Suzuki();
A.hidupkanMesin();

Ada bedanya? sudah kebayang hasilnya? dari sini, terlepas konsep2 alien itu, 
keliatan kan, klo java very extendable tanpa bikin bingung kayak .NET?

Sincerely,
Martin



From: Ferdinand Neman 
To: jug-indonesia@yahoogroups.com
Sent: Tuesday, 16 December, 2008 12:27:58
Subject: Re: [JUG-Indonesia] mengapa interface?


Simply put, saya pikir, anda tidak mengerti gunanya Interface dan
essensi dari Polymorphism.
Silahkan pelajari mengenai Polymorphism dan Interface... terlebih dahulu.

...
Salam.

2008/12/16 ahmad kundzori :
> kalo buat object dari class yang implements interface itu yang bener yang
> mana
> antara dua di bawah ini (reference type-nya):
> // interfacenya ContohInterface, Classnya ClassImplementsCont ohInterface
>
> ClassImplemetsConto hInterface obj1 = new ClassImplemetsConto hInterface( );
>
> //.
>
> ContohInterface obj1 = new ClassImplemetsConto hInterface( );
>
> // klo dicompile trus di run kok ga' ada perbedaan...
>

-- 


  

Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Ferdinand Neman
Simply put, saya pikir, anda tidak mengerti gunanya Interface dan
essensi dari Polymorphism.
Silahkan pelajari mengenai Polymorphism dan Interface...terlebih dahulu.

Bukannya saya merendahkan anda, tapi saya rasa semuanya sudah
dijelaskan dalam thread
sebelumnya... Akan lebih berguna bagi anda jika anda mempelajari
hal-hal tersebut terlebih dahulu.

Saya akui, salah satu hal yang paling susah dimengerti untuk orang
yang baru mengenal OO adalah polymorphism. Pada java, adalah untuk
mengerti Interface dan Abstract. Saya pun dulu begitu.

Salam.

2008/12/16 ahmad kundzori :
> kalo buat object dari class yang implements interface itu yang bener yang
> mana
> antara dua di bawah ini (reference type-nya):
> // interfacenya ContohInterface, Classnya ClassImplementsContohInterface
>
> ClassImplemetsContohInterface obj1 = new ClassImplemetsContohInterface();
>
> //.
>
> ContohInterface obj1 = new ClassImplemetsContohInterface();
>
> // klo dicompile trus di run kok ga' ada perbedaan...
>


-- 
Ferdinand Neman

Cows who loves java
http://www.jroller.com/page/newm4n



Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Jecki
dua2nya valid. yang kedua lebih safe secara design. lain kali kalau
mau diganti obj1 bukan pake class ClassImplementsContohInterface maka
akan lebih mudah.

in general, usahakan deklarasi variable itu se-generic mungkin (pakai
supertype yg secara minimum bisa mengakomodasi kebutuhan kita).

2008/12/16 ahmad kundzori :
> kalo buat object dari class yang implements interface itu yang bener yang
> mana
> antara dua di bawah ini (reference type-nya):
> // interfacenya ContohInterface, Classnya ClassImplementsContohInterface
>
> ClassImplemetsContohInterface obj1 = new ClassImplemetsContohInterface();
>
> //.
>
> ContohInterface obj1 = new ClassImplemetsContohInterface();
>
> // klo dicompile trus di run kok ga' ada perbedaan...
>


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik ahmad kundzori
kalo buat object dari class yang implements interface itu yang bener yang mana
antara dua di bawah ini (reference type-nya):
// interfacenya ContohInterface, Classnya ClassImplementsContohInterface

ClassImplemetsContohInterface obj1 = new ClassImplemetsContohInterface();

//.

ContohInterface obj1 = new ClassImplemetsContohInterface();

// klo dicompile trus di run kok ga' ada perbedaan...



  

Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Jonathan Handoyo
ni kena ma fanboy nya C++ mah dihabisin nico...
semua sih ada kelebihan ada kekurangan...

Regards,
Jonathan Handoyo


2008/12/15 Nicholas I. S. 

>   Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design
> pattern, tapi dia bingung kenapa di Java ada yang namanya Interface
> sedangkan di OO language laen kayak C++/C# nggak ada.
>
> Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya
> lebih mantep dari C++. Inheritance cuman boleh dari single parent class, gak
> kayak C++ yang bisa extends dari banyak super class yang side effectnya jadi
> ga jelas apa yang diturunin kalo 2 super class punya method signature yang
> sama misalnya.
>
> Nah, jadi in order to support the notion of multiple inheritance muncul
> yang namanya Interface, which is the apt solution to this problem. Kalo pake
> multiple inheritance, maka kita bisa punya multiple implementation untuk 1
> method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya
> method signature yang sama tapi implementationnya tetep 1 di class yang
> implements nya.
>
> --- On Mon, 12/15/08, Harry Saputra Kartono 
> >
> wrote:
>
> > From: Harry Saputra Kartono 
> >
> > Subject: Re: [JUG-Indonesia] mengapa interface?
>
> > To: jug-indonesia@yahoogroups.com 
> > Date: Monday, December 15, 2008, 5:27 AM
> > kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren
> > tuh penjelasannya.
> >
> > Pada 15 Desember 2008 11:29, ahmad kundzori
> > > menulis:
> > >
> > > ...dalam proses pemahaman, perenungan, penghayatan,
> > dan pengamalan
> > > (halah..apaan sih, he he) :D
> >
> > --
> > Regards,
> >
> > Harry S. Kartono
> > http://harry.amn.co.id
> > http://hskartono.wordpress.com
> >
> > 
> >
> > Kalau mau keluar dari mailing list ini, caranya kirim
> > sebuah email ke 
> > jug-indonesia-unsubscr...@yahoogroups.com
> .
> >
> > Jangan lupa, website JUG Indonesia adalah
> > http://www.jug.or.id
> >
> > Yahoo! Groups Links
> >
> >
> >
>
>  
>


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Hendry Luk
Sorry supaya gak misleading... Most .net mocking frameworks BISA mock
concrete class.. tapi liwat proxy n brarti tetep require DI (yg better off
pake interface). TypeMock bisa langsung instrument class bytecode at
runtime.

On Tue, Dec 16, 2008 at 2:57 PM, Hendry Luk  wrote:

> Hehe gw passive audience :)
>
> Kurang lebih hampir selalu dipake... Mostly karna 3 reasons:
> 1. TDD. Rata2 mocking framework di .net cuma support interfaces. Satu2nya
> mocking framework yg gw tau support concrete class dan static methods
> (sekaligus satu2nya yg gak open-source) adalah TypeMock, yg berbayar dan
> sering dianggap encourage bad practice.
> 2. Requirement dari many frameworks. Soalnya .net agak ketat dalam
> inherittable method. By default semua method adalah sealed, kecuali
> explicitely dinotate sebagai virtual (point of extensibility). Therefore,
> dynamic proxy (AOP, ORM lazy load, etc) cuma effective kalo codenya pake
> interface. Otherwise lo bakal mesti notate semua method lo jadi virtual.
> 3. Generally architecture di .net (yg kurang lebih juga sama di java),
> adalah onion architecture (
> http://jeffreypalermo.com/blog/the-onion-architecture-part-1/). Domain
> layer di paling core, lalu paling luarnya adalah infrastructure (UI termasuk
> infrastructure). Satu2nya cara achieve ini (yg juga karna circular
> dependency restriction) ya cuma dengan interface
>
> Tapi API bawaan .net framework emang sering lacking interface, jadi sering
> susah di-unit-test as it stands. Tapi karna sering diprotes, library2
> keluaran redmond recently semuanya based on interface n berpihak ke camp TDD
>
>
> On Tue, Dec 16, 2008 at 1:01 PM, Adelwin Handoyo wrote:
>
>>Weh henluk…
>>
>> Hahahha
>>
>> Gua baru ngeh lu ternyata join milis sini juga :p
>>
>> Practice nya sampe sekarang khan .net jarang pake interface pattern khan?
>>
>> Yah at least yang gua liat sih yah…
>>
>>
>>
>>
>>
>> Adelwin Handoyo
>> *COTS (DS) Consultant, Financial Services Industry*
>> *NCS Pte. Ltd**.*
>> (Reg. No. 198101793G)
>> A member of the Singapore Telecom Group
>> 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141)
>> DID : (65) 6556 6785 Fax: (65) 6483 5420
>> Email ID :* **ahand...@ncs.com.sg*
>> Website: http://www.ncs.com.sg
>>
>> * DISCLAIMER **
>>
>> This e-mail and any attachments thereto are intended for the sole use of
>> the recipient(s) named above and may contain information that is
>> confidential and/or proprietary to the NCS Group. Any use of the information
>> contained herein (including, but not limited to, total or partial
>> reproduction, communication, or dissemination in any form) by persons other
>> than the intended recipient(s) is prohibited. If you have received this
>> e-mail in error, please notify the sender immediately and delete it.
>>
>>  NCS Pte. Ltd. - Reg. No. 198101793G ****
>>   --
>>
>> *From:* jug-indonesia@yahoogroups.com [mailto:
>> jug-indone...@yahoogroups.com] *On Behalf Of *Hendry Luk
>> *Sent:* Tuesday, December 16, 2008 6:38 AM
>> *To:* jug-indonesia@yahoogroups.com
>> *Subject:* Re: [JUG-Indonesia] mengapa interface?
>>
>>
>>
>> Dari awal dah ada ;)
>>
>> 2008/12/15 Nicholas I. S. 
>>
>> Sorry, seharusnya gak include C#. AFAIK C# versi2 awal blom support adanya
>> interface, dan baru ada belakangan. Padahal C# itu keluarnya belakangan di
>> banding Java.
>>
>>
>>   
>>
>
>


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Hendry Luk
Hehe gw passive audience :)

Kurang lebih hampir selalu dipake... Mostly karna 3 reasons:
1. TDD. Rata2 mocking framework di .net cuma support interfaces. Satu2nya
mocking framework yg gw tau support concrete class dan static methods
(sekaligus satu2nya yg gak open-source) adalah TypeMock, yg berbayar dan
sering dianggap encourage bad practice.
2. Requirement dari many frameworks. Soalnya .net agak ketat dalam
inherittable method. By default semua method adalah sealed, kecuali
explicitely dinotate sebagai virtual (point of extensibility). Therefore,
dynamic proxy (AOP, ORM lazy load, etc) cuma effective kalo codenya pake
interface. Otherwise lo bakal mesti notate semua method lo jadi virtual.
3. Generally architecture di .net (yg kurang lebih juga sama di java),
adalah onion architecture (
http://jeffreypalermo.com/blog/the-onion-architecture-part-1/). Domain layer
di paling core, lalu paling luarnya adalah infrastructure (UI termasuk
infrastructure). Satu2nya cara achieve ini (yg juga karna circular
dependency restriction) ya cuma dengan interface

Tapi API bawaan .net framework emang sering lacking interface, jadi sering
susah di-unit-test as it stands. Tapi karna sering diprotes, library2
keluaran redmond recently semuanya based on interface n berpihak ke camp TDD

On Tue, Dec 16, 2008 at 1:01 PM, Adelwin Handoyo  wrote:

>Weh henluk…
>
> Hahahha
>
> Gua baru ngeh lu ternyata join milis sini juga :p
>
> Practice nya sampe sekarang khan .net jarang pake interface pattern khan?
>
> Yah at least yang gua liat sih yah…
>
>
>
>
>
> Adelwin Handoyo
> *COTS (DS) Consultant, Financial Services Industry*
> *NCS Pte. Ltd**.*
> (Reg. No. 198101793G)
> A member of the Singapore Telecom Group
> 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141)
> DID : (65) 6556 6785 Fax: (65) 6483 5420
> Email ID :* **ahand...@ncs.com.sg*
> Website: http://www.ncs.com.sg
>
> * DISCLAIMER **
>
> This e-mail and any attachments thereto are intended for the sole use of
> the recipient(s) named above and may contain information that is
> confidential and/or proprietary to the NCS Group. Any use of the information
> contained herein (including, but not limited to, total or partial
> reproduction, communication, or dissemination in any form) by persons other
> than the intended recipient(s) is prohibited. If you have received this
> e-mail in error, please notify the sender immediately and delete it.
>
>  NCS Pte. Ltd. - Reg. No. 198101793G 
>   --
>
> *From:* jug-indonesia@yahoogroups.com [mailto:
> jug-indone...@yahoogroups.com] *On Behalf Of *Hendry Luk
> *Sent:* Tuesday, December 16, 2008 6:38 AM
> *To:* jug-indonesia@yahoogroups.com
> *Subject:* Re: [JUG-Indonesia] mengapa interface?
>
>
>
> Dari awal dah ada ;)
>
> 2008/12/15 Nicholas I. S. 
>
> Sorry, seharusnya gak include C#. AFAIK C# versi2 awal blom support adanya
> interface, dan baru ada belakangan. Padahal C# itu keluarnya belakangan di
> banding Java.
>
>
>   
>


RE: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Adelwin Handoyo
Weh henluk.
Hahahha
Gua baru ngeh lu ternyata join milis sini juga :p
Practice nya sampe sekarang khan .net jarang pake interface pattern khan?
Yah at least yang gua liat sih yah.
 
 
Adelwin Handoyo
COTS (DS) Consultant, Financial Services Industry
NCS Pte. Ltd.
(Reg. No. 198101793G)
A member of the Singapore Telecom Group
5 Ang Mo Kio St 62, NCS Hub, Singapore (569141)
DID : (65) 6556 6785 Fax: (65) 6483 5420
Email ID : ahand...@ncs.com.sg
Website: http://www.ncs.com.sg 
 DISCLAIMER * 
This e-mail and any attachments thereto are intended for the sole use of the 
recipient(s)
named above and may contain information that is confidential and/or proprietary 
to the NCS
Group. Any use of the information contained herein (including, but not limited 
to, total
or partial reproduction, communication, or dissemination in any form) by 
persons other
than the intended recipient(s) is prohibited. If you have received this e-mail 
in error,
please notify the sender immediately and delete it.
 NCS Pte. Ltd. - Reg. No. 198101793G  
  _  

From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On 
Behalf Of
Hendry Luk
Sent: Tuesday, December 16, 2008 6:38 AM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] mengapa interface?
 
Dari awal dah ada ;)
2008/12/15 Nicholas I. S. 

Sorry, seharusnya gak include C#. AFAIK C# versi2 awal blom support adanya 
interface, dan
baru ada belakangan. Padahal C# itu keluarnya belakangan di banding Java.



 


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Hendry Luk
Dari awal dah ada ;)

2008/12/15 Nicholas I. S. 

>   Sorry, seharusnya gak include C#. AFAIK C# versi2 awal blom support
> adanya interface, dan baru ada belakangan. Padahal C# itu keluarnya
> belakangan di banding Java.
>
>
>


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik hadi75
2008/12/15 Harry Saputra Kartono 

> kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren tuh
> penjelasannya.
>
> Pada 15 Desember 2008 11:29, ahmad kundzori  menulis:
> >
> > ...dalam proses pemahaman, perenungan, penghayatan, dan pengamalan
> > (halah..apaan sih, he he) :D
>
> --
>

berikut buku yg membahas interface ..

http://rapidshare.com/files/43940388/Pragmatic_Bookshelf_Interface_Oriented_Design.rar


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Jecki
2008/12/15 Adelwin Handoyo :
> Actually nik...
> Interface ituh tujuan utama nya tuh dulu untuk mencegah yang namanya diamond
> inheritance...

yup, diamond inheritance emang hal yang dihindari waktu design
language java. to simplify thing diputuskan untuk single inheritance
saja.

masalahnya kadang emang dibutuhkan untuk membuat suatu class yang
combine behaviour dari 2 type lain. coba baca qi4j
(http://www.qi4j.org/) dan "composite oriented programming" nya.
mungkin pak Edward Yakop mau jelasin lebih rinci :D ?.

IMO soal design language seperti ini masih evolving terus karena kita
blom menemukan solusi optimal. yang ada sampai sekarang juga masih byk
keterbatasan.

> Pernah di bahas dulu nih...
> Class B dan C extends dari A...
> Kalo ada class D, dan dia extends B dan C... lalu? super class dari super
> class nya khan
> class A...
> Tapi.. A yang mana?
> Yang datang dari B ato yang datang dari C..
>
> Dan betul itu kata Jecki... di C++ ada nya pure virtual function..
> Which is kira2 mirip sama totally abstract class kalo di java..
>


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Nicholas I. S.
Sorry, seharusnya gak include C#. AFAIK C# versi2 awal blom support adanya 
interface, dan baru ada belakangan. Padahal C# itu keluarnya belakangan di 
banding Java.

Setau aku di C++ nggak ada interface, bisa kasi link yang nunjukkin kalo bener2 
ada interface di C++ yang bener2 primitive syntax dan bukannya user-defined 
macro? Dan apakah konsepnya bener2 sama ama Interface di Java? 

Proprietary language kayak Objective C gak relevan dalam diskusi ini, karena 
itu bukan standard dalam C in general. 


--- On Mon, 12/15/08, Reza Alaudin  wrote:
From: Reza Alaudin 
Subject: Re: [JUG-Indonesia] mengapa interface?
To: jug-indonesia@yahoogroups.com
Date: Monday, December 15, 2008, 8:49 AM





From: Nicholas I. S. 
To: jug-indonesia@yahoogroups.com
Sent: Monday, December 15, 2008 5:40:25 PM
Subject: Re: [JUG-Indonesia] mengapa interface?

>>tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO 
>>language laen kayak C++/C# nggak ada. -1
FYI C++/C# juga ada interface
walau karakteristiknya beda, syntaxnya beda ... tapi asal mula interface di 
java AFAIK itu dari C++
selain itu.. Objective C nya Mac OS/iPhone
 juga punya interface..
syntaxnya kek gini..

@interface{
 doAction();
// bla2
}

regards,
Reza


regards,
From: Nicholas I. S. 
To: jug-indonesia@yahoogroups.com
Sent: Monday, December 15, 2008 5:40:25 PM
Subject: Re: [JUG-Indonesia] mengapa interface?











Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design 
pattern, tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan 
di OO language laen kayak C++/C# nggak ada. 



Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih 
mantep dari C++. Inheritance cuman boleh dari single parent class, gak kayak 
C++ yang bisa extends dari banyak super class yang side effectnya jadi ga jelas 
apa yang diturunin kalo 2 super class punya method signature yang sama misalnya.



Nah, jadi in order to support the notion of multiple inheritance muncul yang 
namanya Interface, which is the apt solution to this problem. Kalo pake 
multiple inheritance, maka kita bisa punya multiple implementation untuk 1 
method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya 
method signature yang sama tapi implementationnya tetep 1 di class yang 
implements nya. 



--- On Mon, 12/15/08, Harry Saputra Kartono  wrote:



> From: Harry Saputra Kartono 

> Subject: Re: [JUG-Indonesia] mengapa interface?

> To: jug-indonesia@ yahoogroups. com

> Date: Monday, December 15, 2008, 5:27 AM

> kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren

> tuh penjelasannya.

> 

> Pada 15 Desember 2008 11:29, ahmad kundzori

>  menulis:

> >

> > ...dalam proses pemahaman, perenungan, penghayatan,

> dan pengamalan

> > (halah..apaan sih, he he) :D

> 

> -- 

> Regards,

> 

> Harry S. Kartono

> http://harry. amn.co.id

> http://hskartono. wordpress. com

> 

>  - - --

> 

> Kalau mau keluar dari mailing list ini, caranya kirim

> sebuah email ke jug-indonesia- unsubscribe@ yahoogroups. com.

> 

> Jangan lupa, website JUG Indonesia adalah

> http://www.jug. or.id

> 

> Yahoo! Groups Links

> 

> 

> 




  






  




  

Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Jecki
karena java adalah bahasa yang strongly static typed dan dukungan IDE
yang sangat bagus maka penggunaan interface lebih memudahkan
dibandingkan dengan annotation. dengan interface maka contract menjadi
sangat strict.

misal kita punya interface yg mendeklarasikan 3 buah method di
dalamnya maka class yang mau mengimplementasikan interface ini wajib
mengimplementasikan keseluruhannya (kecuali kita buat abstract class).
mau ga mau, dipaksa mau.

bandingkan dengan annotation. kita ga bisa memaksakan contract kita
karena pada saat compile kita tidak tau apakah developer sudah memakai
kumpulan annotation secara genap. no compile time checking.

pemakaian annotation ini kalau dilihat dipengaruhi oleh bahasa yg
loosely typed yang cukup populer sekarang ini. masalahnya kadang ada
penggunaan yang tidak pada tempatnya. tidak semua teknik di language A
berguna di language B.

2008/12/13 irfani YangBaikHati :
> benar nih penjelasan pak Reza, utk polymorph dan sbg kontrak.
> krna dijava polymorph kalau tipe classnya beda tu ga bisa, dgn interface dia
> cek tipenya sama dan pasti punya method yg sama.
>
> saya pribadi malas pake interface, cape jg buat2nya. secara konsep harusnya
> pake annotation bisa gantiin bwt polymorphnya, level pengecekannya dimethod
> bukan dtipe class
>


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Reza Alaudin
he he... ternyata iya...
basicnya emang gak ada...
ternyata c++ yg ada interfacenya itu bawaan VS 7 compilernya M$

http://www.codeguru.com/cpp/cpp/cpp_mfc/oop/article.php/c9989/


kenalnya C++ dulu dari VC seeh...
kirain standart... ternyata oh ternyata...

Regards,
Reza



From: Adelwin Handoyo 
To: jug-indonesia@yahoogroups.com
Sent: Monday, December 15, 2008 6:00:51 PM
Subject: RE: [JUG-Indonesia] mengapa interface?


Actually nik...
Interface ituh tujuan utama nya tuh dulu untuk mencegah yang namanya diamond
inheritance. ..
Pernah di bahas dulu nih...
Class B dan C extends dari A...
Kalo ada class D, dan dia extends B dan C... lalu? super class dari super class 
nya khan
class A...
Tapi.. A yang mana?
Yang datang dari B ato yang datang dari C..

Dan betul itu kata Jecki... di C++ ada nya pure virtual function..
Which is kira2 mirip sama totally abstract class kalo di java..

Adelwin Handoyo
COTS (DS) Consultant, Financial Services Industry 
NCS Pte. Ltd. 
(Reg. No. 198101793G) 
A member of the Singapore Telecom Group 
5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) 
DID : (65) 6556 6785 Fax: (65) 6483 5420 
Email ID : ahand...@ncs. com.sg 
Website: http://www.ncs. com.sg 
 DISCLAIMER *
This e-mail and any attachments thereto are intended for the sole use of the 
recipient(s)
named above and may contain information that is confidential and/or proprietary 
to the NCS
Group. Any use of the information contained herein (including, but not limited 
to, total
or partial reproduction, communication, or dissemination in any form) by 
persons other
than the intended recipient(s) is prohibited. If you have received this e-mail 
in error,
please notify the sender immediately and delete it.
 NCS Pte. Ltd. - Reg. No. 198101793G 

-Original Message-
From: jug-indonesia@ yahoogroups. com [mailto:jug-indonesia@ yahoogroups. com] 
On Behalf Of
Nicholas I. S.
Sent: Monday, December 15, 2008 4:40 PM
To: jug-indonesia@ yahoogroups. com
Subject: Re: [JUG-Indonesia] mengapa interface?

Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, 
tapi dia
bingung kenapa di Java ada yang namanya Interface sedangkan di OO language laen 
kayak
C++/C# nggak ada. 

Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih 
mantep dari
C++. Inheritance cuman boleh dari single parent class, gak kayak C++ yang bisa 
extends
dari banyak super class yang side effectnya jadi ga jelas apa yang diturunin 
kalo 2 super
class punya method signature yang sama misalnya.

Nah, jadi in order to support the notion of multiple inheritance muncul yang 
namanya
Interface, which is the apt solution to this problem. Kalo pake multiple 
inheritance, maka
kita bisa punya multiple implementation untuk 1 method signature. Sedangkan 
kalo pake
Interface, walaupun 2 interface punya method signature yang sama tapi 
implementationnya
tetep 1 di class yang implements nya. 

--- On Mon, 12/15/08, Harry Saputra Kartono  wrote:

> From: Harry Saputra Kartono 
> Subject: Re: [JUG-Indonesia] mengapa interface?
> To: jug-indonesia@ yahoogroups. com
> Date: Monday, December 15, 2008, 5:27 AM
> kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren
> tuh penjelasannya.
> 
> Pada 15 Desember 2008 11:29, ahmad kundzori
>  menulis:
> >
> > ...dalam proses pemahaman, perenungan, penghayatan,
> dan pengamalan
> > (halah..apaan sih, he he) :D
> 
> -- 
> Regards,
> 
> Harry S. Kartono
> http://harry. amn.co.id
> http://hskartono. wordpress. com
> 
>  - - --
> 
> Kalau mau keluar dari mailing list ini, caranya kirim
> sebuah email ke jug-indonesia- unsubscribe@ yahoogroups. com.
> 
> Jangan lupa, website JUG Indonesia adalah
> http://www.jug. or.id
> 
> Yahoo! Groups Links
> 
> 
> 

 - - --

Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke
jug-indonesia- unsubscribe@ yahoogroups. com.

Jangan lupa, website JUG Indonesia adalah http://www.jug. or.id

Yahoo! Groups Links




  

RE: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Adelwin Handoyo
Actually nik...
Interface ituh tujuan utama nya tuh dulu untuk mencegah yang namanya diamond
inheritance...
Pernah di bahas dulu nih...
Class B dan C extends dari A...
Kalo ada class D, dan dia extends B dan C... lalu? super class dari super class 
nya khan
class A...
Tapi.. A yang mana?
Yang datang dari B ato yang datang dari C..

Dan betul itu kata Jecki... di C++ ada nya pure virtual function..
Which is kira2 mirip sama totally abstract class kalo di java..


Adelwin Handoyo
COTS (DS) Consultant, Financial Services Industry 
NCS Pte. Ltd. 
(Reg. No. 198101793G) 
A member of the Singapore Telecom Group 
5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) 
DID : (65) 6556 6785 Fax: (65) 6483 5420 
Email ID : ahand...@ncs.com.sg 
Website: http://www.ncs.com.sg 
 DISCLAIMER *
This e-mail and any attachments thereto are intended for the sole use of the 
recipient(s)
named above and may contain information that is confidential and/or proprietary 
to the NCS
Group. Any use of the information contained herein (including, but not limited 
to, total
or partial reproduction, communication, or dissemination in any form) by 
persons other
than the intended recipient(s) is prohibited. If you have received this e-mail 
in error,
please notify the sender immediately and delete it.
 NCS Pte. Ltd. - Reg. No. 198101793G 

-Original Message-
From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On 
Behalf Of
Nicholas I. S.
Sent: Monday, December 15, 2008 4:40 PM
To: jug-indonesia@yahoogroups.com
Subject: Re: [JUG-Indonesia] mengapa interface?

Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, 
tapi dia
bingung kenapa di Java ada yang namanya Interface sedangkan di OO language laen 
kayak
C++/C# nggak ada. 

Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih 
mantep dari
C++. Inheritance cuman boleh dari single parent class, gak kayak C++ yang bisa 
extends
dari banyak super class yang side effectnya jadi ga jelas apa yang diturunin 
kalo 2 super
class punya method signature yang sama misalnya.

Nah, jadi in order to support the notion of multiple inheritance muncul yang 
namanya
Interface, which is the apt solution to this problem. Kalo pake multiple 
inheritance, maka
kita bisa punya multiple implementation untuk 1 method signature. Sedangkan 
kalo pake
Interface, walaupun 2 interface punya method signature yang sama tapi 
implementationnya
tetep 1 di class yang implements nya. 




--- On Mon, 12/15/08, Harry Saputra Kartono  wrote:

> From: Harry Saputra Kartono 
> Subject: Re: [JUG-Indonesia] mengapa interface?
> To: jug-indonesia@yahoogroups.com
> Date: Monday, December 15, 2008, 5:27 AM
> kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren
> tuh penjelasannya.
> 
> Pada 15 Desember 2008 11:29, ahmad kundzori
>  menulis:
> >
> > ...dalam proses pemahaman, perenungan, penghayatan,
> dan pengamalan
> > (halah..apaan sih, he he) :D
> 
> -- 
> Regards,
> 
> Harry S. Kartono
> http://harry.amn.co.id
> http://hskartono.wordpress.com
> 
> 
> 
> Kalau mau keluar dari mailing list ini, caranya kirim
> sebuah email ke jug-indonesia-unsubscr...@yahoogroups.com.
> 
> Jangan lupa, website JUG Indonesia adalah
> http://www.jug.or.id
> 
> Yahoo! Groups Links
> 
> 
> 

  



Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke
jug-indonesia-unsubscr...@yahoogroups.com.

Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id

Yahoo! Groups Links





Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Reza Alaudin
sorry ralat :D

>>syntaxnya kek gini..

>>@interface{
>> doAction();
>>// bla2
>>}
maksudnya kek gini...

@interface NamaInterface: NSObject {
int variable;
}

-(void) doAction;
//bla2
@end

regards,
Reza



From: Reza Alaudin 
To: jug-indonesia@yahoogroups.com
Sent: Monday, December 15, 2008 5:49:51 PM
Subject: Re: [JUG-Indonesia] mengapa interface?


From: Nicholas I. S. 
To: jug-indonesia@ yahoogroups. com
Sent: Monday, December 15, 2008 5:40:25 PM
Subject: Re: [JUG-Indonesia] mengapa interface?

>>tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO 
>>language laen kayak C++/C# nggak ada. 
-1
FYI C++/C# juga ada interface
walau karakteristiknya beda, syntaxnya beda ... tapi asal mula interface di 
java AFAIK itu dari C++
selain itu.. Objective C nya Mac OS/iPhone juga punya interface..
syntaxnya kek gini..

@interface{
 doAction();
// bla2
}

regards,
Reza


regards,



From: Nicholas I. S. 
To: jug-indonesia@ yahoogroups. com
Sent: Monday, December 15, 2008 5:40:25 PM
Subject: Re: [JUG-Indonesia] mengapa interface?


Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, 
tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO 
language laen kayak C++/C# nggak ada. 

Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih 
mantep dari C++. Inheritance cuman boleh dari single parent class, gak kayak 
C++ yang bisa extends dari banyak super class yang side effectnya jadi ga jelas 
apa yang diturunin kalo 2 super class punya method signature yang sama misalnya.

Nah, jadi in order to support the notion of multiple inheritance muncul yang 
namanya Interface, which is the apt solution to this problem. Kalo pake 
multiple inheritance, maka kita bisa punya multiple implementation untuk 1 
method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya 
method signature yang sama tapi implementationnya tetep 1 di class yang 
implements nya. 

--- On Mon, 12/15/08, Harry Saputra Kartono  wrote:

> From: Harry Saputra Kartono 
> Subject: Re: [JUG-Indonesia] mengapa interface?
> To: jug-indonesia@ yahoogroups. com
> Date: Monday, December 15, 2008, 5:27 AM
> kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren
> tuh penjelasannya.
> 
> Pada 15 Desember 2008 11:29, ahmad kundzori
>  menulis:
> >
> > ...dalam proses pemahaman, perenungan, penghayatan,
> dan pengamalan
> > (halah..apaan sih, he he) :D
> 
> -- 
> Regards,
> 
> Harry S. Kartono
> http://harry. amn.co.id
> http://hskartono. wordpress. com
> 
>  - - --
> 
> Kalau mau keluar dari mailing list ini, caranya kirim
> sebuah email ke jug-indonesia- unsubscribe@ yahoogroups. com.
> 
> Jangan lupa, website JUG Indonesia adalah
> http://www.jug. or.id
> 
> Yahoo! Groups Links
> 
> 
> 





  

Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Jecki
2008/12/15 Reza Alaudin :
> From: Nicholas I. S. 
> To: jug-indonesia@yahoogroups.com
> Sent: Monday, December 15, 2008 5:40:25 PM
> Subject: Re: [JUG-Indonesia] mengapa interface?
>
>>>tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO
>>> language laen kayak C++/C# nggak ada.
> -1
> FYI C++/C# juga ada interface
> walau karakteristiknya beda, syntaxnya beda ... tapi asal mula interface di
> java AFAIK itu dari C++
> selain itu.. Objective C nya Mac OS/iPhone juga punya interface..
> syntaxnya kek gini..
>

AFAIK C++ ga punya yang namanya interface, at least dalam "language
construct" nya. yang paling mendekati adalah pure virtual function.

> @interface{
>  doAction();
> // bla2
> }
>
> regards,
> Reza
>
>
> regards,


Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Reza Alaudin
From: Nicholas I. S. 
To: jug-indonesia@yahoogroups.com
Sent: Monday, December 15, 2008 5:40:25 PM
Subject: Re: [JUG-Indonesia] mengapa interface?

>>tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO 
>>language laen kayak C++/C# nggak ada. 
-1
FYI C++/C# juga ada interface
walau karakteristiknya beda, syntaxnya beda ... tapi asal mula interface di 
java AFAIK itu dari C++
selain itu.. Objective C nya Mac OS/iPhone juga punya interface..
syntaxnya kek gini..

@interface{
 doAction();
// bla2
}

regards,
Reza


regards,



From: Nicholas I. S. 
To: jug-indonesia@yahoogroups.com
Sent: Monday, December 15, 2008 5:40:25 PM
Subject: Re: [JUG-Indonesia] mengapa interface?


Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, 
tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO 
language laen kayak C++/C# nggak ada. 

Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih 
mantep dari C++. Inheritance cuman boleh dari single parent class, gak kayak 
C++ yang bisa extends dari banyak super class yang side effectnya jadi ga jelas 
apa yang diturunin kalo 2 super class punya method signature yang sama misalnya.

Nah, jadi in order to support the notion of multiple inheritance muncul yang 
namanya Interface, which is the apt solution to this problem. Kalo pake 
multiple inheritance, maka kita bisa punya multiple implementation untuk 1 
method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya 
method signature yang sama tapi implementationnya tetep 1 di class yang 
implements nya. 

--- On Mon, 12/15/08, Harry Saputra Kartono  wrote:

> From: Harry Saputra Kartono 
> Subject: Re: [JUG-Indonesia] mengapa interface?
> To: jug-indonesia@ yahoogroups. com
> Date: Monday, December 15, 2008, 5:27 AM
> kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren
> tuh penjelasannya.
> 
> Pada 15 Desember 2008 11:29, ahmad kundzori
>  menulis:
> >
> > ...dalam proses pemahaman, perenungan, penghayatan,
> dan pengamalan
> > (halah..apaan sih, he he) :D
> 
> -- 
> Regards,
> 
> Harry S. Kartono
> http://harry. amn.co.id
> http://hskartono. wordpress. com
> 
>  - - --
> 
> Kalau mau keluar dari mailing list ini, caranya kirim
> sebuah email ke jug-indonesia- unsubscribe@ yahoogroups. com.
> 
> Jangan lupa, website JUG Indonesia adalah
> http://www.jug. or.id
> 
> Yahoo! Groups Links
> 
> 
> 




  

Re: [JUG-Indonesia] mengapa interface?

2008-12-15 Terurut Topik Nicholas I. S.
Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, 
tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO 
language laen kayak C++/C# nggak ada. 

Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih 
mantep dari C++. Inheritance cuman boleh dari single parent class, gak kayak 
C++ yang bisa extends dari banyak super class yang side effectnya jadi ga jelas 
apa yang diturunin kalo 2 super class punya method signature yang sama misalnya.

Nah, jadi in order to support the notion of multiple inheritance muncul yang 
namanya Interface, which is the apt solution to this problem. Kalo pake 
multiple inheritance, maka kita bisa punya multiple implementation untuk 1 
method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya 
method signature yang sama tapi implementationnya tetep 1 di class yang 
implements nya. 




--- On Mon, 12/15/08, Harry Saputra Kartono  wrote:

> From: Harry Saputra Kartono 
> Subject: Re: [JUG-Indonesia] mengapa interface?
> To: jug-indonesia@yahoogroups.com
> Date: Monday, December 15, 2008, 5:27 AM
> kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren
> tuh penjelasannya.
> 
> Pada 15 Desember 2008 11:29, ahmad kundzori
>  menulis:
> >
> > ...dalam proses pemahaman, perenungan, penghayatan,
> dan pengamalan
> > (halah..apaan sih, he he) :D
> 
> -- 
> Regards,
> 
> Harry S. Kartono
> http://harry.amn.co.id
> http://hskartono.wordpress.com
> 
> 
> 
> Kalau mau keluar dari mailing list ini, caranya kirim
> sebuah email ke jug-indonesia-unsubscr...@yahoogroups.com.
> 
> Jangan lupa, website JUG Indonesia adalah
> http://www.jug.or.id
> 
> Yahoo! Groups Links
> 
> 
> 

  


Re: [JUG-Indonesia] mengapa interface?

2008-12-14 Terurut Topik Harry Saputra Kartono
kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren tuh penjelasannya.

Pada 15 Desember 2008 11:29, ahmad kundzori  menulis:
>
> ...dalam proses pemahaman, perenungan, penghayatan, dan pengamalan
> (halah..apaan sih, he he) :D

-- 
Regards,

Harry S. Kartono
http://harry.amn.co.id
http://hskartono.wordpress.com


Re: [JUG-Indonesia] mengapa interface?

2008-12-14 Terurut Topik ahmad kundzori


...dalam proses pemahaman, perenungan, penghayatan, dan pengamalan 
(halah..apaan sih, he he) :D






>udah banyak menanggapi, udah ngerti belum!?
:D


. 



  

Re: [JUG-Indonesia] mengapa interface?

2008-12-14 Terurut Topik sm96
udah banyak menanggapi, udah ngerti belum!?
:D

2008/12/15 ahmad kundzori :
>
> wow, ternyata banyak yang menanggapi...
> terima kasih banyak...
>
> 



-- 
syaiful.mukhlis
gtalk:syaiful.mukh...@gmail.com


Re: [JUG-Indonesia] mengapa interface?

2008-12-14 Terurut Topik ahmad kundzori

wow, ternyata banyak yang menanggapi...
terima kasih banyak...



  

Re: [JUG-Indonesia] mengapa interface?

2008-12-14 Terurut Topik sawal
udh bnyk yg ngjawab..:)
gw kasih ebook aja deh...
stelah baca buku ini gw jadi 'ngeh' sama yg namanya interface d java..:)
mnurut gw ni ebook cocok buat pmula yg m blajar OOP pake Java trus m nerapin 
bberapa patern yg
sering d terapin oleh bbrapa programmer java..:)
cara jelasinnya unik..:) langsung ada contoh penerapannya..:)

judulnya : 
Head First Design Patern - Gang of Four
http://rapidlibrary.com/download_file_i.php?qq=patterns%20design&file=4706894&desc=Head+First+-+Design+Patterns+.pdf

  - Original Message - 
  From: ahmad kundzori 
  To: jug-indonesia@yahoogroups.com 
  Sent: Saturday, December 13, 2008 5:10 PM
  Subject: [JUG-Indonesia] mengapa interface?



  para master2 java (apa ga' perlu master untuk jawab ini...?), mau tanya...
  mengapa interface itu dibuat, apakah manfaat (yang signifiakan...manfaat yang 
"nendang") dari interface?
  why interface?
  bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class 
yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi 
kenapa?)
  ada contoh yang "nendang"?

  terima kasih atas tanggapannya. :)




   

Re: [JUG-Indonesia] mengapa interface?

2008-12-14 Terurut Topik uud ashr
Saya akan coba jawab juga, jawaban yang simple dan pendek by example,
mudah2an bukan basa basi.

Jika kamu menjadi programmer atau lead programmer atau design object untuk
system/API yang kamu kembangkan.

Case:
Membuat feature registrasi member, hal2 yang harus dimasukkan adalah nama,
login id, email, dll. Nah nanti ketika member itu register, makan akan
dikirimkan email konfirmasi (pastinya) ke alamat email yang sudah dia isi.

Cara Pandang:
Kamu gak perlu secara langsung melakukan coding bikin logic yang secara
fungsi langsung bener2 bisa mengirimkan email. Kamu cukup bikin sesuatu yang
kita sebut interface.

public interface EmailSender {
void send(String destination, String sender, String subject, String
messages) throws SendingException;
}

Nah, kenapa sih gak langsung bikin implementasinya?
Jawaban (1) ya supaya kamu gak terlalu fokus dulu dengan implementasi, jadi
kamu fokus dengan design object/logic yang kamu bikin.
Jawaban (2) supaya kamu bisa mendelegasikan pekerjaan untuk buat
implementasi dari EmailSender itu kepada orang lain, jadi gak harus kamu
yang bikin, kamu bisa mengerjakan hal lain.
Jawaban (3) supaya bisa ada multi implementation, bisa jadi awalnya
implementasi kamu bikin sendiri dengan socket, trus kemudian banyak bugs dan
segala macem sehingga kamu ingin ganti pake Jakarta commons-net, nah kan
pasti logic internal-nya ganti, tapi "How to use EmailSender" tetep donk,
gak berubah. tinggal, kita liat contoh untuk kasus jawaban 3:

// contoh pake implementasi socket
EmailSender emailSender = new MyOwnEmailSenderImplementation();
try {
emailSender.sendEmail("yourm...@yourmail.com", "mym...@mymail.com",
"Welcome", "Thanks");
} catch (SendingException e) {
e.printStackTrace();
{


// misal diganti dengan commons-net
EmailSender emailSender = new CommonsNetEmailSenderImplementation();
try {
emailSender.sendEmail("yourm...@yourmail.com", "mym...@mymail.com",
"Welcome", "Thanks");
} catch (SendingException e) {
e.printStackTrace();
{

Nah, perbedaannya kan cuma di bagian yang ditulis bold.

Masih banyak contoh lain dan manfaat dari interface, biar bagian orang lain
deh, dari gw segitu aja.

Regards,
uudashr

2008/12/13 ahmad kundzori 

>   para master2 java (apa ga' perlu master untuk jawab ini...?), mau
> tanya...
> mengapa interface itu dibuat, apakah manfaat (yang signifiakan...manfaat
> yang "nendang") dari interface?
> why interface?
> bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class
> yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi
> kenapa?)
> ada contoh yang "nendang"?
>
> terima kasih atas tanggapannya. :)
>
>  
>


Re: [JUG-Indonesia] mengapa interface?

2008-12-14 Terurut Topik akmal akmal


mohon pencerahan...
 
bila kita membuat method dengan return value bertipe class yang lain..kira2 apa 
saja yang di kembalikan ya..
 
contoh :
 pertama kita membuat  public class A{
 int i;
    
 
}


  

Re: [JUG-Indonesia] mengapa interface?

2008-12-14 Terurut Topik akmal akmal


mohon pencerahan...
 
bila kita membuat method dengan return value bertipe class yang lain..kira2 apa 
saja yang di kembalikan ya..
 
contoh :
 pertama kita membuat  public class A{
 int i;
   
 
}


  

Re: [JUG-Indonesia] mengapa interface?

2008-12-13 Terurut Topik abangkis
Nostalgia ama thread-nya Arif nih :))

2008/12/13 irfani YangBaikHati :
> benar nih penjelasan pak Reza, utk polymorph dan sbg kontrak.
> krna dijava polymorph kalau tipe classnya beda tu ga bisa, dgn interface dia
> cek tipenya sama dan pasti punya method yg sama.
>
> saya pribadi malas pake interface, cape jg buat2nya. secara konsep harusnya
> pake annotation bisa gantiin bwt polymorphnya, level pengecekannya dimethod
> bukan dtipe class
>
>
> 2008/12/13 Reza Alaudin 
>>
>> Hi Ahmad,...
>> saya coba jawab ya...
>> 
>> >>mengapa interface itu dibuat,
>> >>apakah manfaat (yang signifiakan. ..manfaat yang "nendang") dari
>> >> interface?
>> >>
>> interface di Java merupakan sebuah best practice dari polymorphism...
>> yang definisi simplenya 1 perintah untuk multi implementasi..
>> ada juga kegunaan laen interface sebagai kontrak(perjanjian) yang sangat
>> membantu apabila
>> sebuah program dikerjakan oleh banyak orang...
>> sistem designer/analis menggunakan interface sebagai cetakan... sehingga
>> software
>> yang dihasilkan lebih scalable, readable, flexible dan sebagainya..
>> masuk lagi lebih dalam... interface banyak dipakai di design pattern
>> MVC pattern, Adapter pattern, observer pattern dll...
>> contoh konkrit pemakaian intervace di pattern ada di struts 2
>> java... IMO merupakan bahasa yg heavily interface..
>> satu contoh lagi...
>> kamu gak bakalan bisa menghindari pake interface kalo mrogram di android
>> platform
>> 
>> begitujuga kalo pake fitur threading... slalu dideklarasikan implements
>> runnable..
>> manfaat laen dari interface adalah pengganti dari multiple inheritance..
>>  aku kasih contoh dikit ya...
>> interface IPajak{
>>  public void hitungPajak();
>> }
>> class PajakPpn implements IPajak{
>> public void hitungPajak(){
>> System.out.println("PPN nya 10 %");
>> }
>> }
>>
>>
>> class PajakBarangMewah implements IPajak{
>> public void hitungPajak(){
>> System.out.println("Pajak Barang mewah nya 50 %");
>> }
>> }
>> class KipasAngin {
>> private IPajak pajak;
>> KipasAngin(IPajak pajak){
>> this.pajak=pajak;
>> System.out.println("Harganya Rp. 1000");
>> if(null!=pajak)
>> pajak.hitungPajak();
>> }
>> }
>> class Ferrari {
>> private IPajak pajak;
>> KipasAngin(IPajak pajak){
>> this.pajak=pajak;
>> System.out.println("Harganya Rp. 1.000.000.000");
>> if(null!=pajak)
>> pajak.hitungPajak();
>> else
>> System.out.println("Ini Selundupan ya!!");
>> }
>>
>> }
>> na... dari contoh diatas...
>> Kipas angin bisa fleksibel... kalo negara lagi bangkrut... ya dikenakan
>> pajak barang mewah...
>> kalo negara lagi kaya... ya bisa diisi null.. artinya bebas pajak...
>> trus kelas ferrari cuman dibebani PPN aja.. (kalo bebas pajak ya berarti
>> selundupan...)
>> so... sistem akan flexyble...
>> Regards,
>> Reza
>
>
>
> --
> irfani
>
> http://irfani.web.id
> Y! irfani_s
> 


Re: [JUG-Indonesia] mengapa interface?

2008-12-13 Terurut Topik Adelwin Handoyo
i have a pitch...
say like this..
you're making a framework, or a framework glue..
BUT, u're not yet sure how to build the database access..
u're even not sure yet if u want to use oracle or the other..
but u know, when u want to save a data from the business layer, all u need
to do is just call one method, called "save".
now, here u create one interface, let's name it "DatabaseAccess"
all u know right now is that u need 3 different method for each Domain
Model, save, update and delete.

when the time comes for you to build the Persistent Layers, u know that you
want to have one characteristic.
the database access class should have 3 method said above..
and by this time you already know you want to use oracle for the database
server.
so you create 1 class OracleDatabaseAccess..
this class should implement DatabaseAccess interface, hence this class will
have 3 basic method, save, update, and delete.

in the business layer, all you have to do is just this
DatabaseAccess da = new OracleDatabaseAccess();
da.save(someDataModel);
right?
kinda looks like hibernate right?
wrong..
everything does this..
here's where interface pattern comes to place...
IF.. if you're trying to build a new DatabaseAccess class using MySQL, how?
u create MySQLDatabaseAccess..
so in turn u just call DatabaseAccess da = new MySQLDatabaseAccess();
right?
u want to parameterize this...
here's where spring comes in...
DatabaseAccess da =
CustomSpringBeanFactory.getInstance().getDatabaseAccess();
you parameterize the DatabaseAccess you're going to use by using spring's
configuration;
so when u want to change the database u just change the configuration,
right? cute right?
so no matter what database you're using you're never gonna need to change
the code anymore..
you realize that u're building an enterprise application where memory has to
be watched and conserved.
so now you're thinking on how to save memory.
if every session needs at least 1 DatabaseAccess to do database action, then
there will be class blow up right here..
here's where singleton comes in handy..
BUT... there's a big flaw here, u start to separate the Data Model and
Domain Model(Business Logic)..
u think that the DatabaseAccess interface will only handle database
operations right?
this is where the Anemic Domain Model starts..in my opinion...

I totally agree with Thomas' blog about Spring and AnemicDomainModel...
spring does NOT endorse the implementation of AnemicDomainModel, but it does
make it easier...

OK so now we're going to look at it from a different perspective..
if the DataModel models itself from tables in the database, and PageModel
models itself from the page thats using it.
u start to think to fill in the gap..
how to transform DataModel into PageModel.. AnemicDomainModel right HERE!
further more u're already using singleton.. it only makes it easier right?

so how?
this is how we used to do it..
but separating BusinessLogic from DataModel is totally against OOP principal
in the first place where Data and Procedure should be at the same level...
the bad thing about AnemicDomainModel is that the DataModel cannot guarantee
their correctness any moment, because their validation and mutation logic is
placed somewhere outside (most likely in multiple places).

so here's where i ask..
if not like this... then HOW?
i've got some ideas in my head...


Regards,

Adelwin Handoyo
adel...@gmail.com
Jay Leno  - "The reason there are two senators for each state is so that one
can be the designated driver."


Re: [JUG-Indonesia] mengapa interface?

2008-12-13 Terurut Topik irfani YangBaikHati
benar nih penjelasan pak Reza, utk polymorph dan sbg kontrak.
krna dijava polymorph kalau tipe classnya beda tu ga bisa, dgn interface dia
cek tipenya sama dan pasti punya method yg sama.

saya pribadi malas pake interface, cape jg buat2nya. secara konsep harusnya
pake annotation bisa gantiin bwt polymorphnya, level pengecekannya dimethod
bukan dtipe class


2008/12/13 Reza Alaudin 

>  Hi Ahmad,...
>
> saya coba jawab ya...
> 
>
> >>mengapa interface itu dibuat,
> >>apakah manfaat (yang signifiakan. ..manfaat yang "nendang") dari
> interface?
> >>
> interface di Java merupakan sebuah best practice dari polymorphism...
> yang definisi simplenya 1 perintah untuk multi implementasi..
> ada juga kegunaan laen interface sebagai kontrak(perjanjian) yang sangat
> membantu apabila
> sebuah program dikerjakan oleh banyak orang...
> sistem designer/analis menggunakan interface sebagai cetakan... sehingga
> software
> yang dihasilkan lebih scalable, readable, flexible dan sebagainya..
> masuk lagi lebih dalam... interface banyak dipakai di design pattern
> MVC pattern, Adapter pattern, observer pattern dll...
> contoh konkrit pemakaian intervace di pattern ada di struts 2
> java... IMO merupakan bahasa yg heavily interface..
> satu contoh lagi...
> kamu gak bakalan bisa menghindari pake interface kalo mrogram di android
> platform
> 
> begitujuga kalo pake fitur threading... slalu dideklarasikan implements
> runnable..
>
> manfaat laen dari interface adalah pengganti dari multiple inheritance..
>
>  aku kasih contoh dikit ya...
>
> interface IPajak{
>
>  public void hitungPajak();
> }
>
> class PajakPpn implements IPajak{
>
> public void hitungPajak(){
> System.out.println("PPN nya 10 %");
> }
> }
>
>
>
> class PajakBarangMewah implements IPajak{
>
> public void hitungPajak(){
> System.out.println("Pajak Barang mewah nya 50 %");
> }
> }
>
> class KipasAngin {
> private IPajak pajak;
>
> KipasAngin(IPajak pajak){
> this.pajak=pajak;
> System.out.println("Harganya Rp. 1000");
> if(null!=pajak)
> pajak.hitungPajak();
> }
>
> }
>
> class Ferrari {
> private IPajak pajak;
>
> KipasAngin(IPajak pajak){
> this.pajak=pajak;
> System.out.println("Harganya Rp. 1.000.000.000");
> if(null!=pajak)
> pajak.hitungPajak();
> else
> System.out.println("Ini Selundupan ya!!");
>
> }
>
> }
>
> na... dari contoh diatas...
> Kipas angin bisa fleksibel... kalo negara lagi bangkrut... ya dikenakan
> pajak barang mewah...
> kalo negara lagi kaya... ya bisa diisi null.. artinya bebas pajak...
> trus kelas ferrari cuman dibebani PPN aja.. (kalo bebas pajak ya berarti
> selundupan...)
>
> so... sistem akan flexyble...
>
> Regards,
> Reza
> 
>



-- 
irfani

http://irfani.web.id
Y! irfani_s


Re: [JUG-Indonesia] mengapa interface?

2008-12-13 Terurut Topik Reza Alaudin
Hi Ahmad,...

saya coba jawab ya...


>>mengapa interface itu dibuat, 
>>apakah manfaat (yang signifiakan. ..manfaat yang "nendang") dari interface?
>>
interface di Java merupakan sebuah best practice dari polymorphism...
yang definisi simplenya 1 perintah untuk multi implementasi..
ada juga kegunaan laen interface sebagai kontrak(perjanjian) yang sangat 
membantu apabila
sebuah program dikerjakan oleh banyak orang...
sistem designer/analis menggunakan interface sebagai cetakan... sehingga 
software
yang dihasilkan lebih scalable, readable, flexible dan sebagainya..
masuk lagi lebih dalam... interface banyak dipakai di design pattern
MVC pattern, Adapter pattern, observer pattern dll...
contoh konkrit pemakaian intervace di pattern ada di struts 2
java... IMO merupakan bahasa yg heavily interface..
satu contoh lagi... 
kamu gak bakalan bisa menghindari pake interface kalo mrogram di android 
platform

begitujuga kalo pake fitur threading... slalu dideklarasikan implements 
runnable..

manfaat laen dari interface adalah pengganti dari multiple inheritance..

 aku kasih contoh dikit ya...

interface IPajak{

 public void hitungPajak();
}

class PajakPpn implements IPajak{

public void hitungPajak(){
System.out.println("PPN nya 10 %");
}
}



class PajakBarangMewah implements IPajak{

public void hitungPajak(){
System.out.println("Pajak Barang mewah nya 50 %");
}
}

class KipasAngin {
private IPajak pajak;

KipasAngin(IPajak pajak){
this.pajak=pajak;

System.out.println("Harganya Rp. 1000");

if(null!=pajak)
pajak.hitungPajak();

}

}

class Ferrari {
private IPajak pajak;

KipasAngin(IPajak pajak){
this.pajak=pajak;

System.out.println("Harganya Rp. 1.000.000.000");

if(null!=pajak)
pajak.hitungPajak();

else
System.out.println("Ini Selundupan ya!!");

}


}

na... dari contoh diatas...
Kipas angin bisa fleksibel... kalo negara lagi bangkrut... ya dikenakan pajak 
barang mewah...
kalo negara lagi kaya... ya bisa diisi null.. artinya bebas pajak...
trus kelas ferrari cuman dibebani PPN aja.. (kalo bebas pajak ya berarti 
selundupan...)

so... sistem akan flexyble...

Regards,
Reza


From: ahmad kundzori 
To: jug-indonesia@yahoogroups.com
Sent: Saturday, December 13, 2008 7:10:37 PM
Subject: [JUG-Indonesia]  mengapa interface?


para master2 java (apa ga' perlu master untuk jawab ini...?), mau tanya...
mengapa interface itu dibuat, apakah manfaat (yang signifiakan. ..manfaat yang 
"nendang") dari interface?
why interface?
bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class 
yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi 
kenapa?)
ada contoh yang "nendang"?

terima kasih atas tanggapannya. :)

 


  

Re: [JUG-Indonesia] mengapa interface?

2008-12-13 Terurut Topik Faisal Adnan
Dear all,
class hanya boleh memiliki satu parent class.
Kalau class tersebut ingin meng-inherit behaviour class lain, class
tersebut menggunakan Interface.

Contohnya begini, (misalnya kita membuat software ERP)
Anda membuat class Employee dan Buyer. Parent kedua class ini adalah
class Person.
Relasi dua kelas ini sudah cukup untuk software HRD perkantoran.

Misalkan, software anda sukses besar, sehingga ada perusahaan MLM yg
ingin membeli software  tsb. Di dalam perusahaan MLM, Employee juga Buyer.
Dalam java, ada batasan yaitu satu class hanya boleh meng-extends satu
class saja.

Dgn interface, anda tidak perlu khawatir dg keterbatasan tersebut.
Hirarki class tidak perlu dirubah total.
Kita bisa membuat Interface Customer.

Class Employee dan Buyer mengimplements Interface Buyer dan juga
meng-extends Person.

Kind regards,
Faisal Adnan

2008/12/13 ahmad kundzori :
> para master2 java (apa ga' perlu master untuk jawab ini...?), mau tanya...
> mengapa interface itu dibuat, apakah manfaat (yang signifiakan...manfaat
> yang "nendang") dari interface?
> why interface?
> bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class
> yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi
> kenapa?)
> ada contoh yang "nendang"?
>
> terima kasih atas tanggapannya. :)
>
> 


RE: [JUG-Indonesia] mengapa interface?

2008-12-13 Terurut Topik aku
Coba oprek2 penggunaan class Thread dan interface Runnable. 
Kalau sudah dapet gotcha-nya multithreading dengan Runnable semestinya juga 
sudah paham interface

salam,

Aldian

From: ahmad kundzori 
Date: 12/13/08 10:10
Subject: [JUG-Indonesia] mengapa interface?


  
para master2 java (apa ga' perlu master untuk jawab ini...?), mau tanya...
mengapa interface itu dibuat, apakah manfaat (yang signifiakan...manfaat yang 
"nendang") dari interface?
why interface?
bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class 
yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi 
kenapa?)
ada contoh yang "nendang"?

terima kasih atas tanggapannya. :)
 

[JUG-Indonesia] mengapa interface?

2008-12-13 Terurut Topik ahmad kundzori
para master2 java (apa ga' perlu master untuk jawab ini...?), mau tanya...
mengapa interface itu dibuat, apakah manfaat (yang signifiakan...manfaat yang 
"nendang") dari interface?
why interface?
bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class 
yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi 
kenapa?)
ada contoh yang "nendang"?

terima kasih atas tanggapannya. :)