Re: [JUG-Indonesia] mengapa interface?
Nyebut nama micxxxoft di venue kayak gini adalah recipe for humiliation :P 2008/12/18 Adelwin Handoyo > Yah... > Tau lah situ jago... > Tapi comment nya jangan yang "keliru", "salah" ,"gak ada" gitu doang dong.. > Jelasin juga dong alasan nya.. > Namanya juga diskusi mas... > Kalo interface gak di perkenalkan sama Microsoft lalu sama sapa? > With citation kalo perlu... > > > Adelwin Handoyo > COTS (DS) Consultant, Financial Services Industry > NCS Pte. Ltd. > (Reg. No. 198101793G) > A member of the Singapore Telecom Group > 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) > DID : (65) 6556 6785 Fax: (65) 6483 5420 > Email ID : ahand...@ncs.com.sg > Website: http://www.ncs.com.sg > DISCLAIMER * > This e-mail and any attachments thereto are intended for the sole use of > the recipient(s) > named above and may contain information that is confidential and/or > proprietary to the NCS > Group. Any use of the information contained herein (including, but not > limited to, total > or partial reproduction, communication, or dissemination in any form) by > persons other > than the intended recipient(s) is prohibited. If you have received this > e-mail in error, > please notify the sender immediately and delete it. > NCS Pte. Ltd. - Reg. No. 198101793G > > -Original Message- > From: jug-indonesia@yahoogroups.com [mailto: > jug-indonesia@yahoogroups.com ] On Behalf > Of > Arif Rachim > Sent: Thursday, December 18, 2008 12:21 PM > To: jug-indonesia@yahoogroups.com > Subject: Re: [JUG-Indonesia] mengapa interface? > > > Hi All, > > Mo ikutan diskusi nich. > > Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft > > memperkenalkan konsep COM. > > Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of > > indirectness dari aplikasi thd implementasi dari sebuah COM object. > Tujuan > > dari konsep COM sendiri adalah untuk memberikan reusability thus > modularity > > pada level binary dan bukan pada level source code. Interface tsb pada > > gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya > dengan > > mendefinisikan behaviour signature tanpa perlu mengetahui detil > implementasi > > dari behaviour tsb. > > Keliru, interface bukan diperkenalkan sama Microsoft. > > > > > Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain > > maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang > > lebih sama yang itu memberikan layer of indirectness pada aplikasi shg > > meningkatkan modularity dan meningkatkan reusability pada level binary. > > Keliru, Spring tidak mengadopsi interface, interface adalah bagian > dari bahasa seperti bahasa yg support OOP even sebelum java. > > > Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari > > sebagian behaviour pada parent classes (inheritance) dan mengubah > sebagian > > behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn > menggunakan > > behaviour yg diwariskan. > > Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class > > bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism > karena > > tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb. > > Behaviour tsb harus didefiniskan dalam class itu sendiri. > > Maksdunya yg mau dijelasin itu Encapsulation ya. > > > > > Java memberikan fitur single inheritance bagi class unutk menghindari > > kompleksitas yang mungkin muncul akibat property dan behaviour yg > diturunkan > > dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple > > inheritance bagi interface karena pada dasarnya yg diwariskan hanya > > signature dari behaviournya dan bukan behaviour itu sendiri. > > Tidak ada yang namanya "multiple inheritance bagi interface" ini > keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah > "multiple implementation dari interface". > > > > > Java juga memberikan fitur abstract class dan abstract function yg sampai > > titik tertentu penggunaannya hampir mirip dengan penggunaan interface. > Jadi > > pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature > > dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu > sendiri > > maupun mendefinisikan property/member dari interface tsb. Sebuah class > cukup > > memiliki 1 abstract function utk dapat disebut abstract class. Di luar > itu, > > class tsb dapat mendefinisikan member, dan mendefinisikan behaviour > fungsi2 > > yg lain termasuk yg menggunakan abstract fun
Re: [JUG-Indonesia] mengapa interface?
2008/12/18 Arif Rachim : >> Lu juga keliru rif. Interface itu juga mewariskan. Tetapi bedanya >> dengan class yang diwariskan bukanlah implementationnya tetapi >> typenya. Ketika kita men-define konstanta di interface, maka class >> yang mengimplementasikan interface tersebut sudah diwariskan konstanta >> tersebut. Konstanta dan method yang tidak ada implementasi tersebut >> disebut sebagai type. Makanya dengan menggunakan interface we call it >> type inheritance while extending class we call it implementation >> inheritance. > > Walaupun di Java konstanta bisa ditaruh di interface, tapi ini bukan > best practice. Malah bukan best practice yang lebih tepat bad practice > hehehehe. Kenapa bad practice, karena menempatkan konstanta di > interface berarti mengotori seluruh subclass yg implement interface > tersebut. Lebih parahnya lagi bisa terjadi kalau 2 interface memiliki > konstanta dengan datatype dan nama yang sama. Ini benar2 fatal > akibatnya. Coba lihat contoh ini. > > public interface A{ > final String hello = "thisIsA"; > } > public interface B{ > final String hello = "thisIsB"; > } > public class Hello implements A,B{ > public void hello(){ > System.out.println(hello); > } > } > > // tebak apa yang terjadi ?? Memang bukan best practice. Tapi intinya bisa. Gw cuma mau bilang naturenya interface itu untuk mewariskan type. > Moreover balik ke statement joshua, rasanya kita ga pernah denger > istilah type inheritance, type inherited memang make sense. Tapi type > inheritance rasanya belum pernah denger deh ?? Cek di google juga gw > ga nemu istilah ini. Ya ada lah rif. -- Not by might nor by power, but by His Spirit. Read my blog: http://joshuajava.wordpress.com/ Follow me on twitter: http://twitter.com/jpartogi
Re: [JUG-Indonesia] mengapa interface?
design api java memang banyak cacatnya. Makanya terus diperbaiki sama communitiy. Makanya ada JCP, makanya ada JSR 310 contohnya buat date. Rasanya sih banyak developer java yg sudah sadar cacat2nya design api jdk.Tapi itu kan "luka lama" :). Anihow design api yang cacat bukan berarti tidak bisa dipakai. 2008/12/18 Reza Alaudin : > > public interface A{ > final String hello = "thisIsA"; > } > public interface B{ > final String hello = "thisIsB"; > } > public class Hello implements A,B{ > public void hello(){ > System.out.println( hello); > } > } > > // tebak apa yang terjadi ?? > > compile error... > > statement elo bertolak belakan ma source jdk.. > dimana banyak interface mendefinisikan type... > ie: > SwingConstants > javax.sql.Statement > > kalo mo benerin statement > "Malah bukan best practice yang lebih tepat bad practice" > bikin JDK ndiri sana... > hue he he... > > regards > > > ________ > From: Arif Rachim > To: jug-indonesia@yahoogroups.com > Sent: Thursday, December 18, 2008 2:37:54 PM > Subject: Re: [JUG-Indonesia] mengapa interface? > >> Lu juga keliru rif. Interface itu juga mewariskan. Tetapi bedanya >> dengan class yang diwariskan bukanlah implementationnya tetapi >> typenya. Ketika kita men-define konstanta di interface, maka class >> yang mengimplementasikan interface tersebut sudah diwariskan konstanta >> tersebut. Konstanta dan method yang tidak ada implementasi tersebut >> disebut sebagai type. Makanya dengan menggunakan interface we call it >> type inheritance while extending class we call it implementation >> inheritance. > > Walaupun di Java konstanta bisa ditaruh di interface, tapi ini bukan > best practice. Malah bukan best practice yang lebih tepat bad practice > hehehehe. Kenapa bad practice, karena menempatkan konstanta di > interface berarti mengotori seluruh subclass yg implement interface > tersebut. Lebih parahnya lagi bisa terjadi kalau 2 interface memiliki > konstanta dengan datatype dan nama yang sama. Ini benar2 fatal > akibatnya. Coba lihat contoh ini. > > public interface A{ > final String hello = "thisIsA"; > } > public interface B{ > final String hello = "thisIsB"; > } > public class Hello implements A,B{ > public void hello(){ > System.out.println( hello); > } > } > > // tebak apa yang terjadi ?? > > Moreover balik ke statement joshua, rasanya kita ga pernah denger > istilah type inheritance, type inherited memang make sense. Tapi type > inheritance rasanya belum pernah denger deh ?? Cek di google juga gw > ga nemu istilah ini. > >
Re: [JUG-Indonesia] mengapa interface?
public interface A{ final String hello = "thisIsA"; } public interface B{ final String hello = "thisIsB"; } public class Hello implements A,B{ public void hello(){ System.out.println( hello); } } // tebak apa yang terjadi ?? compile error... statement elo bertolak belakan ma source jdk.. dimana banyak interface mendefinisikan type... ie: SwingConstants javax.sql.Statement kalo mo benerin statement "Malah bukan best practice yang lebih tepat bad practice" bikin JDK ndiri sana... hue he he... regards From: Arif Rachim To: jug-indonesia@yahoogroups.com Sent: Thursday, December 18, 2008 2:37:54 PM Subject: Re: [JUG-Indonesia] mengapa interface? > Lu juga keliru rif. Interface itu juga mewariskan. Tetapi bedanya > dengan class yang diwariskan bukanlah implementationnya tetapi > typenya. Ketika kita men-define konstanta di interface, maka class > yang mengimplementasikan interface tersebut sudah diwariskan konstanta > tersebut. Konstanta dan method yang tidak ada implementasi tersebut > disebut sebagai type. Makanya dengan menggunakan interface we call it > type inheritance while extending class we call it implementation > inheritance. Walaupun di Java konstanta bisa ditaruh di interface, tapi ini bukan best practice. Malah bukan best practice yang lebih tepat bad practice hehehehe. Kenapa bad practice, karena menempatkan konstanta di interface berarti mengotori seluruh subclass yg implement interface tersebut. Lebih parahnya lagi bisa terjadi kalau 2 interface memiliki konstanta dengan datatype dan nama yang sama. Ini benar2 fatal akibatnya. Coba lihat contoh ini. public interface A{ final String hello = "thisIsA"; } public interface B{ final String hello = "thisIsB"; } public class Hello implements A,B{ public void hello(){ System.out.println( hello); } } // tebak apa yang terjadi ?? Moreover balik ke statement joshua, rasanya kita ga pernah denger istilah type inheritance, type inherited memang make sense. Tapi type inheritance rasanya belum pernah denger deh ?? Cek di google juga gw ga nemu istilah ini.
Re: [JUG-Indonesia] mengapa interface?
> 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?
Coba balik ke statement awal yg saya tulis : Tidak ada yang namanya "multiple inheritance bagi interface" ini keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah "multiple implementation dari interface". Sedangkan kalau kita bilang "interface juga inheritance". "interface inheritance" dan "interface juga inheritance" adalah 2 makna yang berbeda. Yang satu menujukkan bahwa interface bisa memiliki fungsi yg meng inherit parentnya. Yang satu lagi menunjukkan bahwa inheritance bisa dicapai dengan interface ! Analoginya sama juga seperti bilang jus mangga,mangga juga jus Nah ini beda banget arti keduanya. Adabaiknya coba pelajari maknanya dulu. Nah sekarang kalau ada yg bilang "multiple inheritance bagi interface" itu artinya inheritance dengan multiple interface. Ini jelas keliru, yg tepat multiple implementaion dengan interface. Best Regards, 2008/12/18 Hendry Luk : > Oya? Gw kira interface juga inheritance?... Di sastra OO classic kan > inheritance dipecah 2: class inheritance, interface inheritance. > > 2008/12/18 Arif Rachim >> >> Tidak ada yang namanya "multiple inheritance bagi interface" ini >> keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah >> "multiple implementation dari interface". >> >> > >
Re: [JUG-Indonesia] mengapa interface?
> 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?
Oya? Gw kira interface juga inheritance?... Di sastra OO classic kan inheritance dipecah 2: class inheritance, interface inheritance. 2008/12/18 Arif Rachim > > Tidak ada yang namanya "multiple inheritance bagi interface" ini > keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah > "multiple implementation dari interface". > > > >
Re: [JUG-Indonesia] mengapa interface?
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?
Arif biasa bekerja di lingkungan yang suka berdebat. :-D Gw ngeliatnya biasa aja kok. Tulisan gw di blog juga sering di-goblok2-in orang kok. Tapi gw nyantai aja tuh. 2008/12/18 Adelwin Handoyo : > Yah... > Tau lah situ jago... > Tapi comment nya jangan yang "keliru", "salah" ,"gak ada" gitu doang dong.. > Jelasin juga dong alasan nya.. > Namanya juga diskusi mas... > Kalo interface gak di perkenalkan sama Microsoft lalu sama sapa? > With citation kalo perlu... -- Not by might nor by power, but by His Spirit. Read my blog: http://joshuajava.wordpress.com/ Follow me on twitter: http://twitter.com/jpartogi
Re: [JUG-Indonesia] mengapa interface?
2008/12/18 Arif Rachim : >> Hi All, >> Mo ikutan diskusi nich. >> Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft >> memperkenalkan konsep COM. >> Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of >> indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan >> dari konsep COM sendiri adalah untuk memberikan reusability thus modularity >> pada level binary dan bukan pada level source code. Interface tsb pada >> gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan >> mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi >> dari behaviour tsb. > > Keliru, interface bukan diperkenalkan sama Microsoft. > >> >> Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain >> maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang >> lebih sama yang itu memberikan layer of indirectness pada aplikasi shg >> meningkatkan modularity dan meningkatkan reusability pada level binary. > > Keliru, Spring tidak mengadopsi interface, interface adalah bagian > dari bahasa seperti bahasa yg support OOP even sebelum java. > >> Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari >> sebagian behaviour pada parent classes (inheritance) dan mengubah sebagian >> behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan >> behaviour yg diwariskan. >> Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class >> bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism karena >> tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb. >> Behaviour tsb harus didefiniskan dalam class itu sendiri. > > Maksdunya yg mau dijelasin itu Encapsulation ya. > >> >> Java memberikan fitur single inheritance bagi class unutk menghindari >> kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan >> dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple >> inheritance bagi interface karena pada dasarnya yg diwariskan hanya >> signature dari behaviournya dan bukan behaviour itu sendiri. > > Tidak ada yang namanya "multiple inheritance bagi interface" ini > keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah > "multiple implementation dari interface". Lu juga keliru rif. Interface itu juga mewariskan. Tetapi bedanya dengan class yang diwariskan bukanlah implementationnya tetapi typenya. Ketika kita men-define konstanta di interface, maka class yang mengimplementasikan interface tersebut sudah diwariskan konstanta tersebut. Konstanta dan method yang tidak ada implementasi tersebut disebut sebagai type. Makanya dengan menggunakan interface we call it type inheritance while extending class we call it implementation inheritance. >> Java juga memberikan fitur abstract class dan abstract function yg sampai >> titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi >> pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature >> dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri >> maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup >> memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu, >> class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2 >> yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat >> menjadi default behaviour dari class yg diturunkan dari abstract class tsb. > > Ini keliru, interface dan abstract class itu beda. Yang satu adalah > untuk Encapsulation, satunya lagi untuk Template. Jadi keduanya tidak > ada hubungannya secara langsung. > > PS : Mau tau gunanya interface ?? Coba aja pelajari apa artinya > "Encapsulation". Gimana caranya interface untuk Encapsulation? Apanya yang di-encapsulate dengan interface? Atau memisahkan type dari implementation lu sebut sebagai Encapsulation? -- Not by might nor by power, but by His Spirit. Read my blog: http://joshuajava.wordpress.com/ Follow me on twitter: http://twitter.com/jpartogi
RE: [JUG-Indonesia] mengapa interface?
Yah... Tau lah situ jago... Tapi comment nya jangan yang "keliru", "salah" ,"gak ada" gitu doang dong.. Jelasin juga dong alasan nya.. Namanya juga diskusi mas... Kalo interface gak di perkenalkan sama Microsoft lalu sama sapa? With citation kalo perlu... Adelwin Handoyo COTS (DS) Consultant, Financial Services Industry NCS Pte. Ltd. (Reg. No. 198101793G) A member of the Singapore Telecom Group 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) DID : (65) 6556 6785 Fax: (65) 6483 5420 Email ID : ahand...@ncs.com.sg Website: http://www.ncs.com.sg DISCLAIMER * This e-mail and any attachments thereto are intended for the sole use of the recipient(s) named above and may contain information that is confidential and/or proprietary to the NCS Group. Any use of the information contained herein (including, but not limited to, total or partial reproduction, communication, or dissemination in any form) by persons other than the intended recipient(s) is prohibited. If you have received this e-mail in error, please notify the sender immediately and delete it. NCS Pte. Ltd. - Reg. No. 198101793G -Original Message- From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On Behalf Of Arif Rachim Sent: Thursday, December 18, 2008 12:21 PM To: jug-indonesia@yahoogroups.com Subject: Re: [JUG-Indonesia] mengapa interface? > Hi All, > Mo ikutan diskusi nich. > Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft > memperkenalkan konsep COM. > Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of > indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan > dari konsep COM sendiri adalah untuk memberikan reusability thus modularity > pada level binary dan bukan pada level source code. Interface tsb pada > gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan > mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi > dari behaviour tsb. Keliru, interface bukan diperkenalkan sama Microsoft. > > Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain > maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang > lebih sama yang itu memberikan layer of indirectness pada aplikasi shg > meningkatkan modularity dan meningkatkan reusability pada level binary. Keliru, Spring tidak mengadopsi interface, interface adalah bagian dari bahasa seperti bahasa yg support OOP even sebelum java. > Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari > sebagian behaviour pada parent classes (inheritance) dan mengubah sebagian > behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan > behaviour yg diwariskan. > Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class > bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism karena > tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb. > Behaviour tsb harus didefiniskan dalam class itu sendiri. Maksdunya yg mau dijelasin itu Encapsulation ya. > > Java memberikan fitur single inheritance bagi class unutk menghindari > kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan > dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple > inheritance bagi interface karena pada dasarnya yg diwariskan hanya > signature dari behaviournya dan bukan behaviour itu sendiri. Tidak ada yang namanya "multiple inheritance bagi interface" ini keliru. Sebab memang tidak ada yg di inherit. Yang lebih tepat adalah "multiple implementation dari interface". > > Java juga memberikan fitur abstract class dan abstract function yg sampai > titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi > pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature > dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri > maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup > memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu, > class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2 > yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat > menjadi default behaviour dari class yg diturunkan dari abstract class tsb. Ini keliru, interface dan abstract class itu beda. Yang satu adalah untuk Encapsulation, satunya lagi untuk Template. Jadi keduanya tidak ada hubungannya secara langsung. PS : Mau tau gunanya interface ?? Coba aja pelajari apa artinya "Encapsulation". Best Regards, Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke jug-indonesia-unsubscr...@yahoogroups.com. Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id Yahoo! Groups Links
Re: [JUG-Indonesia] mengapa interface?
> 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?
Hahhahaha Try if u can do better? :p hahahahah Adelwin Handoyo COTS (DS) Consultant, Financial Services Industry NCS Pte. Ltd. (Reg. No. 198101793G) A member of the Singapore Telecom Group 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) DID : (65) 6556 6785 Fax: (65) 6483 5420 Email ID : ahand...@ncs.com.sg Website: http://www.ncs.com.sg DISCLAIMER * This e-mail and any attachments thereto are intended for the sole use of the recipient(s) named above and may contain information that is confidential and/or proprietary to the NCS Group. Any use of the information contained herein (including, but not limited to, total or partial reproduction, communication, or dissemination in any form) by persons other than the intended recipient(s) is prohibited. If you have received this e-mail in error, please notify the sender immediately and delete it. NCS Pte. Ltd. - Reg. No. 198101793G -Original Message- From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On Behalf Of abangkis Sent: Thursday, December 18, 2008 10:42 AM To: jug-indonesia@yahoogroups.com Subject: Re: [JUG-Indonesia] mengapa interface? Ok-ok, untuk penjelasan sisanya bagus, walaupun style class room talk :D ~peace 2008/12/16 Dhanisworo Dhanisworo : > Hi All, > Mo ikutan diskusi nich. > Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft > memperkenalkan konsep COM. > Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of > indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan > dari konsep COM sendiri adalah untuk memberikan reusability thus modularity > pada level binary dan bukan pada level source code. Interface tsb pada > gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan > mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi > dari behaviour tsb. > > Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain > maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang > lebih sama yang itu memberikan layer of indirectness pada aplikasi shg > meningkatkan modularity dan meningkatkan reusability pada level binary. > > Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari > sebagian behaviour pada parent classes (inheritance) dan mengubah sebagian > behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan > behaviour yg diwariskan. > > Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class > bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism karena > tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb. > Behaviour tsb harus didefiniskan dalam class itu sendiri. > > Java memberikan fitur single inheritance bagi class unutk menghindari > kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan > dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple > inheritance bagi interface karena pada dasarnya yg diwariskan hanya > signature dari behaviournya dan bukan behaviour itu sendiri. > > Java juga memberikan fitur abstract class dan abstract function yg sampai > titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi > pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature > dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri > maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup > memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu, > class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2 > yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat > menjadi default behaviour dari class yg diturunkan dari abstract class tsb. > > just my 2cents > > best regards,Dyan Dhanisworo > > > > > > > 2008/12/16 Joshua Partogi >> >> Biasa itu mah. Tapestry 5 semuanya serba interface. Spring AFAIK juga >> deh. Untuk ke depannya disain seperti itu malah bagus. >> >> 2008/12/16 martinus j wahyudi : >> >> > Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang >> > dia >> > yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya >> > dalam >> > bentuk abstract dan interface. itu bener ga sih? atau sudah >> > keterlaluan?. >> > catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita >> > temennya yg bikin turunan dari kelas2 tadi. >> >> -- >> Not by might nor by power, but by His Spirit. >> > > Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke jug-indonesia-unsubscr...@yahoogroups.com. Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id Yahoo! Groups Links
Re: [JUG-Indonesia] mengapa interface?
Ok-ok, untuk penjelasan sisanya bagus, walaupun style class room talk :D ~peace 2008/12/16 Dhanisworo Dhanisworo : > Hi All, > Mo ikutan diskusi nich. > Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft > memperkenalkan konsep COM. > Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of > indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan > dari konsep COM sendiri adalah untuk memberikan reusability thus modularity > pada level binary dan bukan pada level source code. Interface tsb pada > gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan > mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi > dari behaviour tsb. > > Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain > maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang > lebih sama yang itu memberikan layer of indirectness pada aplikasi shg > meningkatkan modularity dan meningkatkan reusability pada level binary. > > Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari > sebagian behaviour pada parent classes (inheritance) dan mengubah sebagian > behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan > behaviour yg diwariskan. > > Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class > bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism karena > tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb. > Behaviour tsb harus didefiniskan dalam class itu sendiri. > > Java memberikan fitur single inheritance bagi class unutk menghindari > kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan > dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple > inheritance bagi interface karena pada dasarnya yg diwariskan hanya > signature dari behaviournya dan bukan behaviour itu sendiri. > > Java juga memberikan fitur abstract class dan abstract function yg sampai > titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi > pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature > dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri > maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup > memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu, > class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2 > yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat > menjadi default behaviour dari class yg diturunkan dari abstract class tsb. > > just my 2cents > > best regards,Dyan Dhanisworo > > > > > > > 2008/12/16 Joshua Partogi >> >> Biasa itu mah. Tapestry 5 semuanya serba interface. Spring AFAIK juga >> deh. Untuk ke depannya disain seperti itu malah bagus. >> >> 2008/12/16 martinus j wahyudi : >> >> > Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang >> > dia >> > yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya >> > dalam >> > bentuk abstract dan interface. itu bener ga sih? atau sudah >> > keterlaluan?. >> > catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita >> > temennya yg bikin turunan dari kelas2 tadi. >> >> -- >> Not by might nor by power, but by His Spirit. >> > >
Re: [JUG-Indonesia] mengapa interface?
Sorry2, gw blom sempet baca sampe akhir udah ketawa duluan. perasaan dibahasa2 yang lebih tua kayak smalltalk, interface udah lama ada deh. Gak tahu memang selama ini belum melihat dunia luar selain microsoft, atau memang perlu lebih membuka wawasan :D ok deh, saya lanjut baca lagi :) 2008/12/16 Dhanisworo Dhanisworo : > Hi All, > Mo ikutan diskusi nich. > Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft > memperkenalkan konsep COM. > Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of > indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan > dari konsep COM sendiri adalah untuk memberikan reusability thus modularity > pada level binary dan bukan pada level source code. Interface tsb pada > gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan > mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi > dari behaviour tsb. > > Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain > maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang > lebih sama yang itu memberikan layer of indirectness pada aplikasi shg > meningkatkan modularity dan meningkatkan reusability pada level binary. > > Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari > sebagian behaviour pada parent classes (inheritance) dan mengubah sebagian > behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan > behaviour yg diwariskan. > > Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class > bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism karena > tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb. > Behaviour tsb harus didefiniskan dalam class itu sendiri. > > Java memberikan fitur single inheritance bagi class unutk menghindari > kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan > dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple > inheritance bagi interface karena pada dasarnya yg diwariskan hanya > signature dari behaviournya dan bukan behaviour itu sendiri. > > Java juga memberikan fitur abstract class dan abstract function yg sampai > titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi > pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature > dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri > maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup > memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu, > class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2 > yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat > menjadi default behaviour dari class yg diturunkan dari abstract class tsb. > > just my 2cents > > best regards,Dyan Dhanisworo > > > > > > > 2008/12/16 Joshua Partogi >> >> Biasa itu mah. Tapestry 5 semuanya serba interface. Spring AFAIK juga >> deh. Untuk ke depannya disain seperti itu malah bagus. >> >> 2008/12/16 martinus j wahyudi : >> >> > Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang >> > dia >> > yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya >> > dalam >> > bentuk abstract dan interface. itu bener ga sih? atau sudah >> > keterlaluan?. >> > catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita >> > temennya yg bikin turunan dari kelas2 tadi. >> >> -- >> Not by might nor by power, but by His Spirit. >> > >
Re: [JUG-Indonesia] mengapa interface?
Hi All, Mo ikutan diskusi nich. Konsep interface pertama kali diperkenalkan oleh Microsoft saat Microsoft memperkenalkan konsep COM. Tujuannya pada waktu itu adalah untuk memberikan sebuah layer of indirectness dari aplikasi thd implementasi dari sebuah COM object. Tujuan dari konsep COM sendiri adalah untuk memberikan reusability thus modularity pada level binary dan bukan pada level source code. Interface tsb pada gilirannya mendefinisikan behaviour yg akan diterima oleh penggunanya dengan mendefinisikan behaviour signature tanpa perlu mengetahui detil implementasi dari behaviour tsb. Sepanjang yg saya ketahui konsep itu kemudian diadopsi oleh bahasa2 lain maupun berbagai framework seperti java (Spring) dengan tujuan yg kurang lebih sama yang itu memberikan layer of indirectness pada aplikasi shg meningkatkan modularity dan meningkatkan reusability pada level binary. Inheritance + ploymorhism biasanya digunakan untuk mengambil manfaat dari sebagian behaviour pada parent classes (inheritance) dan mengubah sebagian behaviour tsb (polymorhism) serta menciptakan behaviour baru dgn menggunakan behaviour yg diwariskan. Dari sudut pandang tsb, implementasi beberapa interface oleh sebuah class bukanlah sebuah inheritance apalagi multi-inheritance +polymorphism karena tidak ada behaviour yg diwariskan, hanya signature dari behaviour tsb. Behaviour tsb harus didefiniskan dalam class itu sendiri. Java memberikan fitur single inheritance bagi class unutk menghindari kompleksitas yang mungkin muncul akibat property dan behaviour yg diturunkan dan polymorphims yg mungkin terjadi, namun memberikan fitur multiple inheritance bagi interface karena pada dasarnya yg diwariskan hanya signature dari behaviournya dan bukan behaviour itu sendiri. Java juga memberikan fitur abstract class dan abstract function yg sampai titik tertentu penggunaannya hampir mirip dengan penggunaan interface. Jadi pakai yg mana ? Yg pasti adalah interface hanya mendefinisikan signature dari sebuah behaviour dan tidak dapat mendefinisikan behaviour itu sendiri maupun mendefinisikan property/member dari interface tsb. Sebuah class cukup memiliki 1 abstract function utk dapat disebut abstract class. Di luar itu, class tsb dapat mendefinisikan member, dan mendefinisikan behaviour fungsi2 yg lain termasuk yg menggunakan abstract function tsb. Behaviour tsb dapat menjadi default behaviour dari class yg diturunkan dari abstract class tsb. just my 2cents best regards,Dyan Dhanisworo 2008/12/16 Joshua Partogi > Biasa itu mah. Tapestry 5 semuanya serba interface. Spring AFAIK juga > deh. Untuk ke depannya disain seperti itu malah bagus. > > 2008/12/16 martinus j wahyudi > > >: > > > Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang > dia > > yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya dalam > > bentuk abstract dan interface. itu bener ga sih? atau sudah keterlaluan?. > > catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita > > temennya yg bikin turunan dari kelas2 tadi. > > -- > Not by might nor by power, but by His Spirit. > > >
Re: [JUG-Indonesia] mengapa interface?
Biasa itu mah. Tapestry 5 semuanya serba interface. Spring AFAIK juga deh. Untuk ke depannya disain seperti itu malah bagus. 2008/12/16 martinus j wahyudi : > Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang dia > yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya dalam > bentuk abstract dan interface. itu bener ga sih? atau sudah keterlaluan?. > catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita > temennya yg bikin turunan dari kelas2 tadi. -- Not by might nor by power, but by His Spirit. Read my blog: http://joshuajava.wordpress.com/ Follow me on twitter: http://twitter.com/jpartogi
RE: [JUG-Indonesia] mengapa interface?
Bagus kok malah. Jadi ntar bikin nya tinggal fill in the gap ajah. Khan seperti kata GoF. Code to an interface. Jadi kalo ada apa2 changes nya minimum. Di dunia bisnis. minimum changes equals to minimum risk. Tapi inget. Jangan lalu overkill design nya.. Mau design application buat cashier ajah sampe 200 interface dan 500 class. Itu namanya maintenance hell. Adelwin Handoyo COTS (DS) Consultant, Financial Services Industry NCS Pte. Ltd. (Reg. No. 198101793G) A member of the Singapore Telecom Group 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) DID : (65) 6556 6785 Fax: (65) 6483 5420 Email ID : ahand...@ncs.com.sg Website: http://www.ncs.com.sg DISCLAIMER * This e-mail and any attachments thereto are intended for the sole use of the recipient(s) named above and may contain information that is confidential and/or proprietary to the NCS Group. Any use of the information contained herein (including, but not limited to, total or partial reproduction, communication, or dissemination in any form) by persons other than the intended recipient(s) is prohibited. If you have received this e-mail in error, please notify the sender immediately and delete it. NCS Pte. Ltd. - Reg. No. 198101793G _ From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On Behalf Of martinus j wahyudi Sent: Tuesday, December 16, 2008 3:04 PM To: jug-indonesia@yahoogroups.com Subject: Re: [JUG-Indonesia] mengapa interface? Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang dia yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya dalam bentuk abstract dan interface. itu bener ga sih? atau sudah keterlaluan?. catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita temennya yg bikin turunan dari kelas2 tadi. Sincerely, Martin _ From: Joshua Partogi To: jug-indonesia@yahoogroups.com Sent: Tuesday, 16 December, 2008 13:15:31 Subject: Re: [JUG-Indonesia] mengapa interface? Untuk mengerti konsep interface-nya memang butuh waktu lama dan banyak latihan koding. Dulu saya juga pernah mengalami hal yang sama dan semua diskusi terrekam disini: http://www.nabble. com/Seberapa- pentingkah- design-by- <http://www.nabble.com/Seberapa-pentingkah-design-by-interface--to15175166.html> interface- -to15175166. html Sekarang saya sudah mengerti pentingnya design by interface. Issue-nya bukan jalan atau tidak jalan, tapi ini issue disain aplikasi. Cheers.
Re: [JUG-Indonesia] mengapa interface?
Btw, soal disain aplikasi, aku pernah tau temen programmer juga, emang dia yg desain sistem, jadi skeleton2 class dibuat ma dia, tapi semuanya dalam bentuk abstract dan interface. itu bener ga sih? atau sudah keterlaluan?. catatan, semuanya loh dalam bentuk abtract dan interface, baru ntar kita temennya yg bikin turunan dari kelas2 tadi. Sincerely, Martin From: Joshua Partogi To: jug-indonesia@yahoogroups.com Sent: Tuesday, 16 December, 2008 13:15:31 Subject: Re: [JUG-Indonesia] mengapa interface? Untuk mengerti konsep interface-nya memang butuh waktu lama dan banyak latihan koding. Dulu saya juga pernah mengalami hal yang sama dan semua diskusi terrekam disini: http://www.nabble. com/Seberapa- pentingkah- design-by- interface- -to15175166. html Sekarang saya sudah mengerti pentingnya design by interface. Issue-nya bukan jalan atau tidak jalan, tapi ini issue disain aplikasi. Cheers.
Re: [JUG-Indonesia] mengapa interface?
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?
Yah masing2 ada kelebihan ada kekurangan masing2 lah. Sama2 masi belajar juga semua nya. Adelwin Handoyo COTS (DS) Consultant, Financial Services Industry NCS Pte. Ltd. (Reg. No. 198101793G) A member of the Singapore Telecom Group 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) DID : (65) 6556 6785 Fax: (65) 6483 5420 Email ID : ahand...@ncs.com.sg Website: http://www.ncs.com.sg DISCLAIMER * This e-mail and any attachments thereto are intended for the sole use of the recipient(s) named above and may contain information that is confidential and/or proprietary to the NCS Group. Any use of the information contained herein (including, but not limited to, total or partial reproduction, communication, or dissemination in any form) by persons other than the intended recipient(s) is prohibited. If you have received this e-mail in error, please notify the sender immediately and delete it. NCS Pte. Ltd. - Reg. No. 198101793G _ From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On Behalf Of martinus j wahyudi Sent: Tuesday, December 16, 2008 2:40 PM To: jug-indonesia@yahoogroups.com Subject: Re: [JUG-Indonesia] mengapa interface? yupe, ga bingung soal konsep interface, cm lupa di C# ga ada kata implements, adanya multi inheritance yg bikin gw bingung, karena harus bikin semacam identifikasi method mana yg harus gw implement, klo punya method sama di interface yg beda. Buat gw, klo belajar konsep polymorph, interface, abstract, dan konseop OO yg lain, gw enakan belajar pake java. cm gara2 langsung java, jadi ga ngerti konsep pointer, dsb, yah itu ntar nanya di thread lain aja. Btw, ya, kalo sepintas langsung belajar interface tanpa ngerti historynya, ya jadinya bingung sama istilah2 sampeyan tadi. aku aja br paham interface 1 tahun yg lalu (telmi ya?)... Sincerely, Martin _ From: Adelwin Handoyo To: jug-indonesia@yahoogroups.com Sent: Tuesday, 16 December, 2008 13:28:02 Subject: RE: [JUG-Indonesia] mengapa interface? Naaahhh indah nih kalimat nya Design by interface.. Hahahha Gua dulu pas masi belajar2 tuh awed banget sama concept inih... Betul kata Ferdinand... Perlu di dalamin dulu the nuts and bolts nya... Jadi bukan Cuma tau "yang penting jalan" tapi juga tau "kok bisa jalan" Dan.. salah martinus... .net juga bisa di bikin PERSIS kayak gitu.. Karna concept design by interface juga ada di .net
Re: [JUG-Indonesia] mengapa interface?
yupe, ga bingung soal konsep interface, cm lupa di C# ga ada kata implements, adanya multi inheritance yg bikin gw bingung, karena harus bikin semacam identifikasi method mana yg harus gw implement, klo punya method sama di interface yg beda. Buat gw, klo belajar konsep polymorph, interface, abstract, dan konseop OO yg lain, gw enakan belajar pake java. cm gara2 langsung java, jadi ga ngerti konsep pointer, dsb, yah itu ntar nanya di thread lain aja. Btw, ya, kalo sepintas langsung belajar interface tanpa ngerti historynya, ya jadinya bingung sama istilah2 sampeyan tadi. aku aja br paham interface 1 tahun yg lalu (telmi ya?)... Sincerely, Martin From: Adelwin Handoyo To: jug-indonesia@yahoogroups.com Sent: Tuesday, 16 December, 2008 13:28:02 Subject: RE: [JUG-Indonesia] mengapa interface? Naaahhh indah nih kalimat nya Design by interface.. Hahahha Gua dulu pas masi belajar2 tuh awed banget sama concept inih... Betul kata Ferdinand... Perlu di dalamin dulu the nuts and bolts nya... Jadi bukan Cuma tau "yang penting jalan" tapi juga tau "kok bisa jalan" Dan.. salah martinus... .net juga bisa di bikin PERSIS kayak gitu.. Karna concept design by interface juga ada di .net
RE: [JUG-Indonesia] mengapa interface?
Naaahhh indah nih kalimat nya Design by interface.. Hahahha Gua dulu pas masi belajar2 tuh awed banget sama concept inih... Betul kata Ferdinand... Perlu di dalamin dulu the nuts and bolts nya... Jadi bukan Cuma tau "yang penting jalan" tapi juga tau "kok bisa jalan" Dan.. salah martinus... .net juga bisa di bikin PERSIS kayak gitu.. Karna concept design by interface juga ada di .net Adelwin Handoyo COTS (DS) Consultant, Financial Services Industry NCS Pte. Ltd. (Reg. No. 198101793G) A member of the Singapore Telecom Group 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) DID : (65) 6556 6785 Fax: (65) 6483 5420 Email ID : ahand...@ncs.com.sg Website: http://www.ncs.com.sg DISCLAIMER * This e-mail and any attachments thereto are intended for the sole use of the recipient(s) named above and may contain information that is confidential and/or proprietary to the NCS Group. Any use of the information contained herein (including, but not limited to, total or partial reproduction, communication, or dissemination in any form) by persons other than the intended recipient(s) is prohibited. If you have received this e-mail in error, please notify the sender immediately and delete it. NCS Pte. Ltd. - Reg. No. 198101793G -Original Message- From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On Behalf Of Joshua Partogi Sent: Tuesday, December 16, 2008 2:16 PM To: jug-indonesia@yahoogroups.com Subject: Re: [JUG-Indonesia] mengapa interface? Untuk mengerti konsep interface-nya memang butuh waktu lama dan banyak latihan koding. Dulu saya juga pernah mengalami hal yang sama dan semua diskusi terrekam disini: http://www.nabble.com/Seberapa-pentingkah-design-by-interface--to15175166.html Sekarang saya sudah mengerti pentingnya design by interface. Issue-nya bukan jalan atau tidak jalan, tapi ini issue disain aplikasi. Cheers. 2008/12/16 ahmad kundzori : > kalo buat object dari class yang implements interface itu yang bener yang > mana > antara dua di bawah ini (reference type-nya): > // interfacenya ContohInterface, Classnya ClassImplementsContohInterface > > ClassImplemetsContohInterface obj1 = new ClassImplemetsContohInterface(); > > //. > > ContohInterface obj1 = new ClassImplemetsContohInterface(); > > // klo dicompile trus di run kok ga' ada perbedaan... > -- Not by might nor by power, but by His Spirit. Read my blog: http://joshuajava.wordpress.com/ Follow me on twitter: http://twitter.com/jpartogi Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke jug-indonesia-unsubscr...@yahoogroups.com. Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id Yahoo! Groups Links
Re: [JUG-Indonesia] mengapa interface?
Untuk mengerti konsep interface-nya memang butuh waktu lama dan banyak latihan koding. Dulu saya juga pernah mengalami hal yang sama dan semua diskusi terrekam disini: http://www.nabble.com/Seberapa-pentingkah-design-by-interface--to15175166.html Sekarang saya sudah mengerti pentingnya design by interface. Issue-nya bukan jalan atau tidak jalan, tapi ini issue disain aplikasi. Cheers. 2008/12/16 ahmad kundzori : > kalo buat object dari class yang implements interface itu yang bener yang > mana > antara dua di bawah ini (reference type-nya): > // interfacenya ContohInterface, Classnya ClassImplementsContohInterface > > ClassImplemetsContohInterface obj1 = new ClassImplemetsContohInterface(); > > //. > > ContohInterface obj1 = new ClassImplemetsContohInterface(); > > // klo dicompile trus di run kok ga' ada perbedaan... > -- Not by might nor by power, but by His Spirit. Read my blog: http://joshuajava.wordpress.com/ Follow me on twitter: http://twitter.com/jpartogi
Re: [JUG-Indonesia] mengapa interface?
Give him sample, doi sudah berusaha. Man, loe bener, kalo sekilas dari code yg loe kasih, kayaknya sama saja ga ada perbedaan. tapi gw kasih contoh dalam pseudo code saja misal gini: Interface KunciMotor { void hidupkanMesin(); void matikanMesin(); } Class Suzuki implements KunciMotor{ //contructor //implement interface void hidupkanMesin(){ echo "buka kerin karburator"; echo "aktifkan DTS-i"; echo "pantik api"; } } Class Honda implements KunciMotor{ //contructor //implement interface void hidupkanMesin(){ echo "Aktifkan DOHC"; echo "Inject Bensin"; echo "pantik api"; } } nah, sekarang, kamu buat testCase seperti dibawah: KunciMotor A; A = new Suzuki(); A.HidupkanMesin(); A = new Suzuki(); A.hidupkanMesin(); Ada bedanya? sudah kebayang hasilnya? dari sini, terlepas konsep2 alien itu, keliatan kan, klo java very extendable tanpa bikin bingung kayak .NET? Sincerely, Martin From: Ferdinand Neman To: jug-indonesia@yahoogroups.com Sent: Tuesday, 16 December, 2008 12:27:58 Subject: Re: [JUG-Indonesia] mengapa interface? Simply put, saya pikir, anda tidak mengerti gunanya Interface dan essensi dari Polymorphism. Silahkan pelajari mengenai Polymorphism dan Interface... terlebih dahulu. ... Salam. 2008/12/16 ahmad kundzori : > kalo buat object dari class yang implements interface itu yang bener yang > mana > antara dua di bawah ini (reference type-nya): > // interfacenya ContohInterface, Classnya ClassImplementsCont ohInterface > > ClassImplemetsConto hInterface obj1 = new ClassImplemetsConto hInterface( ); > > //. > > ContohInterface obj1 = new ClassImplemetsConto hInterface( ); > > // klo dicompile trus di run kok ga' ada perbedaan... > --
Re: [JUG-Indonesia] mengapa interface?
Simply put, saya pikir, anda tidak mengerti gunanya Interface dan essensi dari Polymorphism. Silahkan pelajari mengenai Polymorphism dan Interface...terlebih dahulu. Bukannya saya merendahkan anda, tapi saya rasa semuanya sudah dijelaskan dalam thread sebelumnya... Akan lebih berguna bagi anda jika anda mempelajari hal-hal tersebut terlebih dahulu. Saya akui, salah satu hal yang paling susah dimengerti untuk orang yang baru mengenal OO adalah polymorphism. Pada java, adalah untuk mengerti Interface dan Abstract. Saya pun dulu begitu. Salam. 2008/12/16 ahmad kundzori : > kalo buat object dari class yang implements interface itu yang bener yang > mana > antara dua di bawah ini (reference type-nya): > // interfacenya ContohInterface, Classnya ClassImplementsContohInterface > > ClassImplemetsContohInterface obj1 = new ClassImplemetsContohInterface(); > > //. > > ContohInterface obj1 = new ClassImplemetsContohInterface(); > > // klo dicompile trus di run kok ga' ada perbedaan... > -- Ferdinand Neman Cows who loves java http://www.jroller.com/page/newm4n
Re: [JUG-Indonesia] mengapa interface?
dua2nya valid. yang kedua lebih safe secara design. lain kali kalau mau diganti obj1 bukan pake class ClassImplementsContohInterface maka akan lebih mudah. in general, usahakan deklarasi variable itu se-generic mungkin (pakai supertype yg secara minimum bisa mengakomodasi kebutuhan kita). 2008/12/16 ahmad kundzori : > kalo buat object dari class yang implements interface itu yang bener yang > mana > antara dua di bawah ini (reference type-nya): > // interfacenya ContohInterface, Classnya ClassImplementsContohInterface > > ClassImplemetsContohInterface obj1 = new ClassImplemetsContohInterface(); > > //. > > ContohInterface obj1 = new ClassImplemetsContohInterface(); > > // klo dicompile trus di run kok ga' ada perbedaan... >
Re: [JUG-Indonesia] mengapa interface?
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?
ni kena ma fanboy nya C++ mah dihabisin nico... semua sih ada kelebihan ada kekurangan... Regards, Jonathan Handoyo 2008/12/15 Nicholas I. S. > Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design > pattern, tapi dia bingung kenapa di Java ada yang namanya Interface > sedangkan di OO language laen kayak C++/C# nggak ada. > > Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya > lebih mantep dari C++. Inheritance cuman boleh dari single parent class, gak > kayak C++ yang bisa extends dari banyak super class yang side effectnya jadi > ga jelas apa yang diturunin kalo 2 super class punya method signature yang > sama misalnya. > > Nah, jadi in order to support the notion of multiple inheritance muncul > yang namanya Interface, which is the apt solution to this problem. Kalo pake > multiple inheritance, maka kita bisa punya multiple implementation untuk 1 > method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya > method signature yang sama tapi implementationnya tetep 1 di class yang > implements nya. > > --- On Mon, 12/15/08, Harry Saputra Kartono > > > wrote: > > > From: Harry Saputra Kartono > > > > Subject: Re: [JUG-Indonesia] mengapa interface? > > > To: jug-indonesia@yahoogroups.com > > Date: Monday, December 15, 2008, 5:27 AM > > kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren > > tuh penjelasannya. > > > > Pada 15 Desember 2008 11:29, ahmad kundzori > > > menulis: > > > > > > ...dalam proses pemahaman, perenungan, penghayatan, > > dan pengamalan > > > (halah..apaan sih, he he) :D > > > > -- > > Regards, > > > > Harry S. Kartono > > http://harry.amn.co.id > > http://hskartono.wordpress.com > > > > > > > > Kalau mau keluar dari mailing list ini, caranya kirim > > sebuah email ke > > jug-indonesia-unsubscr...@yahoogroups.com > . > > > > Jangan lupa, website JUG Indonesia adalah > > http://www.jug.or.id > > > > Yahoo! Groups Links > > > > > > > > >
Re: [JUG-Indonesia] mengapa interface?
Sorry supaya gak misleading... Most .net mocking frameworks BISA mock concrete class.. tapi liwat proxy n brarti tetep require DI (yg better off pake interface). TypeMock bisa langsung instrument class bytecode at runtime. On Tue, Dec 16, 2008 at 2:57 PM, Hendry Luk wrote: > Hehe gw passive audience :) > > Kurang lebih hampir selalu dipake... Mostly karna 3 reasons: > 1. TDD. Rata2 mocking framework di .net cuma support interfaces. Satu2nya > mocking framework yg gw tau support concrete class dan static methods > (sekaligus satu2nya yg gak open-source) adalah TypeMock, yg berbayar dan > sering dianggap encourage bad practice. > 2. Requirement dari many frameworks. Soalnya .net agak ketat dalam > inherittable method. By default semua method adalah sealed, kecuali > explicitely dinotate sebagai virtual (point of extensibility). Therefore, > dynamic proxy (AOP, ORM lazy load, etc) cuma effective kalo codenya pake > interface. Otherwise lo bakal mesti notate semua method lo jadi virtual. > 3. Generally architecture di .net (yg kurang lebih juga sama di java), > adalah onion architecture ( > http://jeffreypalermo.com/blog/the-onion-architecture-part-1/). Domain > layer di paling core, lalu paling luarnya adalah infrastructure (UI termasuk > infrastructure). Satu2nya cara achieve ini (yg juga karna circular > dependency restriction) ya cuma dengan interface > > Tapi API bawaan .net framework emang sering lacking interface, jadi sering > susah di-unit-test as it stands. Tapi karna sering diprotes, library2 > keluaran redmond recently semuanya based on interface n berpihak ke camp TDD > > > On Tue, Dec 16, 2008 at 1:01 PM, Adelwin Handoyo wrote: > >>Weh henluk… >> >> Hahahha >> >> Gua baru ngeh lu ternyata join milis sini juga :p >> >> Practice nya sampe sekarang khan .net jarang pake interface pattern khan? >> >> Yah at least yang gua liat sih yah… >> >> >> >> >> >> Adelwin Handoyo >> *COTS (DS) Consultant, Financial Services Industry* >> *NCS Pte. Ltd**.* >> (Reg. No. 198101793G) >> A member of the Singapore Telecom Group >> 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) >> DID : (65) 6556 6785 Fax: (65) 6483 5420 >> Email ID :* **ahand...@ncs.com.sg* >> Website: http://www.ncs.com.sg >> >> * DISCLAIMER ** >> >> This e-mail and any attachments thereto are intended for the sole use of >> the recipient(s) named above and may contain information that is >> confidential and/or proprietary to the NCS Group. Any use of the information >> contained herein (including, but not limited to, total or partial >> reproduction, communication, or dissemination in any form) by persons other >> than the intended recipient(s) is prohibited. If you have received this >> e-mail in error, please notify the sender immediately and delete it. >> >> NCS Pte. Ltd. - Reg. No. 198101793G **** >> -- >> >> *From:* jug-indonesia@yahoogroups.com [mailto: >> jug-indone...@yahoogroups.com] *On Behalf Of *Hendry Luk >> *Sent:* Tuesday, December 16, 2008 6:38 AM >> *To:* jug-indonesia@yahoogroups.com >> *Subject:* Re: [JUG-Indonesia] mengapa interface? >> >> >> >> Dari awal dah ada ;) >> >> 2008/12/15 Nicholas I. S. >> >> Sorry, seharusnya gak include C#. AFAIK C# versi2 awal blom support adanya >> interface, dan baru ada belakangan. Padahal C# itu keluarnya belakangan di >> banding Java. >> >> >> >> > >
Re: [JUG-Indonesia] mengapa interface?
Hehe gw passive audience :) Kurang lebih hampir selalu dipake... Mostly karna 3 reasons: 1. TDD. Rata2 mocking framework di .net cuma support interfaces. Satu2nya mocking framework yg gw tau support concrete class dan static methods (sekaligus satu2nya yg gak open-source) adalah TypeMock, yg berbayar dan sering dianggap encourage bad practice. 2. Requirement dari many frameworks. Soalnya .net agak ketat dalam inherittable method. By default semua method adalah sealed, kecuali explicitely dinotate sebagai virtual (point of extensibility). Therefore, dynamic proxy (AOP, ORM lazy load, etc) cuma effective kalo codenya pake interface. Otherwise lo bakal mesti notate semua method lo jadi virtual. 3. Generally architecture di .net (yg kurang lebih juga sama di java), adalah onion architecture ( http://jeffreypalermo.com/blog/the-onion-architecture-part-1/). Domain layer di paling core, lalu paling luarnya adalah infrastructure (UI termasuk infrastructure). Satu2nya cara achieve ini (yg juga karna circular dependency restriction) ya cuma dengan interface Tapi API bawaan .net framework emang sering lacking interface, jadi sering susah di-unit-test as it stands. Tapi karna sering diprotes, library2 keluaran redmond recently semuanya based on interface n berpihak ke camp TDD On Tue, Dec 16, 2008 at 1:01 PM, Adelwin Handoyo wrote: >Weh henluk… > > Hahahha > > Gua baru ngeh lu ternyata join milis sini juga :p > > Practice nya sampe sekarang khan .net jarang pake interface pattern khan? > > Yah at least yang gua liat sih yah… > > > > > > Adelwin Handoyo > *COTS (DS) Consultant, Financial Services Industry* > *NCS Pte. Ltd**.* > (Reg. No. 198101793G) > A member of the Singapore Telecom Group > 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) > DID : (65) 6556 6785 Fax: (65) 6483 5420 > Email ID :* **ahand...@ncs.com.sg* > Website: http://www.ncs.com.sg > > * DISCLAIMER ** > > This e-mail and any attachments thereto are intended for the sole use of > the recipient(s) named above and may contain information that is > confidential and/or proprietary to the NCS Group. Any use of the information > contained herein (including, but not limited to, total or partial > reproduction, communication, or dissemination in any form) by persons other > than the intended recipient(s) is prohibited. If you have received this > e-mail in error, please notify the sender immediately and delete it. > > NCS Pte. Ltd. - Reg. No. 198101793G > -- > > *From:* jug-indonesia@yahoogroups.com [mailto: > jug-indone...@yahoogroups.com] *On Behalf Of *Hendry Luk > *Sent:* Tuesday, December 16, 2008 6:38 AM > *To:* jug-indonesia@yahoogroups.com > *Subject:* Re: [JUG-Indonesia] mengapa interface? > > > > Dari awal dah ada ;) > > 2008/12/15 Nicholas I. S. > > Sorry, seharusnya gak include C#. AFAIK C# versi2 awal blom support adanya > interface, dan baru ada belakangan. Padahal C# itu keluarnya belakangan di > banding Java. > > > >
RE: [JUG-Indonesia] mengapa interface?
Weh henluk. Hahahha Gua baru ngeh lu ternyata join milis sini juga :p Practice nya sampe sekarang khan .net jarang pake interface pattern khan? Yah at least yang gua liat sih yah. Adelwin Handoyo COTS (DS) Consultant, Financial Services Industry NCS Pte. Ltd. (Reg. No. 198101793G) A member of the Singapore Telecom Group 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) DID : (65) 6556 6785 Fax: (65) 6483 5420 Email ID : ahand...@ncs.com.sg Website: http://www.ncs.com.sg DISCLAIMER * This e-mail and any attachments thereto are intended for the sole use of the recipient(s) named above and may contain information that is confidential and/or proprietary to the NCS Group. Any use of the information contained herein (including, but not limited to, total or partial reproduction, communication, or dissemination in any form) by persons other than the intended recipient(s) is prohibited. If you have received this e-mail in error, please notify the sender immediately and delete it. NCS Pte. Ltd. - Reg. No. 198101793G _ From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On Behalf Of Hendry Luk Sent: Tuesday, December 16, 2008 6:38 AM To: jug-indonesia@yahoogroups.com Subject: Re: [JUG-Indonesia] mengapa interface? Dari awal dah ada ;) 2008/12/15 Nicholas I. S. Sorry, seharusnya gak include C#. AFAIK C# versi2 awal blom support adanya interface, dan baru ada belakangan. Padahal C# itu keluarnya belakangan di banding Java.
Re: [JUG-Indonesia] mengapa interface?
Dari awal dah ada ;) 2008/12/15 Nicholas I. S. > Sorry, seharusnya gak include C#. AFAIK C# versi2 awal blom support > adanya interface, dan baru ada belakangan. Padahal C# itu keluarnya > belakangan di banding Java. > > >
Re: [JUG-Indonesia] mengapa interface?
2008/12/15 Harry Saputra Kartono > kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren tuh > penjelasannya. > > Pada 15 Desember 2008 11:29, ahmad kundzori menulis: > > > > ...dalam proses pemahaman, perenungan, penghayatan, dan pengamalan > > (halah..apaan sih, he he) :D > > -- > berikut buku yg membahas interface .. http://rapidshare.com/files/43940388/Pragmatic_Bookshelf_Interface_Oriented_Design.rar
Re: [JUG-Indonesia] mengapa interface?
2008/12/15 Adelwin Handoyo : > Actually nik... > Interface ituh tujuan utama nya tuh dulu untuk mencegah yang namanya diamond > inheritance... yup, diamond inheritance emang hal yang dihindari waktu design language java. to simplify thing diputuskan untuk single inheritance saja. masalahnya kadang emang dibutuhkan untuk membuat suatu class yang combine behaviour dari 2 type lain. coba baca qi4j (http://www.qi4j.org/) dan "composite oriented programming" nya. mungkin pak Edward Yakop mau jelasin lebih rinci :D ?. IMO soal design language seperti ini masih evolving terus karena kita blom menemukan solusi optimal. yang ada sampai sekarang juga masih byk keterbatasan. > Pernah di bahas dulu nih... > Class B dan C extends dari A... > Kalo ada class D, dan dia extends B dan C... lalu? super class dari super > class nya khan > class A... > Tapi.. A yang mana? > Yang datang dari B ato yang datang dari C.. > > Dan betul itu kata Jecki... di C++ ada nya pure virtual function.. > Which is kira2 mirip sama totally abstract class kalo di java.. >
Re: [JUG-Indonesia] mengapa interface?
Sorry, seharusnya gak include C#. AFAIK C# versi2 awal blom support adanya interface, dan baru ada belakangan. Padahal C# itu keluarnya belakangan di banding Java. Setau aku di C++ nggak ada interface, bisa kasi link yang nunjukkin kalo bener2 ada interface di C++ yang bener2 primitive syntax dan bukannya user-defined macro? Dan apakah konsepnya bener2 sama ama Interface di Java? Proprietary language kayak Objective C gak relevan dalam diskusi ini, karena itu bukan standard dalam C in general. --- On Mon, 12/15/08, Reza Alaudin wrote: From: Reza Alaudin Subject: Re: [JUG-Indonesia] mengapa interface? To: jug-indonesia@yahoogroups.com Date: Monday, December 15, 2008, 8:49 AM From: Nicholas I. S. To: jug-indonesia@yahoogroups.com Sent: Monday, December 15, 2008 5:40:25 PM Subject: Re: [JUG-Indonesia] mengapa interface? >>tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO >>language laen kayak C++/C# nggak ada. -1 FYI C++/C# juga ada interface walau karakteristiknya beda, syntaxnya beda ... tapi asal mula interface di java AFAIK itu dari C++ selain itu.. Objective C nya Mac OS/iPhone juga punya interface.. syntaxnya kek gini.. @interface{ doAction(); // bla2 } regards, Reza regards, From: Nicholas I. S. To: jug-indonesia@yahoogroups.com Sent: Monday, December 15, 2008 5:40:25 PM Subject: Re: [JUG-Indonesia] mengapa interface? Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO language laen kayak C++/C# nggak ada. Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih mantep dari C++. Inheritance cuman boleh dari single parent class, gak kayak C++ yang bisa extends dari banyak super class yang side effectnya jadi ga jelas apa yang diturunin kalo 2 super class punya method signature yang sama misalnya. Nah, jadi in order to support the notion of multiple inheritance muncul yang namanya Interface, which is the apt solution to this problem. Kalo pake multiple inheritance, maka kita bisa punya multiple implementation untuk 1 method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya method signature yang sama tapi implementationnya tetep 1 di class yang implements nya. --- On Mon, 12/15/08, Harry Saputra Kartono wrote: > From: Harry Saputra Kartono > Subject: Re: [JUG-Indonesia] mengapa interface? > To: jug-indonesia@ yahoogroups. com > Date: Monday, December 15, 2008, 5:27 AM > kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren > tuh penjelasannya. > > Pada 15 Desember 2008 11:29, ahmad kundzori > menulis: > > > > ...dalam proses pemahaman, perenungan, penghayatan, > dan pengamalan > > (halah..apaan sih, he he) :D > > -- > Regards, > > Harry S. Kartono > http://harry. amn.co.id > http://hskartono. wordpress. com > > - - -- > > Kalau mau keluar dari mailing list ini, caranya kirim > sebuah email ke jug-indonesia- unsubscribe@ yahoogroups. com. > > Jangan lupa, website JUG Indonesia adalah > http://www.jug. or.id > > Yahoo! Groups Links > > >
Re: [JUG-Indonesia] mengapa interface?
karena java adalah bahasa yang strongly static typed dan dukungan IDE yang sangat bagus maka penggunaan interface lebih memudahkan dibandingkan dengan annotation. dengan interface maka contract menjadi sangat strict. misal kita punya interface yg mendeklarasikan 3 buah method di dalamnya maka class yang mau mengimplementasikan interface ini wajib mengimplementasikan keseluruhannya (kecuali kita buat abstract class). mau ga mau, dipaksa mau. bandingkan dengan annotation. kita ga bisa memaksakan contract kita karena pada saat compile kita tidak tau apakah developer sudah memakai kumpulan annotation secara genap. no compile time checking. pemakaian annotation ini kalau dilihat dipengaruhi oleh bahasa yg loosely typed yang cukup populer sekarang ini. masalahnya kadang ada penggunaan yang tidak pada tempatnya. tidak semua teknik di language A berguna di language B. 2008/12/13 irfani YangBaikHati : > benar nih penjelasan pak Reza, utk polymorph dan sbg kontrak. > krna dijava polymorph kalau tipe classnya beda tu ga bisa, dgn interface dia > cek tipenya sama dan pasti punya method yg sama. > > saya pribadi malas pake interface, cape jg buat2nya. secara konsep harusnya > pake annotation bisa gantiin bwt polymorphnya, level pengecekannya dimethod > bukan dtipe class >
Re: [JUG-Indonesia] mengapa interface?
he he... ternyata iya... basicnya emang gak ada... ternyata c++ yg ada interfacenya itu bawaan VS 7 compilernya M$ http://www.codeguru.com/cpp/cpp/cpp_mfc/oop/article.php/c9989/ kenalnya C++ dulu dari VC seeh... kirain standart... ternyata oh ternyata... Regards, Reza From: Adelwin Handoyo To: jug-indonesia@yahoogroups.com Sent: Monday, December 15, 2008 6:00:51 PM Subject: RE: [JUG-Indonesia] mengapa interface? Actually nik... Interface ituh tujuan utama nya tuh dulu untuk mencegah yang namanya diamond inheritance. .. Pernah di bahas dulu nih... Class B dan C extends dari A... Kalo ada class D, dan dia extends B dan C... lalu? super class dari super class nya khan class A... Tapi.. A yang mana? Yang datang dari B ato yang datang dari C.. Dan betul itu kata Jecki... di C++ ada nya pure virtual function.. Which is kira2 mirip sama totally abstract class kalo di java.. Adelwin Handoyo COTS (DS) Consultant, Financial Services Industry NCS Pte. Ltd. (Reg. No. 198101793G) A member of the Singapore Telecom Group 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) DID : (65) 6556 6785 Fax: (65) 6483 5420 Email ID : ahand...@ncs. com.sg Website: http://www.ncs. com.sg DISCLAIMER * This e-mail and any attachments thereto are intended for the sole use of the recipient(s) named above and may contain information that is confidential and/or proprietary to the NCS Group. Any use of the information contained herein (including, but not limited to, total or partial reproduction, communication, or dissemination in any form) by persons other than the intended recipient(s) is prohibited. If you have received this e-mail in error, please notify the sender immediately and delete it. NCS Pte. Ltd. - Reg. No. 198101793G -Original Message- From: jug-indonesia@ yahoogroups. com [mailto:jug-indonesia@ yahoogroups. com] On Behalf Of Nicholas I. S. Sent: Monday, December 15, 2008 4:40 PM To: jug-indonesia@ yahoogroups. com Subject: Re: [JUG-Indonesia] mengapa interface? Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO language laen kayak C++/C# nggak ada. Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih mantep dari C++. Inheritance cuman boleh dari single parent class, gak kayak C++ yang bisa extends dari banyak super class yang side effectnya jadi ga jelas apa yang diturunin kalo 2 super class punya method signature yang sama misalnya. Nah, jadi in order to support the notion of multiple inheritance muncul yang namanya Interface, which is the apt solution to this problem. Kalo pake multiple inheritance, maka kita bisa punya multiple implementation untuk 1 method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya method signature yang sama tapi implementationnya tetep 1 di class yang implements nya. --- On Mon, 12/15/08, Harry Saputra Kartono wrote: > From: Harry Saputra Kartono > Subject: Re: [JUG-Indonesia] mengapa interface? > To: jug-indonesia@ yahoogroups. com > Date: Monday, December 15, 2008, 5:27 AM > kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren > tuh penjelasannya. > > Pada 15 Desember 2008 11:29, ahmad kundzori > menulis: > > > > ...dalam proses pemahaman, perenungan, penghayatan, > dan pengamalan > > (halah..apaan sih, he he) :D > > -- > Regards, > > Harry S. Kartono > http://harry. amn.co.id > http://hskartono. wordpress. com > > - - -- > > Kalau mau keluar dari mailing list ini, caranya kirim > sebuah email ke jug-indonesia- unsubscribe@ yahoogroups. com. > > Jangan lupa, website JUG Indonesia adalah > http://www.jug. or.id > > Yahoo! Groups Links > > > - - -- Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke jug-indonesia- unsubscribe@ yahoogroups. com. Jangan lupa, website JUG Indonesia adalah http://www.jug. or.id Yahoo! Groups Links
RE: [JUG-Indonesia] mengapa interface?
Actually nik... Interface ituh tujuan utama nya tuh dulu untuk mencegah yang namanya diamond inheritance... Pernah di bahas dulu nih... Class B dan C extends dari A... Kalo ada class D, dan dia extends B dan C... lalu? super class dari super class nya khan class A... Tapi.. A yang mana? Yang datang dari B ato yang datang dari C.. Dan betul itu kata Jecki... di C++ ada nya pure virtual function.. Which is kira2 mirip sama totally abstract class kalo di java.. Adelwin Handoyo COTS (DS) Consultant, Financial Services Industry NCS Pte. Ltd. (Reg. No. 198101793G) A member of the Singapore Telecom Group 5 Ang Mo Kio St 62, NCS Hub, Singapore (569141) DID : (65) 6556 6785 Fax: (65) 6483 5420 Email ID : ahand...@ncs.com.sg Website: http://www.ncs.com.sg DISCLAIMER * This e-mail and any attachments thereto are intended for the sole use of the recipient(s) named above and may contain information that is confidential and/or proprietary to the NCS Group. Any use of the information contained herein (including, but not limited to, total or partial reproduction, communication, or dissemination in any form) by persons other than the intended recipient(s) is prohibited. If you have received this e-mail in error, please notify the sender immediately and delete it. NCS Pte. Ltd. - Reg. No. 198101793G -Original Message- From: jug-indonesia@yahoogroups.com [mailto:jug-indone...@yahoogroups.com] On Behalf Of Nicholas I. S. Sent: Monday, December 15, 2008 4:40 PM To: jug-indonesia@yahoogroups.com Subject: Re: [JUG-Indonesia] mengapa interface? Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO language laen kayak C++/C# nggak ada. Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih mantep dari C++. Inheritance cuman boleh dari single parent class, gak kayak C++ yang bisa extends dari banyak super class yang side effectnya jadi ga jelas apa yang diturunin kalo 2 super class punya method signature yang sama misalnya. Nah, jadi in order to support the notion of multiple inheritance muncul yang namanya Interface, which is the apt solution to this problem. Kalo pake multiple inheritance, maka kita bisa punya multiple implementation untuk 1 method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya method signature yang sama tapi implementationnya tetep 1 di class yang implements nya. --- On Mon, 12/15/08, Harry Saputra Kartono wrote: > From: Harry Saputra Kartono > Subject: Re: [JUG-Indonesia] mengapa interface? > To: jug-indonesia@yahoogroups.com > Date: Monday, December 15, 2008, 5:27 AM > kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren > tuh penjelasannya. > > Pada 15 Desember 2008 11:29, ahmad kundzori > menulis: > > > > ...dalam proses pemahaman, perenungan, penghayatan, > dan pengamalan > > (halah..apaan sih, he he) :D > > -- > Regards, > > Harry S. Kartono > http://harry.amn.co.id > http://hskartono.wordpress.com > > > > Kalau mau keluar dari mailing list ini, caranya kirim > sebuah email ke jug-indonesia-unsubscr...@yahoogroups.com. > > Jangan lupa, website JUG Indonesia adalah > http://www.jug.or.id > > Yahoo! Groups Links > > > Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke jug-indonesia-unsubscr...@yahoogroups.com. Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id Yahoo! Groups Links
Re: [JUG-Indonesia] mengapa interface?
sorry ralat :D >>syntaxnya kek gini.. >>@interface{ >> doAction(); >>// bla2 >>} maksudnya kek gini... @interface NamaInterface: NSObject { int variable; } -(void) doAction; //bla2 @end regards, Reza From: Reza Alaudin To: jug-indonesia@yahoogroups.com Sent: Monday, December 15, 2008 5:49:51 PM Subject: Re: [JUG-Indonesia] mengapa interface? From: Nicholas I. S. To: jug-indonesia@ yahoogroups. com Sent: Monday, December 15, 2008 5:40:25 PM Subject: Re: [JUG-Indonesia] mengapa interface? >>tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO >>language laen kayak C++/C# nggak ada. -1 FYI C++/C# juga ada interface walau karakteristiknya beda, syntaxnya beda ... tapi asal mula interface di java AFAIK itu dari C++ selain itu.. Objective C nya Mac OS/iPhone juga punya interface.. syntaxnya kek gini.. @interface{ doAction(); // bla2 } regards, Reza regards, From: Nicholas I. S. To: jug-indonesia@ yahoogroups. com Sent: Monday, December 15, 2008 5:40:25 PM Subject: Re: [JUG-Indonesia] mengapa interface? Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO language laen kayak C++/C# nggak ada. Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih mantep dari C++. Inheritance cuman boleh dari single parent class, gak kayak C++ yang bisa extends dari banyak super class yang side effectnya jadi ga jelas apa yang diturunin kalo 2 super class punya method signature yang sama misalnya. Nah, jadi in order to support the notion of multiple inheritance muncul yang namanya Interface, which is the apt solution to this problem. Kalo pake multiple inheritance, maka kita bisa punya multiple implementation untuk 1 method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya method signature yang sama tapi implementationnya tetep 1 di class yang implements nya. --- On Mon, 12/15/08, Harry Saputra Kartono wrote: > From: Harry Saputra Kartono > Subject: Re: [JUG-Indonesia] mengapa interface? > To: jug-indonesia@ yahoogroups. com > Date: Monday, December 15, 2008, 5:27 AM > kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren > tuh penjelasannya. > > Pada 15 Desember 2008 11:29, ahmad kundzori > menulis: > > > > ...dalam proses pemahaman, perenungan, penghayatan, > dan pengamalan > > (halah..apaan sih, he he) :D > > -- > Regards, > > Harry S. Kartono > http://harry. amn.co.id > http://hskartono. wordpress. com > > - - -- > > Kalau mau keluar dari mailing list ini, caranya kirim > sebuah email ke jug-indonesia- unsubscribe@ yahoogroups. com. > > Jangan lupa, website JUG Indonesia adalah > http://www.jug. or.id > > Yahoo! Groups Links > > >
Re: [JUG-Indonesia] mengapa interface?
2008/12/15 Reza Alaudin : > From: Nicholas I. S. > To: jug-indonesia@yahoogroups.com > Sent: Monday, December 15, 2008 5:40:25 PM > Subject: Re: [JUG-Indonesia] mengapa interface? > >>>tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO >>> language laen kayak C++/C# nggak ada. > -1 > FYI C++/C# juga ada interface > walau karakteristiknya beda, syntaxnya beda ... tapi asal mula interface di > java AFAIK itu dari C++ > selain itu.. Objective C nya Mac OS/iPhone juga punya interface.. > syntaxnya kek gini.. > AFAIK C++ ga punya yang namanya interface, at least dalam "language construct" nya. yang paling mendekati adalah pure virtual function. > @interface{ > doAction(); > // bla2 > } > > regards, > Reza > > > regards,
Re: [JUG-Indonesia] mengapa interface?
From: Nicholas I. S. To: jug-indonesia@yahoogroups.com Sent: Monday, December 15, 2008 5:40:25 PM Subject: Re: [JUG-Indonesia] mengapa interface? >>tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO >>language laen kayak C++/C# nggak ada. -1 FYI C++/C# juga ada interface walau karakteristiknya beda, syntaxnya beda ... tapi asal mula interface di java AFAIK itu dari C++ selain itu.. Objective C nya Mac OS/iPhone juga punya interface.. syntaxnya kek gini.. @interface{ doAction(); // bla2 } regards, Reza regards, From: Nicholas I. S. To: jug-indonesia@yahoogroups.com Sent: Monday, December 15, 2008 5:40:25 PM Subject: Re: [JUG-Indonesia] mengapa interface? Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO language laen kayak C++/C# nggak ada. Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih mantep dari C++. Inheritance cuman boleh dari single parent class, gak kayak C++ yang bisa extends dari banyak super class yang side effectnya jadi ga jelas apa yang diturunin kalo 2 super class punya method signature yang sama misalnya. Nah, jadi in order to support the notion of multiple inheritance muncul yang namanya Interface, which is the apt solution to this problem. Kalo pake multiple inheritance, maka kita bisa punya multiple implementation untuk 1 method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya method signature yang sama tapi implementationnya tetep 1 di class yang implements nya. --- On Mon, 12/15/08, Harry Saputra Kartono wrote: > From: Harry Saputra Kartono > Subject: Re: [JUG-Indonesia] mengapa interface? > To: jug-indonesia@ yahoogroups. com > Date: Monday, December 15, 2008, 5:27 AM > kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren > tuh penjelasannya. > > Pada 15 Desember 2008 11:29, ahmad kundzori > menulis: > > > > ...dalam proses pemahaman, perenungan, penghayatan, > dan pengamalan > > (halah..apaan sih, he he) :D > > -- > Regards, > > Harry S. Kartono > http://harry. amn.co.id > http://hskartono. wordpress. com > > - - -- > > Kalau mau keluar dari mailing list ini, caranya kirim > sebuah email ke jug-indonesia- unsubscribe@ yahoogroups. com. > > Jangan lupa, website JUG Indonesia adalah > http://www.jug. or.id > > Yahoo! Groups Links > > >
Re: [JUG-Indonesia] mengapa interface?
Hmm... mungkin TS bukannya blom ngerti soal polymorphism ato design pattern, tapi dia bingung kenapa di Java ada yang namanya Interface sedangkan di OO language laen kayak C++/C# nggak ada. Kalo emang gini maksud pertanyaannya, jawabnya yah karena di Java OO nya lebih mantep dari C++. Inheritance cuman boleh dari single parent class, gak kayak C++ yang bisa extends dari banyak super class yang side effectnya jadi ga jelas apa yang diturunin kalo 2 super class punya method signature yang sama misalnya. Nah, jadi in order to support the notion of multiple inheritance muncul yang namanya Interface, which is the apt solution to this problem. Kalo pake multiple inheritance, maka kita bisa punya multiple implementation untuk 1 method signature. Sedangkan kalo pake Interface, walaupun 2 interface punya method signature yang sama tapi implementationnya tetep 1 di class yang implements nya. --- On Mon, 12/15/08, Harry Saputra Kartono wrote: > From: Harry Saputra Kartono > Subject: Re: [JUG-Indonesia] mengapa interface? > To: jug-indonesia@yahoogroups.com > Date: Monday, December 15, 2008, 5:27 AM > kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren > tuh penjelasannya. > > Pada 15 Desember 2008 11:29, ahmad kundzori > menulis: > > > > ...dalam proses pemahaman, perenungan, penghayatan, > dan pengamalan > > (halah..apaan sih, he he) :D > > -- > Regards, > > Harry S. Kartono > http://harry.amn.co.id > http://hskartono.wordpress.com > > > > Kalau mau keluar dari mailing list ini, caranya kirim > sebuah email ke jug-indonesia-unsubscr...@yahoogroups.com. > > Jangan lupa, website JUG Indonesia adalah > http://www.jug.or.id > > Yahoo! Groups Links > > >
Re: [JUG-Indonesia] mengapa interface?
kalo masih kurang muanteb, coba baca HEAD FIRST JAVA. Keren tuh penjelasannya. Pada 15 Desember 2008 11:29, ahmad kundzori menulis: > > ...dalam proses pemahaman, perenungan, penghayatan, dan pengamalan > (halah..apaan sih, he he) :D -- Regards, Harry S. Kartono http://harry.amn.co.id http://hskartono.wordpress.com
Re: [JUG-Indonesia] mengapa interface?
...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?
udah banyak menanggapi, udah ngerti belum!? :D 2008/12/15 ahmad kundzori : > > wow, ternyata banyak yang menanggapi... > terima kasih banyak... > > -- syaiful.mukhlis gtalk:syaiful.mukh...@gmail.com
Re: [JUG-Indonesia] mengapa interface?
wow, ternyata banyak yang menanggapi... terima kasih banyak...
Re: [JUG-Indonesia] mengapa interface?
udh bnyk yg ngjawab..:) gw kasih ebook aja deh... stelah baca buku ini gw jadi 'ngeh' sama yg namanya interface d java..:) mnurut gw ni ebook cocok buat pmula yg m blajar OOP pake Java trus m nerapin bberapa patern yg sering d terapin oleh bbrapa programmer java..:) cara jelasinnya unik..:) langsung ada contoh penerapannya..:) judulnya : Head First Design Patern - Gang of Four http://rapidlibrary.com/download_file_i.php?qq=patterns%20design&file=4706894&desc=Head+First+-+Design+Patterns+.pdf - Original Message - From: ahmad kundzori To: jug-indonesia@yahoogroups.com Sent: Saturday, December 13, 2008 5:10 PM Subject: [JUG-Indonesia] mengapa interface? para master2 java (apa ga' perlu master untuk jawab ini...?), mau tanya... mengapa interface itu dibuat, apakah manfaat (yang signifiakan...manfaat yang "nendang") dari interface? why interface? bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi kenapa?) ada contoh yang "nendang"? terima kasih atas tanggapannya. :)
Re: [JUG-Indonesia] mengapa interface?
Saya akan coba jawab juga, jawaban yang simple dan pendek by example, mudah2an bukan basa basi. Jika kamu menjadi programmer atau lead programmer atau design object untuk system/API yang kamu kembangkan. Case: Membuat feature registrasi member, hal2 yang harus dimasukkan adalah nama, login id, email, dll. Nah nanti ketika member itu register, makan akan dikirimkan email konfirmasi (pastinya) ke alamat email yang sudah dia isi. Cara Pandang: Kamu gak perlu secara langsung melakukan coding bikin logic yang secara fungsi langsung bener2 bisa mengirimkan email. Kamu cukup bikin sesuatu yang kita sebut interface. public interface EmailSender { void send(String destination, String sender, String subject, String messages) throws SendingException; } Nah, kenapa sih gak langsung bikin implementasinya? Jawaban (1) ya supaya kamu gak terlalu fokus dulu dengan implementasi, jadi kamu fokus dengan design object/logic yang kamu bikin. Jawaban (2) supaya kamu bisa mendelegasikan pekerjaan untuk buat implementasi dari EmailSender itu kepada orang lain, jadi gak harus kamu yang bikin, kamu bisa mengerjakan hal lain. Jawaban (3) supaya bisa ada multi implementation, bisa jadi awalnya implementasi kamu bikin sendiri dengan socket, trus kemudian banyak bugs dan segala macem sehingga kamu ingin ganti pake Jakarta commons-net, nah kan pasti logic internal-nya ganti, tapi "How to use EmailSender" tetep donk, gak berubah. tinggal, kita liat contoh untuk kasus jawaban 3: // contoh pake implementasi socket EmailSender emailSender = new MyOwnEmailSenderImplementation(); try { emailSender.sendEmail("yourm...@yourmail.com", "mym...@mymail.com", "Welcome", "Thanks"); } catch (SendingException e) { e.printStackTrace(); { // misal diganti dengan commons-net EmailSender emailSender = new CommonsNetEmailSenderImplementation(); try { emailSender.sendEmail("yourm...@yourmail.com", "mym...@mymail.com", "Welcome", "Thanks"); } catch (SendingException e) { e.printStackTrace(); { Nah, perbedaannya kan cuma di bagian yang ditulis bold. Masih banyak contoh lain dan manfaat dari interface, biar bagian orang lain deh, dari gw segitu aja. Regards, uudashr 2008/12/13 ahmad kundzori > para master2 java (apa ga' perlu master untuk jawab ini...?), mau > tanya... > mengapa interface itu dibuat, apakah manfaat (yang signifiakan...manfaat > yang "nendang") dari interface? > why interface? > bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class > yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi > kenapa?) > ada contoh yang "nendang"? > > terima kasih atas tanggapannya. :) > > >
Re: [JUG-Indonesia] mengapa interface?
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?
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?
Nostalgia ama thread-nya Arif nih :)) 2008/12/13 irfani YangBaikHati : > benar nih penjelasan pak Reza, utk polymorph dan sbg kontrak. > krna dijava polymorph kalau tipe classnya beda tu ga bisa, dgn interface dia > cek tipenya sama dan pasti punya method yg sama. > > saya pribadi malas pake interface, cape jg buat2nya. secara konsep harusnya > pake annotation bisa gantiin bwt polymorphnya, level pengecekannya dimethod > bukan dtipe class > > > 2008/12/13 Reza Alaudin >> >> Hi Ahmad,... >> saya coba jawab ya... >> >> >>mengapa interface itu dibuat, >> >>apakah manfaat (yang signifiakan. ..manfaat yang "nendang") dari >> >> interface? >> >> >> interface di Java merupakan sebuah best practice dari polymorphism... >> yang definisi simplenya 1 perintah untuk multi implementasi.. >> ada juga kegunaan laen interface sebagai kontrak(perjanjian) yang sangat >> membantu apabila >> sebuah program dikerjakan oleh banyak orang... >> sistem designer/analis menggunakan interface sebagai cetakan... sehingga >> software >> yang dihasilkan lebih scalable, readable, flexible dan sebagainya.. >> masuk lagi lebih dalam... interface banyak dipakai di design pattern >> MVC pattern, Adapter pattern, observer pattern dll... >> contoh konkrit pemakaian intervace di pattern ada di struts 2 >> java... IMO merupakan bahasa yg heavily interface.. >> satu contoh lagi... >> kamu gak bakalan bisa menghindari pake interface kalo mrogram di android >> platform >> >> begitujuga kalo pake fitur threading... slalu dideklarasikan implements >> runnable.. >> manfaat laen dari interface adalah pengganti dari multiple inheritance.. >> aku kasih contoh dikit ya... >> interface IPajak{ >> public void hitungPajak(); >> } >> class PajakPpn implements IPajak{ >> public void hitungPajak(){ >> System.out.println("PPN nya 10 %"); >> } >> } >> >> >> class PajakBarangMewah implements IPajak{ >> public void hitungPajak(){ >> System.out.println("Pajak Barang mewah nya 50 %"); >> } >> } >> class KipasAngin { >> private IPajak pajak; >> KipasAngin(IPajak pajak){ >> this.pajak=pajak; >> System.out.println("Harganya Rp. 1000"); >> if(null!=pajak) >> pajak.hitungPajak(); >> } >> } >> class Ferrari { >> private IPajak pajak; >> KipasAngin(IPajak pajak){ >> this.pajak=pajak; >> System.out.println("Harganya Rp. 1.000.000.000"); >> if(null!=pajak) >> pajak.hitungPajak(); >> else >> System.out.println("Ini Selundupan ya!!"); >> } >> >> } >> na... dari contoh diatas... >> Kipas angin bisa fleksibel... kalo negara lagi bangkrut... ya dikenakan >> pajak barang mewah... >> kalo negara lagi kaya... ya bisa diisi null.. artinya bebas pajak... >> trus kelas ferrari cuman dibebani PPN aja.. (kalo bebas pajak ya berarti >> selundupan...) >> so... sistem akan flexyble... >> Regards, >> Reza > > > > -- > irfani > > http://irfani.web.id > Y! irfani_s >
Re: [JUG-Indonesia] mengapa interface?
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?
benar nih penjelasan pak Reza, utk polymorph dan sbg kontrak. krna dijava polymorph kalau tipe classnya beda tu ga bisa, dgn interface dia cek tipenya sama dan pasti punya method yg sama. saya pribadi malas pake interface, cape jg buat2nya. secara konsep harusnya pake annotation bisa gantiin bwt polymorphnya, level pengecekannya dimethod bukan dtipe class 2008/12/13 Reza Alaudin > Hi Ahmad,... > > saya coba jawab ya... > > > >>mengapa interface itu dibuat, > >>apakah manfaat (yang signifiakan. ..manfaat yang "nendang") dari > interface? > >> > interface di Java merupakan sebuah best practice dari polymorphism... > yang definisi simplenya 1 perintah untuk multi implementasi.. > ada juga kegunaan laen interface sebagai kontrak(perjanjian) yang sangat > membantu apabila > sebuah program dikerjakan oleh banyak orang... > sistem designer/analis menggunakan interface sebagai cetakan... sehingga > software > yang dihasilkan lebih scalable, readable, flexible dan sebagainya.. > masuk lagi lebih dalam... interface banyak dipakai di design pattern > MVC pattern, Adapter pattern, observer pattern dll... > contoh konkrit pemakaian intervace di pattern ada di struts 2 > java... IMO merupakan bahasa yg heavily interface.. > satu contoh lagi... > kamu gak bakalan bisa menghindari pake interface kalo mrogram di android > platform > > begitujuga kalo pake fitur threading... slalu dideklarasikan implements > runnable.. > > manfaat laen dari interface adalah pengganti dari multiple inheritance.. > > aku kasih contoh dikit ya... > > interface IPajak{ > > public void hitungPajak(); > } > > class PajakPpn implements IPajak{ > > public void hitungPajak(){ > System.out.println("PPN nya 10 %"); > } > } > > > > class PajakBarangMewah implements IPajak{ > > public void hitungPajak(){ > System.out.println("Pajak Barang mewah nya 50 %"); > } > } > > class KipasAngin { > private IPajak pajak; > > KipasAngin(IPajak pajak){ > this.pajak=pajak; > System.out.println("Harganya Rp. 1000"); > if(null!=pajak) > pajak.hitungPajak(); > } > > } > > class Ferrari { > private IPajak pajak; > > KipasAngin(IPajak pajak){ > this.pajak=pajak; > System.out.println("Harganya Rp. 1.000.000.000"); > if(null!=pajak) > pajak.hitungPajak(); > else > System.out.println("Ini Selundupan ya!!"); > > } > > } > > na... dari contoh diatas... > Kipas angin bisa fleksibel... kalo negara lagi bangkrut... ya dikenakan > pajak barang mewah... > kalo negara lagi kaya... ya bisa diisi null.. artinya bebas pajak... > trus kelas ferrari cuman dibebani PPN aja.. (kalo bebas pajak ya berarti > selundupan...) > > so... sistem akan flexyble... > > Regards, > Reza > > -- irfani http://irfani.web.id Y! irfani_s
Re: [JUG-Indonesia] mengapa interface?
Hi Ahmad,... saya coba jawab ya... >>mengapa interface itu dibuat, >>apakah manfaat (yang signifiakan. ..manfaat yang "nendang") dari interface? >> interface di Java merupakan sebuah best practice dari polymorphism... yang definisi simplenya 1 perintah untuk multi implementasi.. ada juga kegunaan laen interface sebagai kontrak(perjanjian) yang sangat membantu apabila sebuah program dikerjakan oleh banyak orang... sistem designer/analis menggunakan interface sebagai cetakan... sehingga software yang dihasilkan lebih scalable, readable, flexible dan sebagainya.. masuk lagi lebih dalam... interface banyak dipakai di design pattern MVC pattern, Adapter pattern, observer pattern dll... contoh konkrit pemakaian intervace di pattern ada di struts 2 java... IMO merupakan bahasa yg heavily interface.. satu contoh lagi... kamu gak bakalan bisa menghindari pake interface kalo mrogram di android platform begitujuga kalo pake fitur threading... slalu dideklarasikan implements runnable.. manfaat laen dari interface adalah pengganti dari multiple inheritance.. aku kasih contoh dikit ya... interface IPajak{ public void hitungPajak(); } class PajakPpn implements IPajak{ public void hitungPajak(){ System.out.println("PPN nya 10 %"); } } class PajakBarangMewah implements IPajak{ public void hitungPajak(){ System.out.println("Pajak Barang mewah nya 50 %"); } } class KipasAngin { private IPajak pajak; KipasAngin(IPajak pajak){ this.pajak=pajak; System.out.println("Harganya Rp. 1000"); if(null!=pajak) pajak.hitungPajak(); } } class Ferrari { private IPajak pajak; KipasAngin(IPajak pajak){ this.pajak=pajak; System.out.println("Harganya Rp. 1.000.000.000"); if(null!=pajak) pajak.hitungPajak(); else System.out.println("Ini Selundupan ya!!"); } } na... dari contoh diatas... Kipas angin bisa fleksibel... kalo negara lagi bangkrut... ya dikenakan pajak barang mewah... kalo negara lagi kaya... ya bisa diisi null.. artinya bebas pajak... trus kelas ferrari cuman dibebani PPN aja.. (kalo bebas pajak ya berarti selundupan...) so... sistem akan flexyble... Regards, Reza From: ahmad kundzori To: jug-indonesia@yahoogroups.com Sent: Saturday, December 13, 2008 7:10:37 PM Subject: [JUG-Indonesia] mengapa interface? para master2 java (apa ga' perlu master untuk jawab ini...?), mau tanya... mengapa interface itu dibuat, apakah manfaat (yang signifiakan. ..manfaat yang "nendang") dari interface? why interface? bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi kenapa?) ada contoh yang "nendang"? terima kasih atas tanggapannya. :)
Re: [JUG-Indonesia] mengapa interface?
Dear all, class hanya boleh memiliki satu parent class. Kalau class tersebut ingin meng-inherit behaviour class lain, class tersebut menggunakan Interface. Contohnya begini, (misalnya kita membuat software ERP) Anda membuat class Employee dan Buyer. Parent kedua class ini adalah class Person. Relasi dua kelas ini sudah cukup untuk software HRD perkantoran. Misalkan, software anda sukses besar, sehingga ada perusahaan MLM yg ingin membeli software tsb. Di dalam perusahaan MLM, Employee juga Buyer. Dalam java, ada batasan yaitu satu class hanya boleh meng-extends satu class saja. Dgn interface, anda tidak perlu khawatir dg keterbatasan tersebut. Hirarki class tidak perlu dirubah total. Kita bisa membuat Interface Customer. Class Employee dan Buyer mengimplements Interface Buyer dan juga meng-extends Person. Kind regards, Faisal Adnan 2008/12/13 ahmad kundzori : > para master2 java (apa ga' perlu master untuk jawab ini...?), mau tanya... > mengapa interface itu dibuat, apakah manfaat (yang signifiakan...manfaat > yang "nendang") dari interface? > why interface? > bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class > yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi > kenapa?) > ada contoh yang "nendang"? > > terima kasih atas tanggapannya. :) > >
RE: [JUG-Indonesia] mengapa interface?
Coba oprek2 penggunaan class Thread dan interface Runnable. Kalau sudah dapet gotcha-nya multithreading dengan Runnable semestinya juga sudah paham interface salam, Aldian From: ahmad kundzori Date: 12/13/08 10:10 Subject: [JUG-Indonesia] mengapa interface? para master2 java (apa ga' perlu master untuk jawab ini...?), mau tanya... mengapa interface itu dibuat, apakah manfaat (yang signifiakan...manfaat yang "nendang") dari interface? why interface? bukankah langsung dibuat class biasa aja juga bisa, dari pada membuat class yang mempunyai method tanpa implementasi (kalo langsung diisi implementasi kenapa?) ada contoh yang "nendang"? terima kasih atas tanggapannya. :)
[JUG-Indonesia] mengapa interface?
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. :)