Inheritance (Pewarisan)

Hallo semua, apa kabarnya kalian? tentu kalian baik-baik aja kan..Sebelumnya kenalin dulu nih Nama aku Natalia Devi, aku mahasiswa dari Telkom University Fakultas Ilmu Terapan, Sekarang sih aku baru semester 2 dan ada dikelas D3SI-43-01, SI itu (Sistem Informasi Gaez). Nah langsung aja dibawah ini adalah penjelasan tentang Inheritance atau bahasa indonesianya pewarisan..Eittss disini saya menjelaskan inheritance pada pelajaran Pemrograman Berorientasi Object (PBO) buka warisan tentang surat warisan..Ok silahkan temen-temen semua dibaca-baca infonya dibawah ya..

Image result for gambar tentang inheritance PBO

Apa pengertian dari Inheritance?

Inheritance atau bahasa sederhananya yaitu pewarisan,pewarisan adalah suatu Class yang dapat mewariskan atribut dan Method kepada Class yang lainnya atau Anak Class, sehingga membentuk Induk Class. Inheritance merupakan suatu bagian atau segi kecerdasan manusia untuk mencari, dan menciptakan hubungan antar suatu rancangan.

Tanpa Inheritance, kelas-kelas akan menjadi sebuah unit yang berdiri sendiri. Inheritance, akan membentuk suatu konsep dimana jika konsep yang diatas berubah, maka perubahan akan berlaku dibawahnya. 

Inheritance, merupakan suatu tanda atau ciri yang sangat khas dari OOP yang tidak terdapat pada pemrograman prosedural yang sudah lama/usang.

Maka inheritance bertujuan membuat obyek baru, yang memiliki sifat yang sama atau mirip dengan obyek yang sudah ada sebelumnya.

Dekalarasi Inheritance

Cara untuk mendeklarasikan inheritance adalah dengan memberikan kata kunci “extends” dimana berguna untuk memanggil kelas lainnya,di taruh setelah nama kelas diikuti dengan nama induk class. 

Nah yang pentingnya adalah, sebuah class anak tidak diperbolehkan mempunyai lebih dari satu class induk (hirarki) atau superclass.

Contoh dari deklarasi inheritance:

–          Definisi class induk  x

Public class x{

……..

}

–          Definisi class anak U yang dimana turunan dari class x

Public class U extends x{

……

}

Pada umumnya semua class dalam Java merupakan bagian dari class turunan atau subclass dari super class Object. Contoh ada kelas seperti ini :

Public Class P {

………

}

Maka saat kompilasi pada kompiler Java akan membacanya sebagai class anak dari Induk Class Object :

Public class P extends Object{

…….

}

Pengguna Inheritance

Kapan kita menggunakan inheritance? ketika apabila ditemukannya Class yang dapat digali lebih dalam informasinya (diperluas) menggunakan class lainnya.Misal kita mempunyai kelas Anggota Keluarga:

Public class Anggota Keluarga{

Public String nama;

Public double tunjangan;

}

kita juga mempunyai Class Kepala Keluarga :

Public class Kepala Keluarga

Public String nama;

Public double gaji;

Public String divisikantor;

}

Dari dua class diatas kita dapat melihat bahwa class Kepala Keluarga mempunyai data yang identik dengan class Anggota Keluarga ,hanya saja ada tambahan data divisikantor.Sebenarnya class Kepala Keluarga merupakan perluasan dari class Anggota Keluarga dengan tambahan data member divisikantor. Dalam kondisi seperti itu kita perlu menggunakan konsep inheritance untuk kasus seperti pada class diatas. Sehingga class  KepalaKeluarga dapat kita tuliskan sebagai berikut.

Public class Kepala Keluarga extends Anggota Keluarga{

Public String divisikantor;

}

Mendefinisikan Superclass dan Subclass

Untuk memperoleh suatu class, seperti yang sudah disampaikan diatas kita menggunakan kata kunci extend.

  • Definisi Method Superclass

