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 adel...@gmail.com

   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 ahandoyo%40ncs.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 jug-indonesia%40yahoogroups.com[mailto:
 jug-indonesia@yahoogroups.com jug-indonesia%40yahoogroups.com] On Behalf
 Of
 Arif Rachim
 Sent: Thursday, December 18, 2008 12:21 PM
 To: jug-indonesia@yahoogroups.com jug-indonesia%40yahoogroups.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

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 joshua.j...@gmail.com

   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 
 joshua_del...@yahoo.co.ukjoshua_delphi%40yahoo.co.uk
 :

  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 ddha...@gmail.com:
 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 joshua.j...@gmail.com

 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 joshua_del...@yahoo.co.uk:

  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
Ok-ok, untuk penjelasan sisanya bagus, walaupun style class room talk :D

~peace

2008/12/16 Dhanisworo Dhanisworo ddha...@gmail.com:
 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 joshua.j...@gmail.com

 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 joshua_del...@yahoo.co.uk:

  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 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 ddha...@gmail.com:
 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 joshua.j...@gmail.com

 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 joshua_del...@yahoo.co.uk:

  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 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 Joshua Partogi
2008/12/18 Arif Rachim a.ari...@gmail.com:
 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 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 adel...@gmail.com:
 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 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 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 a.ari...@gmail.com


 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 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 hendrym...@gmail.com:
 Oya? Gw kira interface juga inheritance?... Di sastra OO classic kan
 inheritance dipecah 2: class inheritance, interface inheritance.

 2008/12/18 Arif Rachim a.ari...@gmail.com

 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
 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 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 a.ari...@gmail.com
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
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 t_l...@yahoo.com:

 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 a.ari...@gmail.com
 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 Joshua Partogi
2008/12/18 Arif Rachim a.ari...@gmail.com:
 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-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 joshua_del...@yahoo.co.uk:
 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 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 hskart...@gmail.com wrote:

 From: Harry Saputra Kartono hskart...@gmail.com
 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
 khi...@yahoo.com 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 Reza Alaudin
From: Nicholas I. S. ni...@yahoo.com
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. ni...@yahoo.com
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 hskart...@gmail. com wrote:

 From: Harry Saputra Kartono hskart...@gmail. com
 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
 khi...@yahoo. com 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 t_l...@yahoo.com:
 From: Nicholas I. S. ni...@yahoo.com
 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
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 t_l...@yahoo.com
To: jug-indonesia@yahoogroups.com
Sent: Monday, December 15, 2008 5:49:51 PM
Subject: Re: [JUG-Indonesia] mengapa interface?


From: Nicholas I. S. ni...@yahoo. com
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. ni...@yahoo. com
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 hskart...@gmail. com wrote:

 From: Harry Saputra Kartono hskart...@gmail. com
 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
 khi...@yahoo. com 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 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 hskart...@gmail.com wrote:

 From: Harry Saputra Kartono hskart...@gmail.com
 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
 khi...@yahoo.com 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
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 adel...@gmail.com
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 hskart...@gmail. com wrote:

 From: Harry Saputra Kartono hskart...@gmail. com
 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
 khi...@yahoo. com 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 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 t_l...@yahoo.com wrote:
From: Reza Alaudin t_l...@yahoo.com
Subject: Re: [JUG-Indonesia] mengapa interface?
To: jug-indonesia@yahoogroups.com
Date: Monday, December 15, 2008, 8:49 AM





From: Nicholas I. S. ni...@yahoo.com
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. ni...@yahoo.com
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 hskart...@gmail. com wrote:



 From: Harry Saputra Kartono hskart...@gmail. com

 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

 khi...@yahoo. com 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 Adelwin Handoyo adel...@gmail.com:
 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 hadi75
2008/12/15 Harry Saputra Kartono hskart...@gmail.com

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

 Pada 15 Desember 2008 11:29, ahmad kundzori khi...@yahoo.com 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 Hendry Luk
Dari awal dah ada ;)

2008/12/15 Nicholas I. S. ni...@yahoo.com

   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. ni...@yahoo.com

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 adel...@gmail.com 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. ni...@yahoo.com

 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
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 hendrym...@gmail.com 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 adel...@gmail.comwrote:

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. ni...@yahoo.com

 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 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. ni...@yahoo.com

   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 
 hskart...@gmail.comhskartono%40gmail.com
 wrote:

  From: Harry Saputra Kartono hskart...@gmail.com hskartono%40gmail.com
 
  Subject: Re: [JUG-Indonesia] mengapa interface?

  To: jug-indonesia@yahoogroups.com jug-indonesia%40yahoogroups.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
  khi...@yahoo.com khidlr%40yahoo.com 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.comjug-indonesia-unsubscribe%40yahoogroups.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 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 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 khi...@yahoo.com:
 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 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 khi...@yahoo.com:
 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 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 new...@gmail.com
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 khi...@yahoo. com:
 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 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 khi...@yahoo.com:
 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 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 khi...@yahoo.com:
 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 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 adel...@gmail.com
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
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 adel...@gmail.com
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 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 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 joshua.j...@gmail.com
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 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 joshua.j...@gmail.com
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-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-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 khi...@yahoo.com

   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 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%20designfile=4706894desc=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 sm96
udah banyak menanggapi, udah ngerti belum!?
:D

2008/12/15 ahmad kundzori khi...@yahoo.com:

 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


...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 Harry Saputra Kartono
kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren tuh penjelasannya.

Pada 15 Desember 2008 11:29, ahmad kundzori khi...@yahoo.com 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-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. :)
 

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 khi...@yahoo.com:
 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 Reza Alaudin
Hi Ahmad,...

saya coba jawab ya...
CMIIW

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
ada yg mau sanggah ini... :D
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 khi...@yahoo.com
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 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 t_l...@yahoo.com

  Hi Ahmad,...

 saya coba jawab ya...
 CMIIW

 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
 ada yg mau sanggah ini... :D
 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 abangkis
Nostalgia ama thread-nya Arif nih :))

2008/12/13 irfani YangBaikHati irf...@irfani.web.id:
 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 t_l...@yahoo.com

 Hi Ahmad,...
 saya coba jawab ya...
 CMIIW
 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
 ada yg mau sanggah ini... :D
 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