Konsep dan implementasi pemrograman berorientasi objek dalam pengembangan apikasi atau sistem informasi


a. Konsep  OOP  dalam  pengembangan  aplikasi/sistem  informasi menggunakan Program Java

Bahasa java dibuat oleh James Gosling saat masih bergabung di Sun Microsystems dan dirilis tahun 1995. Bahasa Java dapat dijalankan pada berbagai komputer dan platform sistem operasi.  Slogan Java: Write once, run anywhere! (Tulis sekali, jalankan di manapun).  Java adalah bahasa pemrograman bersifat umum (general purpose). Sintaks Bahasa Java diadopsi dari Bahasa C dan C++ tetapi lebih sederhana.  Nama “java” diambil dari jenis kopi yang diminum oleh James Gosling saat itu. Bahasa java memiliki karakteristik: sederhana, berorientasi objek, interpreted, terdistribusi, tangguh, portable, robus (memiliki kinerja tinggi), aman, ArchitectureNeutral, Portable, Multithreaded dan dinamis.

Compiler java mengubah kode program menjadi bahasa intermediate yang mengkompilasi kode program Java dirancang untuk  menghasilkan kode yang netral terhadap semua arsitektur perangkat keras disebut java bytecode. Kemudian interpreter Java  bernama  JVM  (JavaVirtual    Machine) melakukan interpretasi bytecode setiap kali bytecode tersebut dijalankan.

Platform java terrdiri atas dua bagian utama, yaitu Java Virtual Machine (JVM) dan Java Application Programming Interface (JavaAPI).

Sun membagi arsitektur Java membagi tiga bagian, yaitu:

Enterprise Java (J2EE) untuk aplikasi berbasis web, aplikasi sistem tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan superset dari Standar Java

•   Standar Java (J2SE), ini adalah yang biasa dikenal sebagai bahasa Java.