Method yang berada didalam Induk Class (SuperClass) juga bisa digunakan atau dipanggil dari Anak Class (SubClass) nya. Bisa juga dilakukan dengan menggunakan keyword super, yang memiliki pengertian SuperClass. Bentuk penulisan penggunakan method SuperClass,

Contohnya:

super.data_method();

Konsep Inheritance dalam Java

Konsep inheritance yang ada di Java adalah hanya memperkenankan adanya Single inheritance.Konsep Single inheritane artinya bahwa sebuah subclass hanya diperkenankan memiliki satu parent class. Konsep inheritance yang ada di java memperkenankan adanya multilevel inheritance. Konsep multilevel inheritance berarti bahwa sebuah subclass dapat memiliki subclass lagi sebagai turunannya.

Subclass menggunakan keyword super untuk mereferensi data dan fungsi dari parent class-nya. Dengan kata lain keyword super ini berfungsi sebagai alias dari Parent class.Format penulisan dari keyword ini :

–          super.data_member  ->  merujuk pada data member dari parent class

–          super.function_member()  ->  merujuk pada function member dari parent class

–          super()  ->  merujuk pada konstruktor dari parent class

contoh penerapan keyword ini :

class parent {

Public int x = 2;

}

class child extends parent{

Public int x = 6;

Public void info(int x){

System.out.println(“Score x Sebagai Parameter =” + x);

System.out.println(“Data Member x di Child class =” + this.x);

System.out.println(“Data Member x di Parent class =” + super.x);

}

}

Public class ScoreI{

Public static void main(String [] args){

child tes = new child();

tes.info(12);

}

}

Sekian informasi-informasi tentang inheritance (Pewarisan).

Lebih kurangnya mohon dimaafkan. Selamat beraktivitas dan Terimakasih..

 

Relasi Asosiasi, Komposisi, Agregasi

HAII GUYSSS….Mau ngasihtau aja aku Natalia Devi mahasiswi Telkom University di Fakultas Ilmu Terapan, sekarang aku masih di semester 2 kelas D3-SI-43-01, SI itu (Sistem Informasi)..Gausah banyak basa-basi ya langsung aja temen-temen semua monggo dibaca tentang Relasi mulai dari Asosiasi, Komposisi, dan Agregasi.

Pengertian Relasi

 

Seperti yang kita tahu tentang Relasi adalah sebuah hubungan yang terjalin antara 2 atau lebih manusia, tetapi hampir mirip dengan Relasi dalam hal PBO yaitu bagaimana sih keterkaitan satu kelas dengan kelas yang lainnya. Saat satu class memasukkan pesan ke class lain pada Diagram Interaksi, maka harus terdapat relasi pada kedua class tersebut.

 

Hubungan atau relasi yang terjadi di dalam Java ada 3 jenis yaitu Asosiasi, Agregasi, dan Komposisi. Mari kita mulai dari Asosiasi.

 

Asosiasi

 

Kelas diagram hubungan Asosiasi

 

Dapat kita lihat pada gambar kelas diagram di atas, relasi asosiasi diartikan dengan satu buah garis vertikal yang tidak putus-putus dalam artian garis lurus saja, tetapi kemudian ada kardinal atau kepala sebagai tanda untuk mengeatahui jumlah dari relasi Dosen dengan Mahasiswa di diagram tersebut.

 

Asosiasi bisa juga diartikan sebagai hubungan yang bisa saling menggunakan (use-to) di dalam sebuah kelas, dan tidak saling memiliki. Misal pada gambar di atas terdapat kelas Dosen dan kelas Mahasiswa, dilihat dari kardinalitasnya, satu dosen bisa memiliki banyak mahasiswa. Apabila dosen dihilangkan, mahasiswa masih bisa digunakan karena tidak saling memiliki. Asosiasi juga dapat diartikan sebagai relasi yang terjadi pada class-class dimana salah satu instance dari class tersebut memanggil/mengaktifkan instance dari class lainnya. Asosiasi merupakan relasi yang bisa dibilang relevan bisa uni-directional (satu arah) atau bisa juga bidirectional (dua arah).

 

 

