Belajar Mengenal Relasi IS-A dan HAS-A di Program Java

CODEORAYO COMMUNITY Programming Tutorial Java Belajar Mengenal Relasi IS-A dan HAS-A di Program Java

  • Post
    codeorayo
    Keymaster
    none
    Saat kita mempelajari bahasa pemrograman Java , kalian mungkin pernah atau sering mendengar adanya relasi IS-A dan HAS-A. Keduanya merupakan sama-sama bagian dari suatu konsep pemrograman beriorientasi objek atau disebut juga (Konsep OOP), namun berbeda saat diimplementasikan ke dalam baris code. Jika relasi ISA-A  membicarakan kepada turunan, beda halnya  dengan relasi HAS-A yang membicarakan kepada kegunaan. Pada artikel belajar java kali , ini kita akan belajar mengenal contoh penggunaan relasi IS-A dan HAS-A di bahasa pemrograman Java. Berikut selengkapnya mari kita simak lebih lanjut :

    1. Pertama buka IntelliJ IDEA ,atau Software IDE lain yang kalian gunakan , di Komputer atau Laptop kalian.

    2.  Kalian bisa perhatikan Contoh code ,beserta penjelasanya di bawah:

    • Relasi IS-A (Pewarisan)


      Contoh Code :

      Parent.java

      [table]

      [tr]

      [/tr]

      [tr]

      [/tr]

      [/table]

      [td][img width=640,height=592]https://2.bp.blogspot.com/-NgvZ2cYUqSo/WpNr4G-6NeI/AAAAAAAAJRw/pHWBrr7ANVkeZ7ofa0GErmOy9PqvGzcjgCLcBGAs/s640/contoh-code-penerapan-relasi-IS-A-di-parent-class-java-1.png[/img][/td]
      [td]Parent.java[/td]

      Child.java

      [table]

      [tr]

      [/tr]

      [tr]

      [/tr]

      [/table]

      [td][img width=640,height=488]https://3.bp.blogspot.com/-WBN4CaDfJX8/WpNsGXw-GFI/AAAAAAAAJR0/Ya2Xm1HI5soJzjhVTtM5LojqQixwxG9QQCLcBGAs/s640/contoh-code-penerapan-relasi-IS-A-di-child-class-java-2.png[/img][/td]
      [td]Child.java[/td]

      Main.java

      [table]

      [tr]

      [/tr]

      [tr]

      [/tr]

      [/table]

      [td][img width=602,height=640]https://1.bp.blogspot.com/-dtRKjRZvg2Y/WpNsT1GbcHI/AAAAAAAAJR4/EtDvrNN5E4gYBiAIbpd6pBT3XtzjLzwowCLcBGAs/s640/contoh-code-penerapan-relasi-IS-A-di-main-class-java-3.png[/img][/td]
      [td]Main.java[/td]

      Penjelasan :

      Pada contoh code program diatas , kita menggunakan konsep  Inheritance (Pewarisan) ,dengan menggunakan keyword extends , untuk mewariskan atribut atau method yang berada di class Parent , untuk digunakan kembali (reusable) di dalam class Child, seperti pada method tampilNama().

      Ini termasuk ke dalam relasi IS-A , karena apapun baik atribut atau method yang didefinisikan di dalam class Super , dapat diturunkan dan digunakan kembali ke dalam class Sub Class. Selama kita menggunakan keyword extends di dalam Sub Class. 

      Sedangkan , apapun baik itu  atribut atau method yang di definisikan di dalam class Sub,  tidak dapat digunakan kembali  oleh class Super.

      Contoh lain di dunia nyata , jika kita mengacu pada penyebutanya. Seperti tipe object Ayam termasuk ke dalam tipe object (IS-A) Binatang.  BMW termasuk ke dalam tipe object (IS-A) Mobil. Begitu contoh lain yang bisa kalian bayangkan. Jadi IS-A adalah keterkaitan antar suatu object dengan object yang lainya.

      • Relasi HAS-A (Asosiasi)


        Berbeda halnya jika relasi HAS-A ,yang mengacu pada kegunaan. Dimana instansi dari satu class (HAS-A) referensi pada instansi class lain , atau instansi dari class yang sama. Sebagai  contoh kalian bisa perhatikan code berikut :

        Contoh Code :

        [table]

        [tr]

        [/tr]

        [tr]

        [/tr]

        [/table]

        [td][img width=508,height=640]https://1.bp.blogspot.com/-1-7OHlBLI-Y/WpN-NaLbgpI/AAAAAAAAJSM/Fa0Uq54OTBoIOfbAEd3fugL9IWvKJ2jqACLcBGAs/s640/contoh-code-penerapan-relasi-HAS-A-di-program-java-1.png[/img][/td]
        [td]Proccessor.java dan Komputer.java[/td]

        Penjelasan :

        Pada contoh code program diatas ,kita menggunakan class Processor dan Komputer.  Di dalam class Processor ,terdapat method kalkulasiData() ,yang telah didefinisikan beserta nilainya.

        Selanjutnya , pada class Komputer kita menginstasi objek intel ,yang termasuk referensi dari class Processor. Untuk digunakan methodnya , di dalam class Komputer. Jadi Komputer (HAS-A) Procsessor. Jika kita terjemahkan ke dalam bahasa inggris , HAS A =  mempunyai sebuah.

        Aggregation  dan Composition :

        Agregasi dan Komposisi ,  termasuk penyebutan lain dari relasi (HAS-A) . Keduanya memiliki kegunaan atau fungsi yang berbeda. 

        Contohnya,  jika  Komputer tiba-tiba mati dan tidak bisa dihidupkan, disebabkan overheat pada Processor atau chipset pada Motherboard. Kita bisa menggunakan Processor atau Motherboard lain , agar Komputer dapat dihidupkan kembali. Ini termasuk kedalam Agregasi. 

        Jadi dalam Agregasi , yang termasuk class container (Komputer) , dan class referensi (Processor) , dapat berjalan secara independen.

        Nah ,pada Komposisi kita dapat bagi menjadi 2 class ,seperti contoh code berikut :

        [table]

        [tr]

        [/tr]

        [tr]

        [/tr]

        [/table]

        [td][img width=371,height=400]https://3.bp.blogspot.com/-v0cQolThJOw/WpOHQnQMt9I/AAAAAAAAJSc/ECMOOfwT6ycKqLGelueWtHYDA2Y6MSKvQCLcBGAs/s400/contoh-code-penerapan-relasi-HAS-A-di-composition-komposisi-program-java-2.png[/img][/td]
        [td]Rumah.java dan Dapur.java[/td]

        Seperti pada contoh code diatas ,jika Rumah roboh atau hancur ,disebabkan banyak kemungkinan , maka Dapur juga ikutan hancur bersamaan dengan Rumah tersebut. Ini termasuk Komposisi.

        Jadi dalam Komposisi , yang termasuk  class referensi (Dapur) , tidak dapat digunakan , jika class container (Rumah) hancur.

      • You must be logged in to reply to this topic.