Micro Java (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya yang banyak dipakai adalah untuk wireless device / mobile device. 

Fase-fase pemrograman java

Gambar di bawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah program Java.

Gambar  Fase dari sebuah program Java

Gambar  Fase dari sebuah program Java

Langkah pertama dalam pembuatan sebuah program berbasis Java adalah menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan antara lain: notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java. Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan Java Compiler. Hasil dari kompilasi berupa berkas byte code dengan ekstensi *.class. Berkas yang mengandung byte code tersebut kemudian akan dikonversikan oleh Java Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.

Platform java yang sering digunakan adalah Java SDK dan java editor NetBeans. JavaSDK adalah platform dasar Java yang diperlukan agar komputer atau laptop dapat digunakan untuk mengeksekusi     kode-kode     programbahasa     Java, sedangkan NetBeans adalah aplikasi editor terpadu (IDE atau Integrated Develepment Environment) yang akan banyak mempermudah dalam membuat aplikasi karena   menyediakan   kontrol-kontrol   visual   yang   penting   dalam pemrograman desktop (atau lebih dikenal sebagai p emrograman visual). IDE NetBeans mengharuskan membuat new Project terlebih dahulu sebelum menulis script program java. Dengan cara klik File new Project , langkah berikutnya memilih  aplikasi  Java  Aplication.  File  dengan  extension  .java dibuat untuk memulai menulis program java. 

b.  Java Keywords

Di bawah ini ditampilkan semua kata-kunci (Java keywords ) : Tabel. Java Keywords

Abstract

Default

If

private

this

Boolean

Do

implements

protected

throw

Break

Double

import

public

throws

Byte

Else

instanceof

return

transient

Case

Extends

int

short

try

Catch

Final

interface

static

void

Char

Finaly

long

strictfp

volatile


c.  Tipe Data Dalam Java


Sebagaimana bahasa pemrograman yang lain, di dalam Java juga dikenal istilah tipe data. Tipe data ini digunakan untuk pengalokasian memory guna menyimpan nilai/valuenya. Di dalam Java, ada beberapa tipe data sebagai berikut:

Tabel. Tipe Data dalam Java

Tipe Data

Range nilai

Keterangan

Byte

-128 ... 127

Bilangan bulat

Short

-32768 ... 32767

Bilangan bulat

Int

- 2147483648 ... 2147483647

Bilangan bulat

Long

-9223372036854775808 ...

9223372036854775807

Bilangan bulat

Float

 

Bilangan riil

Double

 

Bilangan riil

Char

 

Karakter

String

 

String (beberapa karakter)

Boolean

true/false

-


d.  Variabel

Variabel adalah item yang digunakan data untuk menyimpan pernyataan objek. Variabel memiliki tipe data dan nama. Tipe data menandakan tipe nilai yang dapat dibentuk oleh variabel itu sendiri. Nama variabel harus mengikuti aturan untuk identifier. 

e.  Bagan dasar program Java


Berikut ini gambar bagan program java.
Gambar. Bagan program java

Gambar. Bagan program java

•   Package
 Perintah java yang digunakan untuk memberitahukan bahwa suatu class adalah anggota dari package, sedangkan nama Package dapat berupa susunan direktori tempat dimana file   class   disimpan   atau nama folder. Package adalah sebuah sarana untuk mengelompokkan atau mengorganisasikan kelas dan interface yang sama atau sekelompok menjadi satu unit tunggal dalam library. Alasan menggunakan package pada java ialah untuk menghindari tabrakan nama kelas yang akan dibuat dengan nama kelas yang sudah ada.masing-masing kelas tersebut dalam package tersebut dikompilasi menjadi byte code (*.class). Path hirarki package, didaftarkan sebagai salah satu nilai variabel lingkungan yang bernama Classpath. Classpath diset dengan aturan.

•   Import
Perintah import digunakan untuk memberitahukan kepada program untuk mengacu pada class-class yang terdapat pada package tersebut dan bukan menjalankan class-class tersebut. Dalam program, dapat diimport class-class tertentu saja dan dapat pula mengimport semua class yang terdapat pada package.

•   Class
Merupakan bentuk  logis  yang  menjadi  landasan  bangun  seluruh  bahasa pemograman berorientasi object. Class mendefinisikan bentuk dan perilaku object.
Class merupakan contoh abstrak dari sebuah object yang telah terbentuk dari proses penyederhanaan. Dengan kata lain class merupakan cikal bakal dari object. Kemudian contoh nyata atau perwujudan dari sebuah object dinamakan instance.

•   Data dan Metode
Data merupakan identitas yang berupa variabel yang menjelaskan properti dari class. Metode adalah sekumpulan instruksi untuk menjalankan data yang diberi nama dan dapat dipanggil dari manapun di dalam program dengan menuliskan nama metoda tersebut.

•   Program utama
Salah satu metode yang paling penting di dalam bahasa Java adalah metoda main. Metode main harus dideklarasikan sendiri oleh programmer di dalam sebuah kelas. Kelas yang mempunyai metoda main disebut dengan kelas main (main class), akan tetapi tidak semua kelas Java harus mempunyai metoda main. Interpreter Java akan meminta metoda main saat program aplikasi dieksekusi.

Pemrograman Java  menggunakan konsep Pemrograman Berorientasi Obyek (PBO) atau Object Oriented Programming (OOP). Semua program Java merupakan suatu obyek. Dasar-dasar OOP meliputi istilah yaitu: class, object, attribute dan method.

Secara umum, OOP adalah teknik yang memfokuskan desain program pada obyek dan class berdasarkan pada skenario di dunia nyata. Sebagai contoh, misalkan mobil. Sebuah mobil secara umum tentunya memiliki beberapa karakteristik, yaitu misalnya memiliki sejumlah roda, memiliki warna, memiliki beberapa pintu dsb. Selanjutnya mobil ini bisa terdapat berbagai macam merek, misalnya mobil Suzuki Ertiga, Toyota Avanza dsb. Sebuah mobil tentunya juga bisa dijalankan, baik maju maupun mundur atau dihentikan. Dalam OOP, mobil tersebut identik dengan Class, mobil Suzuki Ertiga, Avanza dll itu merupakan obyek. Jumlah roda, warna mobil, jumlah tempat duduk dll identik dengan atribut dari suatu obyek, serta proses untuk mengendalikan mobil (maju, mundur dan berhenti) itu dalam OOP identik dengan metode dari suatu obyek. Untuk lebih memahami perbedaan class, objek, atribut dan metode dapat dilihat pada tabel berikut.

Class

Objek

Atribut

metode

Mobil

Suzuki,   Ertiga, Avanza

Jumlah roda, warna mobil, jumlah tempat duduk

maju,     mundur dan berhenti

 

1)  Objek