Agregasi

 

Agregasi adalah bentuk hubungan yang lebih khusus dari Asosiasi dimana sebuah object memiliki lifecycle nya sendiri tapi dengan kepemilikan dan class anak tidak dapat memiliki class induknya. 

 

Kelas diagram hubungan Agregasi

 

Relasi agregasi digambarkan dengan diamond putih, yang ditujukan pada kelas yang memiliki nilai kalau seperti diagram diatas kelas jurusan itu hanya punya satu tetapi satu jurusan terdapat banyak mahasiswa yang diberi tanda bintang. 

 

Jika pada relasi asosiasi adalah saling menggunakan (use-to), di sini hubungan yang terjadi adalah memiliki atau bahasa inggrisnya (has-to). Dapat dilihat pada gambar kelas diagram di atas, bahwa kelas Jurusan memiliki kelas Mahasiswa sebagai variable nya. Meskipun kelas Jurusan memiliki kelas Mahasiswa, namun kedua kelas tersebut dapat dibuat secara bebas.

 

Komposisi

 

Relasi Komposisi sama halnya dengan agregasi dimana suatu class merupakan bagian utuh dari class lainya namun pada hal ini satu bagian class tersebut akan sangat bergantung pada keberadaan class lainya.

 

Kelas diagram hubungan komposisi

 

Komposisi digambarkan menggunakan diamond hitam yang menyatakan memiliki bagian seperti pada agregasi, tapi lebih spesial. Kemudian menggunakan garis tidak putus ke kelas yang dimiliki.

 

Contoh dalam bentuk kode :

 

public class Cpu {
  private String nama;
  public Cpu(String nama) {
    this.nama = nama;
  }
  public String getNama() {
    return this.nama
  }
}


cpu.java

 

public class Keyboard {
  private String jenis;
  public Keyboard(String jenis) {
    this.jenis = jenis; 
  }
  public String getJenis() {
    return this.jenis;
  }
}

keyboard.java

 

public class Mouse {
  private String merk;
  public Mouse(String merk) {
    this.merk = merk;
  }
  public String getMerk() {
    return this.merk; 
  }
}

Mouse.java

 

public class Komputer {
  private String merk;
  private String tipe;
  private Mouse mouse;
  private Keyboard keyboard;
  private Cpu cpu;
  public Komputer(String merk, String tipe) {
    this.merk = merk;
    this.tipe = tipe;
  }
  public addKomponen(Mouse mouse, Keyboard keyboard, Cpu cpu) {
    this.mouse = mouse;
    this.keyboard = keyboard;
    this.CPU = cpu;
  }
}

Komputer.java

 

public class MainKomputer {
  public static void main(String[] args) {
    // membuat objek komputer
    Komputer komputer = new Komputer('Asus','A450CC');
    // membuat komponen nya
    komputer.addKomponen(new Mouse('Logitec'), new Keyboard('Logitec'), new Cpu('intel i7'));
  }
}

MainKomputer.java

 

Dapat dilihat dari file MainKomputer.java bahwa komponen kelas Mouse, Keyboard, Cpu baru dibuat setelah komputer dibuat. Apabila objek komputer dihapus maka semua komponen juga terhapus. Begitulah ilustrasi dari hubungan komposisi. 

Sekian dari aku gaes jika ada yang kurang dan kurang dipahami silahkan komen aja gaes, nanti sebisa mungkin aku jawab. Terimakasih.

 

 

 

Hello world!

Welcome to my blog..Blog ini berisi tentang beberapa informasi dan contoh tentang relasi asosiasi, agregasi, dan komposisi..Semoga Blog ini dapat bermanfaat untuk kita semua.Danke…