Objek  adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda, manusia, satuan organisasi, tempat, kejadian, struktur, status, atau  hal-hal  lain yang  bersifat abstrak. Objek merupakan  suatu entitas yang mampu menyimpan informasi (status) dan mempunvai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus hidup yaitu diciptakan, dimanipulasi, dan dihancurkan.

2)  Atribut

Atribut adalah elemen data dari suatu class. Atribut menyimpan informasi tentang class. Atribut dapat diartikan sebagai data, variabel, properti atau sebuah field. Atribut  dapat berupa nilai atau elemen-elemen  data yang dimiliki oleh Objek dalam kelas objek. Atribut dipunyai secara individual Oleh sebuah objek, misalnya berat, jenis, nama, dan sebagainya

3)  Class

Class adalah model dari suatu obyek yang menjelaskan karakteristik (sifat) serta  fungsi  yang  dimiliki  dari  suatu  obyek.  Class  merupakan wadah (tempat) yang digunakan untuk menciptakan suatu obyek. Dengan kata lain sebuah Class merupakan blueprint dari suatu obyek.

Class adalah struktur dasar dari OOP, class terdiri dari  dua  tipe  anggota dimana  disebut  dengan  field  dan  method.  Field merupakan tipe data yang didefiniskan, sementara method merupakan operasi. Untuk membuat class, sebelum menulis nama pertimbangkan dulu nama class dan dimana class tersebut digunakan. Dalam pendeklarasian atribut untuk menggunakan  tipe data integer untuk nama siswa, atau tipe data string pada nilai siswa. Jika anda menginginkan  bahwa atribut-atribut tersebut unik, maka dideklarasikan sebagai instance variable. Class variable atau static  variable, variabel  ini  sama  pada  semua  object  di  class  yang sama.    Anda    dapat mendeklarasikan satu static variable yang  akan menampung nilai tersebut.

Berikut ini adalah aturan pembuatan class dalam Java:

public class namaclass

{

.

.

}



 Aturan pemberian nama class:

• Dimulai dengan huruf, atau tanda _ atau tanda $

• Tidak boleh menggunakan reserved word dalam Java

• Tidak boleh memuat operator aritmatika

• Bersifat case sensitif

4)  Method

Method (metode) adalah sebuah function atau fungsi yang ada dalam suatu class. Setiap metode memiliki tugas sendiri. Operasi atau metode atau  method  pada  sebuah  kelas  hampir  sama dengan  fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi. Metode atau operasi yang   berfungsi untuk memanipulasi  objek itu sendiri.

Di dalam Java ada 2 jenis method yaitu void dan non void method. Method void adalah method yang tidak mengembalikan nilai, sedang non void method adalah method yang mengembalikan suatu nilai. Jika diperhatikan, ketika membuat project baru misalnya ‘project1’, maka akan di dalam class ‘project1’ ini akan dibuat pula method dengan nama main() 

public class Project1 {

public static void main(String[] args) {

.

.

}

}

 Method main() dalam suatu class menunjukkan method tersebut adalah method utama yang akan dijalankan pertama kali ketika program Java dijalankan. Khusus method main(), perlu diberikan ‘static’ setelah modifiernya. Pada suatu class, bisa dibuat method berapapun sesuai keigninan.

Perlu diingat juga bahwa di dalam Java, beberapa class itu bisa digabung atau disimpan menjadi satu dalam sebuah paket atau package jika diperlukan. Hal ini dimaksudkan untuk memudahkan pengelolaan class saja.

Contoh

Sebagai contoh dari penerapan konsep OOP dalam pemrograman Java, misalkan akan dibuat sebuah program untuk menjumlahkan dua buah bilangan. Untuk langkah awal, desain terlebih dahulu bentuk class untuk penjumlahan bilangan tersebut. Misalkan dibuat class dengan nama ‘operasiBilangan’. Di dalam class tersebut, misalkan dibuat atribut yaitu ‘bilangan1’ dan ‘bilangan2’, merupakan kedua bilangan yang akan dioperasikan, serta ‘hasil’ yang merupakan hasil dari operasi kedua bilangan. Selanjutnya di dalam class ‘operasiBilangan’ tersebut dibuat sebuah method ‘jumlah’ untuk menjumlahkan kedua bilangan, serta method untuk menampilkan hasil operasi bilangan.

1)  buat Class dengan nama ‘operasiBilangan’

kode dalam class operasiBilangan


 2)  kode berikut ini di dalam class operasiBilangan

public class operasiBilangan {

// deklarasi atribut atau properties public int bilangan1;

public int bilangan2

; private

int hasil;

// method jumlah() public void jumlah()

{

this.hasil = this.bilangan1 + this.bilangan2;

}

// method tampilHasil () public void tampilHasil ()

{

System.out.println("Hasil operasi bilangan : " +

this.hasil);

}

}

Keterangan:

- Bilangan1, bilangan2 dan hasil merupakan atribut atau properties dari class operasibilangan, sedangkan jumlah() dan tampilHasil() adalah methodnya.

-     Perhatikan,  di  depan  atribut  atau  method  ada  ‘public’  atau

‘private’. Jika diberikan ‘public’ maka atribut atau method tersebut bisa diakses dari class manapun  (jika  terdapat lebih dari  satu class). Namun jika ‘private’, maka atribut atau method hanya bisa diakses di dalam class itu saja. Selain ‘public’ dan ‘private’ sebuah atribut atau method bisa juga diset dengan sifat ‘protected’ yang artinya hanya bisa diakses dalam class itu saja ata class lain yang 

masih dalam satu package yang sama. Keterangan   public’,

‘private’  dan  ‘protected’  dalam  OOP  disebut  modifier  yang

digunakan untuk menentukan aksesibilitas method atau atribut.

- Perintah ‘this.’ digunakan untuk mengakses atribut atau method yang ada dalam class tersebut.

3)  Kemudian, di class ‘Contoh2’ nya (di file ‘Contoh2.java’), tulis kode program sebagai berikut


public class Contoh2 {

public static void main(String[] args) {

operasiBilangan op1 = new operasiBilangan();

op1.bilangan1 = 10; op1.bilangan2 = 20; op1.jumlah(); op1.tampilHasil();

}

}


Keterangan: 

Perintah:  operasiBilangan op1 = new operasiBilangan();

digunakan untuk instantisasi, yaitu proses membuat obyek baru dengan  nama ‘op1’. Obyek ini termasuk dalam class ‘operasiBilangan’.

Perintah:

op1.bilangan1 = 10;

adalah mengeset atribut ‘bilangan1’ pada obyek ‘op1’ dengan suatu nilai.

Demikian juga dengan perintah

Perintah

 op1.bilangan2 = 20; 

op1.jumlah();

dimaksudkan untuk menjalankan method jumlah() yaitu menjumlahkan

kedua nilai atribut ‘bilangan1’ dan ‘bilangan2’ pada obyek ‘op1’.

Sedangkan perintah,

op1.tampilHasil(); 

digunakan untuk menjalankan method tampilHasil() yaitu menampilkan hasil penjumlahan.

4)  Untuk melihat hasil output program, Anda bisa mengcompilenya dahulu kemudian menjalankan RUN PROJECT. Adapun outputnya adalah sebagai berikut:


Gambar Output project contoh2

Dalam sebuah program, bisa dibuat instantisasi beberapa obyek dari class yang sama.

f.   Input dan Output dalam Java

Dalam bagian ini akan dibahas cara membaca data input melalui console serta menampilkan outputnya juga melalui console.

1)  Input Data Via Console

Untuk keperluan input data via console, perlu dibuat class khusus.

Contoh:

Sebagai contoh, berikut ini adalah sebuah pembuatan program Java untuk perhitungan gaji karyawan yang beberapa datanya diinput lewat console:

inputConsole.java

import java.io.*;

public class inputConsole {

// membaca data string public String bacaString()

{

BufferedReader bfr = new BufferedReader(new

InputStreamReader(Sys tem.in), 1); String string = "";

try

{

string = bfr.readLine();

}

catch (IOException ex)

{

System.out.println(ex);

}

return string;

}

// membaca data integer public int bacaInt()

{

return Integer.parseInt(bacaString());

}

// membaca data float public float bacaFloat()

{

return Float.parseFloat(bacaString());

}

// membaca data long integer public long bacaLong()

{

return Long.parseLong(bacaString());

}

}


Secara umum, di dalam class ‘inputConsole’ tersebut, mekanisme method- method untuk membaca input dalam berbagai tipe data itu adalah membaca setiap input dalam bentuk string kemudian input string tersebut diubah ke tipe data yang bersesuaian.

Selanjutnya buat beberapa kode di bawah ini pada class Gajikaryawan

public class Gajikaryawan {

public static void main(String[] args) {

String nama, kodekar; int gapok, jmlanak; float gaber, tunjanak;

inputConsole input1 = new inputConsole();

// input kode karyawan System.out.print("KODE KARYAWAN : "); kodekar = input1.bacaString();

// input nama karyawan System.out.print0;("NAMA KARYAWAN : "); nama = input1.bacaString();

// input gaji pokok karyawan System.out.print("GAJI POKOK: "); gapok = input1.bacaInt();

// input jumlah anak System.out.print("JML ANAK: ");

jmlanak = input1.bacaInt();

// hitung tunjangan anak -> setiap anak 10% dari gaji pokok tunjanak = (float) ((float) gapok *

0.1 * jmlanak);

// hitung gaji bersih = gaji pokok + tunj anak gaber = gapok + tunjanak;

// output

System.out.println("NAMA KARYAWAN : "+nama+"("+

kodekar +")"); System.out.println("GAJI BERSIH :

Rp. "+gaber);

}


2)  Output Via Console

Secara umum perintah untuk menampilkan output ke layar console adalah System.out.println(string);

atau System.out.print(string);

Perbedaan keduanya adalah jika dengan println() setelah menampilkan suatu  string  ke  output  console, maka  terjadi  perpindahan baris  pada pointernya. Sedangkan untuk System.output.print() tidak terjadi perpindahan baris pointernya.

3)  Mengatur Digit Presisi Bilangan Riil (Float)

Secara default, Java akan menampilkan bilangan riil atau float dalam bentuk 15 digit di belakang koma, misalnya:

System.out.print(22./7);

akan muncul hasil di layar, bilangan 3.142857142857143

4)  Input Data Via GUI (Graphics User Interface)

Selain via console, input data juga bisa dilakukan via GUI. Di dalam Java, untuk membuat aplikasi berbasis GUI bisa menggunakan SWING sebagai package nya, sehingga di dalam program perlu melakukan import dengan perintah sebagai berikut:

import javax.swing.*;

Berikut ini contoh kode Java untuk menerima input melalui form GUI kemudian outputnya melalui console.

Contoh

Contoh  program  Java  yang  menerima  input  berupa  nama    (string)

kemudian menampilkan nama yang tadi diinputkan via console.

import javax.swing

.*; public

class

Contoh2 { 

public static void main(String[] args) {

String nama;

nama = JOptionPane.showInputDialog("Masukkan nama Anda"); System.out.println("Hallo selamat datang, " + nama);

}

}

Tampilan dari kode di atas setelah dirunning adalah sebagai berikut:


Gambar. Contoh tampilan input melalui GUI dan outputnya:

Gambar. Output contoh GUI


g.  Struktur Kontrol Proses


Struktur kontrol proses bertujuan untuk dapat menentukan urutan statement/perintah yang akan dikerjakan atau diproses. Struktur kontrol proses ini antara lain:
1)   Struktur Kontrol Kondisional

Struktur   kontrol   ini   untuk   menyatakan   proses   yang   berbentuk persyaratan/kondisional.
Struktur Kontrol IF
Tata cara penulisan statement IF:
if (syarat)
{
statement; statement;
.
.
}
Bisa juga berbentuk sebagai berikut,
if (syarat)
}
else
{
statement; statement;
.
statement; statement;
.

2)   Statement SWITCH

Struktur penulisan statement SWITCH adalah sebagai berikut:
switch(ekspresi)
{
case variabel1 :statement;
statement;
.
. break;
case variabel2 : statement;
statement;
.
.
break;
.
.
Default        : statement;
statement;
.
.
}

3)   Struktur Kontrol Perulangan (Looping)

Struktur kontrol perulangan digunakan untuk mengatur proses yang dijalankan secara berulang-ulang. Berikut ini beberapa statement yang dapat digunakan untuk mengatur proses perulangan:

a)     Statement FOR

Aturan penulisan (syntax) nya adalah:

for(ekspresiawal; syarat; ekspresiakhir)
{
statement;
statement;
.
.

b) Statement WHILE Aturan penulisannya:
while(syarat)
{
statement;
statement;
.
.
}
c) Statement DO WHILE Aturan penulisanya:
do
{
statement;
statement;
.
.
}
while (syarat);

h.  Constructor

Di dalam OOP, ada istilah ‘constructor’. ‘Constructor’ ini melekat pada suatu class, sehingga bisa menset beberapa nilai atribut sekaligus dari suatu obyek ketika proses instansiasi. Constructor sangatlah penting pada pembentukan sebuah object. Constructor adalah method dimana seluruh inisialisasi object ditempatkan. Default constructor adalah constructor yang  tidak  memiliki  parameter  apapun. Constructor tidak dapat dipanggil secara langsung, namun harus dipanggil dengan menggunakan operator  new  pada  pembentukan sebuah  class.  Pemanggilan constructor dapat dilakukan secara berangkai, dalam arti Anda dapat memanggil constructor di dalam constructor lain. Pemanggilan dapat dilakukan dengan referensi this(). Referensi this  digunakan  untuk  mengakses  instance  variable yang dibiaskan  oleh parameter 

i.   Larik (Array)

Seperti halnya bahasa pemrogaman yang lain, di dalam Java juga ada penggunaan Array. Di dalam java nomor indeks suatu array dimulai dari 0.

Berikut ini cara mendeklarasikan sebuah array dengan n buah elemen 
tipedata[] namaarray = new tipedata[n];

Sebagai contoh, perhatikan perintah berikut ini untuk membuat array   dengan nama arrayku bertipe data integer dengan jumlah elemennya 10.

int[] arrayku  = new int[10];

Pada contoh di atas, pendeklarasian  tersebut  akan memberitahukan  kepada compiler Java, bahwa identifier arrayku akan digunakan sebagai nama array yang berisi data bertipe integer, dan dilanjutkan dengan membuat atau men- instantiate sebuah array baru yang terdiri dari 10 elemen.

j.   Enkapsulasi dan modifier


Enkapsulasi merupakan teknik yang membuat variabel/field class menjadi bersifat private dan menyediakan akses ke variabel/field melalui public method. Jika field di deklarasikan sebagai private, maka field ini tidak bisa diakses oleh siapapun diluar class, dengan demikian field disembunyikan di dalam class.

Manfaat utama teknik enkapsulasi adalah kita mampu memodifikasi kode tanpa merusak kode yang telah digunakan pada class lain.

Enkapsulasi memiliki manfaat sebagai berikut:

•   Modularitas

Source code dari sebuah class dapat dikelola secara independen dari source code class yang lain. Perubahan internal pada sebuah class tidak akan berpengaruh bagi class yang menggunakannya.
•   Information Hiding

Penyembunyian informasi yang tidak perlu diketahui objek lain. 


Encapsulation (Enkapsulasi)    adalah  suatu  cara  untuk        menyembunyikan implementasi detail dari suatu class. Enkapsulasi mempunyai dua hal mendasar, yaitu:

•   information hiding

•   menyediakan suatu perantara (method) untuk pengaksesan data contoh
Enkapsulasi dan modifier

k.  inheritance


Dalam Java, semua class, termasuk class yang membangun Java API, adalah subclasses dari superclass Object. Contoh hirarki class diperlihatkan di bawah ini. Beberapa class di atas class utama dalam hirarki class dikenal sebagai superclass. Sementara beberapa class di bawah class pokok dalam hirarki class dikenal sebagai sub class dari class tersebut.

Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu   sifat   atau   method   didefinisikan  dalam   superclass,  sifat   ini secara otomatis diwariskan dari semua subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka dapat digunakan oleh semua subclass. Subclass hanya perlu mengimplementasikan perbedaannya sendiri dan induknya. Dengan konsep inheritance, sebuah   class   dapat   mempunyai  class   turunan.   Suatu class   yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan itu sendiri sering kali disebut subclass atau child class. Suatu subclass dapat Mewari siapa-apa yang dipunyai oleh parent class-nya, sehingga member dari suatu subclass adalah terdiri dari apa- apa yang ia punyai dan juga apa-apa yang diawarisi dari classparent-nya. Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parentclass-nya.
Berikut adalah contoh deklarasi inheritance:

public class B extends A{
.....
}

Subclass  juga  dapat  memanggil constructor secara  eksplisit  dari  superclass terdekat. Hal ini dilakukan dengan pemanggil constructor super.

Overriding  adalah   suatu keadaan  dimana   method   pada subclass menolak method pada parent class-nya. Subclass dapat mengesampingkan method yang didefinisikan dalam  superclass  dengan  menyediakan implementasi baru  dari method tersebut. Dalam Java, juga memungkinkan untuk mendeklarasikan class- class yang tidak lama menjadi subclass. Class ini dinamakan class final. Untuk mendeklarasikan  class untuk menjadi final kita hanya menambahkan kata kunci final dalam deklarasi class.  Beberapa  class  dalam  Java  API  dideklarasikan secara final untuk memastikan sifatnya tidak dapat di-override.

l.   Polimorfisme

Polymorphism merupakan salah satu konsep penting dalam object oriented programming (OOP) khusunya di bahasa Java setelah abstraction dan inheritance. Polymorphism berarti  banyak bentuk.  Polymorphism sering  dikaitkan dengan penggunaan lebih dari satu metoda dengan nama sama. Penggunaan metoda dengan nama sama dapat diterapkan dengan method overloading dan method overriding. Pada saat obyek  yang sudah dibuat tersebut memanggil overridden method pada parent class, compiler Java akan   melakukan   invocation (pemanggilan)   terhadap   overriding   method pada   subclass   dimana   yang seharusnya dipanggil adalah overridden method.



source: modul pppk informatika Pembelajaran 2. Rekayasa Perangkat Lunak, kembdikbud
Baca Juga

Bagikan Artikel



Komentar