} 

                          String getNIM() 

                          { //statements 

         return(..); 

                          } 

                          String getNAMA() 

                          { //statements 

                            return(..); 

    } 

                          String getALAMAT() 

                          { //statements 

                            return(..); 

                          } 

      int NILAI() 

                          { //statements 

                            return(..); 

                          } 

 

 

Catatan :  

Bentuk class diatas baru menggambarkan jika  sebuah class diagram yang 

diimplementasikan menjadi class pada java, tetapi bentuk class ini  belum 

dapat di compile dan di eksekusi. Class ini  merupakan implementasi dari 

class diagram.  

 

 

 

 Okkita Rizan  - 50 - Genap - 

IMPLEMENTASI OBJEK,  

ATRIBUT DAN METHOD PADA JAVA 

 

TUJUAN : 

   Dapat memahami pemakaian  object pada java 

   Dapat memahami pemakaian  atribut pada java 

   Dapat memahami pemakaian  method pada java 

 

 

1. INSTANSIASI OBJEK 

Instansiasi objek yaitu  proses membuat/menciptakan sebuah objek dari sebuah 

class. Pembuatan objek yaitu  dengan cara membuat sebuah variabel yang akan 

menunjuk ke objek ini . Variabel seperti ini disebut dengan variabel objek. 

Bentuk umum dari instansiasi object pada java yaitu  sebagai berikut : 

 

namaclass namavariabel = new namaclass(); 

 

 

Sebuah objek diciptakan di luar class objek itu sendiri. Pada java, biasanya objek dari 

sebuah class diciptakan pada class yang mempunyai main() method (disebut saja 

sebagai class main() ). Melalui class main() ini objek akan memakai  seluruh 

atribut dan method dari classnya. 

 

Contoh : berikut yaitu  contoh pembuatan sebuah objek pada class main() . 

 

 

      class testMahasiswa 

      { 

          public static void main (String args[]) 

       mahasiswa mhs1 = new mahasiswa(); 

      } 

 

 

 

Proses instansiasi ini  dapat diartikan membuat sebuah objek bernama mhs1 

dari class mahasiswa, objek dibuat dari class main() bernama testMahasiswa. 

 

 

 

 

 

MODUL 

 

 Okkita Rizan  - 51 - Genap - 

2. pemakaian  METHOD MELALUI SEBUAH OBJEK 

Method yang digunakan sebuah objek dipanggil dengan cara menyebutkan objeknya 

diikuti dengan method yang akan digunakan. 

Pada contoh berikut akan diperkenalkan method tanpa parameter dan method 

dengan parameter. Pada contoh berikut, satu file java ada  2 buah class, yaitu 

class yang akan dibuatkan objeknya dan class main(). jika  ada  kondisi seperti 

ini, nama file java dinamai sama dengan nama class main()nya.  

 

a. Method tanpa parameter 

Pada contoh berikut, pada class mahasiswa akan dibuat sebuah method bernama 

hello(). Method ini tidak mempunya return value, sehingga awalannya 

memakai  void. Method ini akan dipanggil oleh sebuah objek dari class 

main(). Objek yang dibuat bernama mhs1. 

 

Nama file : testMethodNon.Java 

Sintaks program : 

 

 

Output program : 

 

 

 

Penjelasan : 

   mahasiswa mhs1 = new mahasiswa(), yaitu  proses instansiasi objek dengan 

nama mhs1. 

   mhs1.hello(), yaitu  perintah yang menunjukkan objek mhs1 memanggil/ 

memakai  method hello(). 

 

 Okkita Rizan  - 52 - Genap - 

b. Method memakai  parameter 

Parameter pada method berfungsi untuk menampung data yang akan dikirimkan 

ke dalam method ataupun mengirimkan data dari method ke bagian 

pemanggilnya. Parameter sebenarnya yaitu  variabel, sehingga perlu didefinisikan 

juga tipe datanya. Tidak ada batasan sebuah method dapat memiliki beberapa 

parameter. Berikut yaitu  contoh sebuah class dengan method yang 

memakai  satu buah parameter. 

 

Nama file : testMethodParameter.java 

Sintaks program : 

 

 

 

Output program : 

 

 

 

 Penjelasan : 

   void hello(String Nm), yaitu  sebuah method yang memiliki sebuah parameter 

bernama Nm dengan tipe data String. 

   mhs1.hello(“Okki”) yaitu  objek mhs1 memakai  method hello dengan 

mengirimkan kata “Okki” ke parameter Nm. 

 

 

 

 Okkita Rizan  - 53 - Genap - 

3. STATIC METHOD 

STATIC METHOD yaitu  method yang dimiliki oleh class, bukan milik objeknya. 

Berbeda dengan contoh pemakaian  method diatas, pemakaian  static method 

dalam pemrograman, dapat dipanggil langsung tanpa memakai  objek. Tanpa 

harus membuat objek untuk memanggil method ini . Selain method, atribut juga 

dapat diberlakukan  menjadi miliki class, menjadi static variabel. Berikut yaitu  

contoh penerapan static method dalam pemrograman. 

 

Nama file : testStaticMethod.Java 

Sintaks program : 

 

 

Output Program ; 

 

 

Penjelasan Program : 

   Pada class mahasiswa ada  sebuah method berjenis static dengan nama 

tampil(). Ciri method ini  bertipe static yaitu  ada  keyword static pada 

saat pendeklarasian methodnya. 

   Pada class testStaticMethod, tidak dibuat sebuah objek dari class mahasiswa. 

method tampil() langsung dipanggil dengan menyebutkan nama classnya. 

 

 

 

 Okkita Rizan  - 54 - Genap - 

4. pemakaian  ATRIBUT MELALUI SEBUAH OBJEK 

Atribut yaitu  ciri sebuah objek. Pada pemrograman atribut berfungsi untuk 

menampung data dari objek. Pada pemrograman, atribut yaitu  INSTANCE 

VARIABLE (silahkan baca modul sebelumnya) 

Sebuah atribut dapat digunakan sebuah objek dengan cara diakses melalui method. 

Ada beberapa method yang berfungsi untuk memanipulasi data dari atributnya. Ciri 

method ini  biasanya diawali dengan set atau get kemudian diikuti dengan 

nama atributnya. Method set dan get biasanya berpasangan untuk memanipulasi 

sebuah atribut. Perbedaan Method set dan get yaitu  : 

   Method yang memakai  set digunakan untuk menerima data yang dikirimkan 

oleh objek ke atribut.  

   Method yang memakai  get digunakan untuk mengirimkan data dari atribut 

ke objek.  

   Method set memakai  parameter dan tidak mempunyai return value, 

sehingga awalan method memakai  void. 

   Method get tidak memakai  parameter dan mempunyai return value, 

sehingga awalan method memakai  tipe data methodnya. 

 

Berikut contoh program dengan sebuah class yang mempunyai sebuah atribut dan 

method untuk digunakan objeknya.  

 

a. Atribut dengan method set 

 

Nama file : testMethodSet.Java 

Sintak program : 

 

 

 

 Okkita Rizan  - 55 - Genap - 

Penjelasan program : 

   Parameter yang dikirim oleh objek mhs1 berupa kata “Okki”. Kata ini 

ditampung ke parameter Nm pada methot setNama, dari parameter Nm kata 

ini  dimasukkan ke atribut Nama. Melalui atribut Nama kata yang telah 

dikirim akan ditampilkan.  

   Method setNama memakai  awalan void, seluruh statements langsung 

dikerjakan pada method ini   tanpa dikembalikan ke class main(). 

 

b. Mengenal keyword this 

Salah satu kelebihan dari java yaitu  dapat membuat variabel parameter sebuah 

method dengan nama yang sama dengan atributnya (instance variable). Cara ini 

bisa dilakukan dikarenakan java menyediakan sebuah keyword yang dapat 

membedakan antara variabel parameter dengan atribut. Keyword ini  

dinamai dengan “this”. Variabel yang memakai  keyword this, menunjukkan 

bahwa variabel ini  yaitu  atribut/instance variabel dari class nya. 

 

Berikut contoh program memakai  keyword this. 

 

Nama file : testMethodThis.java 

Sintak Program : 

 

 

 

Penjelasan program :  

   Nama variabel parameter dibuat sama dengan nama atribut classnya yaitu 

Nama. Keyword this menunjukkan perbedaan keduanya.  

   this.nama menunjukkan variabel ini  yaitu  atribut / instance variabel 

dari class mahasiswa. 

 

 Okkita Rizan  - 56 - Genap - 

c. Atribut dengan Method get 

Berikut yaitu  contoh method get yang akan mengembalikan nilai (return value) 

pada objek. 

 

Nama File : testMethodGet.java 

Sintaks program : 

 

 

 

Penjelasan program : 

   Pada contoh program ini, kata “Okki” tidak dikirim melalui parameter, tetapi 

langsung didefinisikan pada atributnya. 

   Tipe data yang digunakan pada method getHello yaitu  String, dikarenakan 

nilai/data yang dikembalikan (return) bertipe karakter, mengikuti tipe data dari 

atributnya. 

   Return menunjukkan data yang dikembalikan pada objek yang meminta, pada 

contoh ini, data diambil melalui method getHello(). 

 

 

 

 

 

 

 

 

 

 

 

 

 Okkita Rizan  - 57 - Genap - 

d. Atribut dengan method set dan get. 

Berikut yaitu  contoh program dengan class yang mempunyai dua buah method 

yaitu method set dan method get. Program pada umumnya memakai  

method set dan get secara berpasangan jika  class ini  membutuhkan 

method untuk memanipulasi atribut.  

 

Nama File : testMethodSetGet.Java 

Sintaks Program : 

 

 

 

Penjelasan Program : 

   Kata “Okki” dimasukkan ke atribut Nama pada class mahasiswa melalui 

method setNama(). 

   sesudah  dimasukkan ke atribut Nama, kata “Okki” dikirimkan kembali ke objek 

memakai  method getNama(). 

 

 

 

 

 

 

 Okkita Rizan  - 58 - Genap - 

ASOSIASI PADA OOP  

  

TUJUAN : 

   Dapat memahami bentuk asosiasi pada object oriented programming 

   Dapat memahami bentuk asosiasi pada java 

   Dapat memahami bentuk agregasi pada java 

 

 

1. MEMAHAMI ASOSIASI 

Membuat program memakai  teknik object oriented pada intinya yaitu  membuat 

class yang akan digunakan oleh objek. Adakalanya pada saat membuat program tidak 

cukup memakai  satu class saja atau dengan maksud lain yaitu  memisahkan 

satu class menjadi beberapa class yang lain. Pemisahan class diperlukan karena antar 

objek dari sebuah class tidaklah sama, baik dari segi atribut ataupun dari 

methodenya. 

 

Beberapa class pada satu program tidak berdiri sendiri. Melainkan saling berhubungan 

antara satu class dengan class yang lain. Tentunya, penghubung antar class yaitu  

memakai  objek dari masing-masing class. Hubungan antar class ini lah yang 

disebut dengan relasi/relationship. Relasi ini akan menunjukkan tingkatan relasi 

antara satu class dengan class yang lain. Relasi pada pemrograman berorientasi objek 

relasi antar class di sebut dengan ASOSIASI.  

 

Antara pemrograman terstruktur dan pemrograman berorientasi objek mempunyai 

istilah yang berbeda untuk menyatakan tingkatan relasi antar class/entitas . 

 

Jika pada pemrograman terstruktur tingkatan relasi disebut dengan CARDINALITY. 

Pada pemrograman berorientasi objek tingkatan relasi disebut dengan 

MULTIPLICITY. 

 

CARDINALITY pada pemrograman terstruktur digunakan untuk menyatakan 

tingkatan relasi antar entitas pada ENTITY RELATIONSHIP DIAGRAM (ERD) / 

DIAGRAM ER. Umumnya ERD mempunyai tiga tingkatan relasi yaitu : 

a. 1 .. 1,  Satu Entitas hanya memiliki satu relasi pada entitas lain. 

b. 1 .. M,  Satu Entitas memiliki satu atau banyak relasi pada entitas yang lain 

dengan entitas yang sama. 

c. M .. N,  Satu Entitas memiliki satu atau banyak relasi pada entitas yang lain 

dengan entitas yang sama dan begitu juga sebaliknya. 

 

 

Gambaran Cardinality pada Entity Relationship Diagram diperlihatkan pada contoh 

sebgai berikut :  

 

MODUL 

 

 Okkita Rizan  - 59 - Genap - 

 

MULTIPLICITY pada pemrograman berorientasi objek digunakan untuk menyatakan 

tingkatan asosiasi antar class. Biasanya tingkatan asosiasi ditunjukkan pada CLASS 

DIAGRAM. Tingkatan asosiasi mempunyai beberapa macam dan ditunjukkan pada 

tabel berikut : 

 

Indicator Meaning Example 

0..1 Zero or one 

 

0..* Zero or more 

 

0..n Zero to n (where n>1) 0..3 

1 One only 

 

1..* One or more 

 

1..n One to n (where n>1) 1..5 

* Many 

 

n Only n (where n>1) 9 

n..* n or more, where n >1 7..* 

n..m Where n& m both >1 3..10 

 

 

Adapun contoh MULTIPLICITY pada Class Diagram ditunjukkan sebagai berikut : 

 

 

 Okkita Rizan  - 60 - Genap - 

2. PENERAPAN ASOSIASI PADA JAVA 

Berikut yaitu  contoh penerapan asosiasi pada java dengan tingkatan MULTIPLICITY 

yaitu  1 .. 1 berikut dengan contoh class diagramnya. 

 

 

 

 

 

 

 

 

Nama File : TransportCompany.java 

Sintaks program : 

 

 

Penjelasan Program : 

   Pada class utama ada  dua buah objek, masing-masing untuk class CarClass 

dan Driver. Statement menyatakan bahwa seorang driver/sopir mempunyai satu 

buah mobil berdasarkan car ID nya. Statement ini yang menyatakan asosiasi antar 

class yaitu  1 .. 1 . 

 

 Okkita Rizan  - 61 - Genap - 

Berikut yaitu  contoh penerapan asosiasi pada java dengan tingkatan 

MULTIPLICITY yaitu  1 .. * berikut dengan contoh class diagramnya. 

 

 

 

 

 

 

 

 

 

Nama File : JadwalSupir.java 

Sintaks program : 

 

 

 

 

 

 Okkita Rizan  - 62 - Genap - 

Penjelasan Program : 

   Pada class utama ada  tiga buah objek, masing-masing satu objek untuk class 

Sopir dan dua objek untuk class Mobil. Statement menyatakan bahwa seorang 

driver/sopir bertanggung jawab untuk dua buah kendaraan. Statement ini yang 

menyatakan asosiasi antar class yaitu  1 .. * . 

 

3. PENGENALAN AGREGASI 

Agregasi yaitu  salah satu bentuk asosiasi yang lain pada pemrograman berorientasi 

objek. Agregasi menyatakan bahwa salah satu class merupakan bagian dari class 

yang lain, tetapi walaupun class ini  merupakan bagian dari class yang lain tetapi 

class ini  dapat berdiri sendiri.  

Agregasi sering disebut juga dengan relasi “part of” atau relasi “whole-part”. 

Pada class diagram, bentuk agregasi digambarkan sebagai berikut : 

 

 

 

 

 

 

4. PENERAPAN AGREGASI PADA JAVA 

Berikut contoh pemakaian  agregasi pada java. Contoh menampilkan class Alamat 

dan class Penduduk. Agregasi yang dimaksudkan pada contoh berikut yaitu  

Seorang penduduk pasti memiliki alamat, sehingga penduduk merupakan bagian (part 

of) alamat. Walaupun penduduk bagian dari alamat, tetapi data penduduk dapat 

dipergunakan tanpa melibatkan data alamat. Contoh proses ini yang dimaksud 

dengan sebuah class merupakan bagian dari class lain tetapi dapat berdiri sendiri. 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 Okkita Rizan  - 63 - Genap - 

Nama File : Agregasi.java 

Sintaks program : 

 

 

 

 

 

 

 Okkita Rizan  - 64 - Genap - 

 

ENKAPSULASI  

  

TUJUAN : 

   Dapat memahami mengenai konsep enkapsulasi 

   Dapat memahami pemakaian  enkapsulasi pada java 

 

1. MEMAHAMI ENKAPSULASI 

Enkapsulasi mempunyai beberapa nama. Ada yang menyebutnya pembungkusan, ada 

yang menyebutnya pengkapsulan dan ada pula yang menyebutnya access modifier. 

Mempunyai berbagai nama tetapi fungsinya yaitu  sama. Enkapsulasi yaitu  cara 

menyembunyikan implementasi detil sebuah class sehingga tidak bisa diakses 

sembarangan oleh class lainnya. Ada dua hal yang mendasar dari enkapsulasi ini 

yaitu  INFORMATION HIDING dan INTERFACE TO ACCESS. 

 

Information Hiding yaitu  proses menyembunyikan data sebuah class sehingga 

tidak bisa diakses oleh class lain. Biasanya, data yang disembunyikan yaitu  atribut 

dari class, sehingga class yang lain tidak dapat mengetahui atribut apa saja yang 

dimiliki oleh sebuah class. 

 

Interface to access yaitu  cara yang dilakukan sehingga dapat mengakses data 

yang telah disembunyikan. Maksudnya, yang dapat diakses yaitu  isi atributnya tanpa 

mengetahui apa saja atributnya, termasuk nama atributnya. Media yang digunakan 

pada cara ini biasanya yaitu  melalui sebuah method. 

 

Ada 4 akses (modifier) yang tersedia untuk mengatur hak akses sebuah class. 4 akses 

ini  dapat dilihat pada tabel berikut : 

 

NO MODIFIER 

PADA CLASS DAN 

INTERFACE 

PADA METHOD & ATRIBUT 

1 Default (tak 

ada modifier) 

Dapat diakses oleh yang 

sepaket. 

Diwarisi oleh sub class di paket 

yang sama, dapat diakses oleh 

method-method yang sepaket 

2 Public Dapat diakses dimanapun Diwarisi oleh sub classnya, 

dapat diakses dimanapun 

3 Protected Tidak bisa diterapkan Diwarisi oleh sub classnya, 

dapat diakses oleh method-

method yang sepaket. 

4 Private Tidak bisa diterapkan Tidak dapat diakses dimanapun 

kecuali oleh method-method 

yang ada dalam kelas itu 

sendiri. 

MODUL 

 

 Okkita Rizan  - 65 - Genap - 

 

 

 

jika  ditelusur dari kemampuan aksesnya, perbedaan 4 akses (modifier) ini  

dapat dilihat pada tabel berikut : 

 

AKSESABILITAS PUBLIC PRIVATE PROTECTED DEFAULT 

Dari kelas yang sama Ya Ya Ya Ya 

Dari sembarang kelas dalam paket 

yang sama 

Ya Tidak Ya Ya 

Dari sembarang kelas di luar paket Ya Tidak Tidak Tidak 

Dari sub kelas dalam paket yang 

sama 

Ya Tidak Ya Ya 

Dari sub kelas di luar paket Ya Tidak Ya Tidak 

 

 

Khusus untuk 3 akses yaitu public, private dan protected sifatnya dapat diuraikan 

sebagai berikut : 

   Private berkarakteristik agar variabel atau method pada sebuah object/class tidak 

dapat diakses oleh object/class yang lain.  

   Protected berkarakteristik agar variabel atau method pada sebuah object/class 

dapat diakses oleh object/class turunannya, tetapi tidak dapat diakses oleh 

object/class yang lain. 

   Public berkarakteristik agar variabel atau method pada sebuah object/class dapat 

diakses oleh object/class yang lain 

 

Untuk akses (modifier) Public biasanya digunakan pada method, karena method 

berperan sebagai Interface to Access. Method sebagai jembatan untuk mengambil 

data / isi data dari sebuah atribut. 

 

Untuk akses (modifier) Private biasanya digunakan pada atribut, karena berfungsi 

untuk menyembunyikan data atau Information Hiding.  

 

Untuk akses (modifier) Protected biasanya digunakan pada atribut, sehingga atribut 

sebuah class dapat diakses oleh beberapa class lain. Class lain yang dapat mengakses 

atribut yaitu  class yang menjadi turunan dari class ini . 

 

 

 

 

 

 Okkita Rizan  - 66 - Genap - 

 

2. PENERAPAN ENKAPSULASI PADA JAVA 

Berikut contoh pemakaian  enkapsulasi pada program. Pada contoh berikut akses 

yang digunakan yaitu  Public dan Private. Untuk akses protected akan dibahas 

pada modul berikutnya, karena berkenaan dengan konsep turunan (inheritance).  

 

Nama File : testEnkapsulasi.java 

Sintaks program : 

 

 

Penjelasan Program : 

   Perhatikan class mahasiswa. Pendeklarasian atribut Nama sudah ditambahkan 

akses private. Method setNama() dan getNAMA() sudah ditambahkan akses 

public. Artinya class mahasiswa ini sudah mengatur hak akses untuk atribut dan 

methodnya. 

   Pada class testEnkapsulasi, object mhs1 hanya dapat mengakses method saja dan 

tidak dapat mengakses atribut dari class mahasiswa. Method dapat diakses karena 

diberi akses public dan atribut tidak dapat diakses karena diberi akses private. 

 

 

 

 

 

 Okkita Rizan  - 67 - Genap - 

KONSTRUKTOR & DESTRUKTOR  

  

TUJUAN : 

   Dapat memahami mengenai konsep konstruktor dan destruktor 

   Dapat memahami beberapa bentuk konstruktor 

   Dapat memahami pemakaian  konstruktor pada java 

 

1. MEMAHAMI KONSTRUKTOR 

Perhatikan contoh perintah instansiasi objek sebagai berikut : 

 

mahasiswa mhs1 = new mahasiswa(); 

 

maksud perintah ini  yaitu  : 

   mahasiswa yaitu  nama sebuah class. 

   mhs1 yaitu  objek baru yang diciptakan untuk class mahasiswa. 

   new yaitu  operator/keyword yang digunakan untuk membuat sebuah objek 

baru. 

   mahasiswa() yaitu  sebuah KONSTRUKTOR. Dalam contoh ini yaitu  

KONSTRUKTOR dari class mahasiswa. 

 

Konstruktor merupakan sebuah method khusus yang secara otomatis 

dipanggil/dijalankan pada saat saat sebuah class diinstansi. Konstruktor dapat juga 

diartikan sebagai method khusus yang berfungsi untuk menciptakan objek dari 

sebuah class. Method konstruktor ini akan dipanggil secara otomatis oleh java ketika 

new digunakan untuk membuat sebuah objek. 

 

Konstruktor dapat dibuat sendiri, tetapi jika  konstruktor tidak dibuat, maka 

compiler java akan secara otomatis membuat konstruktor default pada saat dilakukan 

kompilasi. Perlu untuk diketahui, bahwa konstruktor bukanlah anggota dari sebuah 

class, seperti atribut dan method. 

 

Beberapa fungsi konstruktor diantaranya : 

   Membuat sebuah objek pada saat program dieksekusi. 

   Memberikan nilai awal sebagai dari atribut yang perlu diinisialisasi. 

   Mengerjakan proses-proses yang diperlukan pada saat sebuah objek dibuat. 

 

Beberapa hal yang diperlukan jika  ingin membuat konstruktor sendiri yaitu : 

   nama konstruktor harus sama dengan nama classnya 

   konstruktor tidak memiliki nilai kembalian/return value 

   konstruktor tidak mempunyai / memakai  void ataupun tipe data. 

   konstruktor dapat memiliki satu atau banyak parameter, bahkan tanpa parameter 

sekalipun 

   java tidak membatasi jumlah konstruktor pada satu class. Artinya sebuah class 

dapat memiliki lebih dari satu konstruktor. 

MODUL 

 

 Okkita Rizan  - 68 - Genap - 

 

Berdasarkan beberapa literatur, konstruktor pada java ada  beberapa tipe/bentuk. 

Adapun bentuk/tipe dari konstruktor pada java yaitu : 

a. Default Constructor / Konstruktor Tunggal  

b. Parameterized Constructor / Konstruktor dengan parameter 

c. Overloading Constructor / Multiple Constructor 

d. Private Constructor 

e. Constructor Chaining / Rangkaian Konstruktor 

 

 

2. PENERAPAN KONSTRUKTOR PADA JAVA 

 

Berikut akan ditunjukkan contoh pemakaian  dan pembuatan konstruktor pada java. 

Contoh program yang ditunjukkan mengikuti bentuk dari beberapa konstruktor. 

 

a. Default Constructor / Konstruktor Tunggal 

Default Constructor yaitu  sebuah konstruktor yang tidak memiliki parameter dan 

hanya ada  sebuah konstruktor pada sebuah class. Berikut contoh penerapan 

konstruktor tunggal pada pemrograman java. 

 

Nama file : testKonsTunggal.java 

Sintaks program : 

 

 

 

 Okkita Rizan  - 69 - Genap - 

 

Penjelasan program : 

   Konstruktor mahasiswa() tidak memakai  awalan void ataupun tipe 

data. 

   Pada konstruktor mahasiswa(), saat pembuatan objek dan dijalankan, 

konstruktor ini  mengerjakan method setNama(). Sehingga objek pada 

class main() tidak perlu mengirimkan data ke class mahasiswa. Objek cukup 

memanggil method getNama() untuk menampilkan isi atribut. 

   Pada contoh ini , konstruktor mahasiswa() berfungsi mendefinisikan data 

awal untuk atribut Nama memakai  method setNama(). 

 

b. Parameterized Constructor / Konstruktor dengan parameter 

Parameterized Constructor yaitu  sebuah konstruktor yang memiliki paramater. 

Parameter yaitu  sebuah variabel yang berfungsi untuk menampung data yang 

dikirimkan melalui sebuah object. Berikut yaitu  contoh konstruktor yang 

memakai  parameter pada pemrograman java. 

 

Nama file : testKonsParameter.java 

Sintaks program : 

 

 

 

 Okkita Rizan  - 70 - Genap - 

 

Penjelasan Program : 

   Konstruktor mahasiswa(), memakai  sebuah parameter bernama Nm. 

   Pada konstruktor mahasiswa(), saat pembuatan objek dan dijalankan, 

konstruktor ini  mengirimkan data “Okki” ke parameter Nm. Lewat 

parameter Nm, konstruktor mengerjakan method setNama(). Objek pada class 

main() tidak perlu mengirimkan data ke class mahasiswa. Objek cukup 

memanggil method getNama() untuk menampilkan isi atribut. 

   Pada contoh ini , konstruktor mahasiswa() berfungsi mendefinisikan data 

awal untuk atribut Nama memakai  method setNama() dengan 

memakai  parameter. 

 

 

c. Overloading Constructor / Multiple Constructor  

Overloading Constructor yaitu  sebuah class yang memiliki lebih dari satu 

konstruktor yang mempunyai tugas yang berbeda. Overloading constructor dapat 

dipandang sebagai gabungan dari konstruktor tunggal  (default constructor) dan 

konstruktor dengan parameter (parameterized constructor). 

 

Berikut yaitu  contoh penerapan overloading constructor pada pemrograman 

java. 

 

Nama file : testKonsMultiple.java 

Sintaks program : 

 

 

 

 Okkita Rizan  - 71 - Genap - 

 

 

Output program : 

 

 

 

Penjelasan program : 

   Pada class main(), dibuat dua buah objek untuk class mahasiswa yaitu objek 

mhs1 dan mhs2. 

   Pada saat instansiasi objek mhs1, memakai  konstruktor tunggal. 

Sedangkan saat instansiasi objek mhs2, memakai  konstruktor parameter. 

 

d. Private Constructor 

 

e. Constructor Chaining / Rangkaian Konstruktor 

Constructor Chaining yaitu  proses memanggil sebuah konstruktor dari 

konstruktor yang lain dalam satu buah class. Untuk memahami proses ini  

berikut yaitu  contoh pemakaian  constructor chaining pada pemrograman java. 

 

 

Nama file : chainingConstructor.java 

Sintaks program : 

 

 

 Okkita Rizan  - 72 - Genap - 

 

 

 

3. MEMAHAMI DESTRUKTOR 

Destruktor merupakan kebalikan dari konstruktor. Konstruktor merupakan method 

khusus yang dijalankan secara otomatis pada saat objek diciptakan pada memory. 

Berbeda dengan destruktor, method ini akan dijalankan pada saat objek akan dihapus 

dari memory. Tujuannya yaitu  untuk membebaskan memory dari objek-objek yang 

tidak digunakan lagi. 

 

Istilah destruktor sebenarnya dikenal dalam bahasa pemrograman C++. Pada bahasa 

Java tidak mengenal istilah destruktor. Hal ini dikarenakan objek dibuat secara 

dinamis pada saat run-time dan tidak secara eksplisit menulis perintah untuk 

menghapus suatu objek dari memory. Ketentuan apakah suatu objek akan dihapus 

dari memory atau tidak, ditentukan oleh Java sendiri. Proses ini dikenal dengan istilah 

GARBAGE COLLECTION. 

 

Secara sederhana untuk menentukan apakah suatu objek akan dihapus dari memory, 

Java akan mengecek apakah masih ada yang memegang/memakai  referensi ke 

objek ini . Jika tidak, berarti objek ini  dapat dihapus dari memory sehingga 

memory yang terpakai dapat dipakai kembali untuk keperluan lainnya. Masalahnya 

 

 Okkita Rizan  - 73 - Genap - 

yaitu  proses garbage collection terjadi secara sporadis sehingga sulit untuk 

menentukan kapan proses ini akan berjalan. Akan tetapi, Java masih menyediakan 

perintah yang dapat digunakan untuk memaksa Java melakukan proses garbage 

collection ini, yaitu : 

 

System.gc(); 

 

Kembali ke persoalan awal, Java tidak mengenal istilah destruktor, padahal ada 

kemungkinan pada saat membuat program perlu agar suatu code dieksekusi sebelum 

objek ini  dihapus dari memory. Untuk mengatasi ini dapat memakai  

methode finalize(). Sesaat sebelum objek ini  dihapus dari memory, Java run-

time akan memanggil method finalize() dari objek ini . Bentuk 

pendeklarasiannya secara umum sebagai berikut : 

 

protected void finalize() 

   //implementasi 

 

 

pemakaian  akses protected untuk membatasi siapa saja yang boleh memanggil 

method ini karena method ini memang tidak seharusnya dipanggil oleh program yang 

dibuat, tetapi dipanggil oleh run-time Java sebelum objek dihapus dari memory. 

 

Berikut contoh pemakaian  desktruktor melalui proses garbage collection pada java. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Okkita Rizan  - 74 - Genap - 

Nama file : testDestruktor.Java 

Sintaks program : 

 

 

 

 

 

 

 

 

 

 

 

 Okkita Rizan  - 75 - Genap - 

INHERITANCE   

  

TUJUAN : 

   Dapat memahami mengenai konsep Inheritance 

   Dapat memahami pemakaian  Inheritance pada java 

 

1. MEMAHAMI INHERITANCE 

Nama lain dari Inheritance yaitu  Turunan atau Pewarisan. Inheritance yaitu  proses 

pewarisan data atau method dari suatu class yang sudah ada ke class yang baru. 

Pembuatan class baru dengan mengembangkan class yang sudah pernah dibuat 

sebelumnya. 

 

Beberapa istilah dikenal pada proses inheritance diantaranya : 

   Class yang menurunkan data atau method ke class lain disebut dengan super 

class, parent class, base class atau kelas induk. 

   Class yang merupakan turunan dari kelas induk disebut dengan sub class, child 

class, derived class atau class turunan.  

 

Class turunan yaitu  class yang memakai  data atau method dari class induk. 

Konsepnya, secara otomatis class turunan memiliki sifat (variabel/atribut) dan 

kelakuan (behavior/method) yang sama yang dimiliki oleh kelas induknya. Class 

turunan dapat menambahkan fitur atau behavior dengan mendefinisikan suatu 

method didalam class turunan ini . Salah satu keuntungan dari konsep 

inheritance ini yaitu  cukup mendefinisikan satu kali saja atribut atau method yang 

sama pada class induknya dan dapat digunakan di seluruh class turunannya.  

 

Pada Diagram UML (Unified Modelling Language), konsep Inheritance digambarkan 

pada class diagram sebagai berikut : 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MODUL 

Class A 

Class B 

Contoh class diagram disamping 

menunjukkan bahwa Class A yaitu  

class induk dari Class B, sebaliknya  

Class B yaitu  class turunan dari      

Class A. Panah terbuka menunjukkan 

bahwa kedua class ini  

memakai  konsep Inheritance. 

 

 

 Okkita Rizan  - 76 - Genap - 

Manfaat dari konsep Inheritance dicontohkan sebagai berikut : 

a. Buatlah sebuah class untuk menangani objek bujursangkar. Class ini diberi dengan 

nama bujursangkar. Atribut yang dimiliki oleh class ini yaitu  sisi. Untuk 

memanipulasi atribut ini , buat dua buah method dengan nama setSisi() dan 

getSisi(). Selain kedua method ini , buat juga method untuk menghitung luas 

sebuah objek bujur sangkar. Method ini  dinamai dengan hitungLuas(). 

b. Buatlah sebuah class untuk menangani objek kubus. Class ini diberi dengan nama 

kubus. Atribut yang dimiliki oleh class ini yaitu  sisi. Untuk memanipulasi atribut 

ini , buat method dua buah method dengan nama setSisi() dan getSisi(). 

Selain kedua method ini , buat juga method untuk menghitung volume 

sebuah objek kubus. Method ini  dinamai dengan hitungVolume(). 

 

Dari kedua soal ini , jika  dibuat dengan class diagram dapat digambarkan 

sebagai berikut : 

 

 

 

 

 

 

 

 

 

jika  diperhatikan, maka kedua class ini  memiliki kesamaan atribut dan dua 

method yang sama. Sehingga kedua class ini dapat diterapkan konsep Inheritance 

yang digambarkan sebagai berikut : 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bujursangkar 

 

   sisi 

   setSisi() 

   getSisi() 

   hitungLuas() 

 

kubus 

 

   sisi 

   setSisi() 

   getSisi( ) 

   hitungVolume( ) 

 

bujursangkar 

 

   sisi 

   setSisi() 

   getSisi() 

   hitungLuas() 

 

kubus 

 

    

   hitungVolume( ) 

 

Dengan konsep Inheritance ini, pada 

class kubus tidak perlu lagi dibuatkan 

atribut dan method yang sama dengan 

class bujursangkar. 

 

class kubus dapat memakai  atribut 

dan method yang sama pada class 

bujursangkar. 

 

Pada pemrograman, bentuk ini dapat 

membantu programmer untuk 

meminimalkan jumlah baris perintah 

pada saat pembuatan program. 

 

 

 Okkita Rizan  - 77 - Genap - 

2. PENERAPAN INHERITANCE PADA JAVA 

Pada pemrograman, jika  sebuah class merupakan class turunan dari class 

induknya ditunjukkan dengan keyword extends. Keyword extends digunakan 

pada pendeklarasian classnya. Bentuk umumnya sebagai berikut : 

 

namasubclass extends namasuperclass 

  //statements 

 

Selain extends, ada  keyword lain yang digunakan pada konsep Inheritance. 

Keyword ini  diantaranya : 

   super. Keyword super digunakan oleh subclass untuk memanggil/ 

memakai  konstruktor, atribut atau method pada superclassnya.  

   protected. Keyword protected yaitu  hak akses / access modifier. Fungsi 

access modifier sudah dijelaskan pada modul sebelumnya. Atribut atau 

method yang memakai  akses protected, akan dapat digunakan pada class 

turunan.  

 

Berikut contoh penerapan konsep Inheritance dalam pemrograman. Contoh 

berikut yaitu  implementasi pada contoh class diagram pada point sebelumnya. 

 

Nama file : testInheritance.java 

Sintaks program : 

 

 

 

 Okkita Rizan  - 78 - Genap - 

 

 

Output Program : 

 

 

Penjelasan Program : 

   class kubus merupakan class turunan dari class bujursangkar 

   atribut sisi pada class bujursangkar memakai  akses protected, sehingga 

atribut ini  dapat digunakan di class kubus pada method hitungVolume(). 

Perhatikan pada method ini , selain memakai  method getSisi(), juga 

memakai  atribut sisi untuk menghitung volume kubus. 

   Keyword super pada method hitungVolume(), menunjukkan bahwa method 

pada class kubus  memakai  method dan atribut dari class supernya yaitu 

class bujursangkar. 

 

 Okkita Rizan  - 79 - Genap - 

3. MACAM-MACAM TURUNAN (TYPE OF INHERITANCE) 

Konsep Turunan memiliki beberapa bentuk. Bentuk dari turunan ini  

berdasarkan hubungan antara super class dan sub class. Macam-macam turunan 

ini  yaitu  sebagai berikut : 

a. Single Inheritance 

Sebuah turunan disebut dengan single inheritance jika  sebuah superclass 

hanya memiliki satu buah subclass. Ilustrasi single inheritance digambarkan 

sebagai berikut : 

 

 

 

 

 

 

 

 

 

 

 

 

 

Contoh penerapan inheritance pada java dapat dilihat pada contoh program 

testInheritance.java di atas. 

 

b. Multiple Inheritance 

Konsep dari Multiple Inheritance yaitu  jika  ada sebuah sub class memiliki 

lebih dari satu super class. Adapun Multiple Inheritance di ilustrasikan sebagai 

berikut : 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Class A 

Class B 

Class A 

Class C 

Class B 

 

 Okkita Rizan  - 80 - Genap - 

Berdasarkan berbagai literatur, tidak banyak bahasa pemrograman yang 

mendukung konsep Multiple Inheritance ini, termasuk diantaranya yaitu  

Bahasa Pemrograman Java. 

 

c. Multilevel Inheritance 

Multilevel Inheritance terjadi jika  sebuah class menjadi sub class dari 

sebuah super class, tetapi kelas ini  juga menjadi super class dari class 

yang lain. Ilustrasinya dapat dilihat pada gambar berikut : 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Berikut yaitu  contoh penerapan Multilevel Inheritance pada Bahasa 

Pemrograman Java. 

 

Nama Program : 

Sintaks Program : 

 

Class A 

Class B 

Class C 

 

 Okkita Rizan  - 81 - Genap - 

 

 

 

d. Hierarchical Inheritance 

Bentuk turunan ini yaitu  jika  satu buah class yang menjadi super class 

memiliki lebiih dari satu sub class. Ilustrasinya dapat dilihat pada contoh 

berikut : 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Class C Class B 

Class A 

Class D 

 

 Okkita Rizan  - 82 - Genap - 

Berikut yaitu  contoh penerapan Hierarchical Inheritance pada Bahasa 

Pemrograman Java. 

 

Nama Program : hierarchical.java 

Sintaks Program : 

 

 

 

 

 Okkita Rizan  - 83 - Genap - 

 

 

 

e. Hybrid Inheritance 

Hybird Inheritance merupakan turunan yang merupakan kombinasi dari Single 

dan Multiple Inheritance. Untuk memahami konsep turunan ini, berikut 

ilustrasi dari Hybrid Inheritance. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Seperti yang telah dijelaskan di atas, Java tidak mendukung konsep Multiple 

Inheritance. Walaupun tidak mendukung konsep turunan ini , Java 

menyediakan cara lain untuk mengatasi bentuk pemrograman yang 

menyerupai Multiple Inheritance, yaitu memakai  konsep INTERFACE. 

Untuk konsep interface akan dibahas pada modul berikutnya.  

 

 

 

 

 

 

 

 

 

Class B 

Class D 

Class C 

Class A 

 

 Okkita Rizan  - 84 - Genap - 

 

POLYMORPHISM   

  

TUJUAN : 

   Dapat memahami mengenai konsep polymorphism 

   Dapat memahami mengenai konsep overloading 

   Dapat memahami mengenai konsep overriding 

   Dapat memahami pemakaian  overloading pada java 

   Dapat memahami pemakaian  overriding pada java 

 

1. MEMAHAMI POLYMORPHISM 

Polymorphism atau polimorfisme dimaknai sebagai banyak bentuk. Dalam 

pemrograman berorientasi objek, konsep ini memungkinkan pemakaian  interface 

yang sama untuk keperluan atau hasil berbeda, ini yang dimaksud dengan banyak 

bentuk. Interface sama tetapi mempunyai hasil yang berbeda.  

 

Ada beberapa keuntungan konsep polymorphism diterapkan didalam program 

diantaranya : 

   Dapat menghindari duplikasi objek, dengan cara menciptakan class baru dari class 

yang sudah ada, sehingga tidak perlu menuliskan code dari nol ataupun 

mengulangnya, namun tetap bisa menambahkan atribut dan atau method unik 

dari class itu sendiri. Dalam konsep yang lebih umum sering kali polymorphism 

disebut dalam isitlah satu interface dengan banyak aksi. 

   Dapat memakai  class-class yang dibuat sebagai super class dan membuat 

class-class baru berdasarkan super class ini  dengan karakteristik yang lebih 

khusus dari behaviour umum yang dimiliki oleh super class. 

   Dapat membuat super class yang hanya mendefinisikan behaviour namun tidak 

memberikan implementasi dari method-method yang ada. Hal ini berguna jika  

ingin membuat semacam template class, class semacam ini disebut dengan 

abstrak class. Pembahasan ini akan dibahas secara khusus pada modul 

berikutnya. 

 

Pada pemrograman berorientasi objek, interface yang dapat diterapkan konsep 

polymorphisme yaitu  method. Atribut sendiri tidak bisa diterapkan konsep 

polymorphisme. Sehingga, polymorphisme yaitu  konsep yang memungkinkan 

pemakaian  method yang sama dengan hasil yang berbeda. Ada dua penyebutan 

nama method yang diterapkan konsep polymorphisme sesuai dengan bentuk 

pemakaian nya. Dua method ini  disebut dengan : 

 

METHOD OVERLOADING dan METHOD OVERRIDING 

 

Lebih jauh mengenai perbedaan kedua method ini  dan contoh pemakaian nya 

pada java akan diuraikan dibawah ini. 

MODUL 

10

 

 Okkita Rizan  - 85 - Genap - 

 

2. MEMAHAMI OVERLOADING 

Perhatikan penggalan baris perintah pada class berikut ini : 

 

 

 

 

Penggalan baris perintah ini  menunjukkan ada  dua buah konstruktor yaitu 

konstruktor mahasiswa() pada sebuah class. jika  diperhatikan, maka kedua 

konstruktor ini  memiliki nama yang sama, yaitu sama-sama dengan nama 

mahasiswa. Hal inilah yang membedakan antara teknik pemrograman terstruktur 

dengan teknik pemrograman berorientasi objek.  

 

Pada pemrograman terstruktur, tidak diizinkan jika  dalam satu program ada  

lebih dari satu method dengan nama yang sama. Berbeda dengan pemrograman 

berorientasi objek, diperbolehkan mempunyai lebih dari satu method dengan yang 

sama, dengan syarat perlakuan berbeda. Cara ini disebut dengan OVERLOADING. 

 

Selain pada konstruktor, konsep overloading dapat diterapkan pada beberapa method 

pada sebuah class dengan syarat perlakuan berbeda. Perlakuan berbeda dari setiap 

method ditunjukkan dengan jumlah parameter digunakan pada setiap methodnya. 

Selain dengan jumlah parameternya, tipe data yang tidak sama yang digunakan pada 

parameter juga bisa dilakukan konsep overloading walaupun jumlah parameternya 

sama. 

 

3. PENERAPAN OVERLOADING PADA JAVA 

Berikut yaitu  contoh pemakaian  konsep overloading pada sebuah class. 

Pada contoh berikut class mahasiswa memakai  4 buah method dengan nama 

yang sama yaitu method tampil(). 

 

Nama file : testOverloading.java 

Sintaks program : 

 

 

 Okkita Rizan  - 86 - Genap - 

 

 

Output Program : 

 

 

 

 

 

 Okkita Rizan  - 87 - Genap - 

4. MEMAHAMI OVERRIDING 

Method Overriding biasanya diterapkan pada konsep Inheritance atau turunan. Sesuai 

dengan fungsinya, yang dimaksud dengan overriding yaitu  pemakaian  method sub 

class sama dengan method super class. Pengertian yang lain yaitu , pada sub class, 

nama sebuah method maupun parameter method nya sama dengan nama dan 

parameter sebuah method pada super class. Tetapi hasil akhirnya/perlakuannya 

berbeda.  

 

Inilah yang membedakan antara method Overloading dengan method Overriding. 

Pada method overloading, sebuah class mempunyai lebih dari satu method dengan 

nama yang sama tetapi parameternya yang berbeda, yang menyebabkan hasil 

akhirnya/perlakuannya akan berbeda. 

 

 

5. PENERAPAN OVERRIDING PADA JAVA 

Berikut yaitu  contoh penerapan method Overriding pada konsep Inheritance pada 

java. Pada super class maupun sub classnya akan dibuatkan method dengan nama 

yang sama. Method yang di Overriding yaitu method tampil(). 

Nama file : testOverriding.java 

Sintaks Program :  

 

 

 

 Okkita Rizan  - 88 - Genap - 

 

 

Output Program : 

 

 

 

 

 

 

 

 

 

 

 

 

 Okkita Rizan  - 89 - Genap - 

INTERFACE   

  

TUJUAN : 

   Dapat memahami mengenai konsep Interface 

   Dapat memahami pemakaian  Interface pada java 

 

 

1. MEMAHAMI INTERFACE 

Interface yaitu  sekumpulan deklarasi konstanta dan atau method tanpa memiliki 

implementasi dan semua property yang dimilikinya bersifat final. Interface mirip 

dengan class abstrak, tetapi interface tidak terikat dengan class hierarki. Interface 

biasa digunakan untuk mendeklarasikan kumpulan method dan konstanta yang dapat 

digunakan oleh satu atau lebih class. 

 

Bentuk umum dari pendeklarasian interface yaitu  sebagai berikut : 

 

interface namainterface 

     //deklarasi method dan konstanta 

 

 

 

Beberapa aturan yang harus diperhatikan mengenai pendeklarasian interface yaitu  : 

   Modifier/access modifier yang digunakan hanya public atau tidak sama sekali. 

jika  tidak memakai  modifier, maka interface ini  hanya dapat diakses 

dalam package yang sama. 

   Semua variabel yang dideklarasikan dalam interface, secara otomatis yaitu  static 

final. Sehingga, pada saat pendeklarasian harus diberikan nilai. 

   Semua method yaitu  abstrak. Bedanya dengan class abstrak yaitu  tidak perlu 

menuliskan keyword abstract pada saat mendeklarasikan method dalam interface. 

   Dapat mengimplementasikan lebih dari satu interface (multiple inheritance) 

dengan memisahkan nama dari setiap interface dengan tanda koma. jika  saat 

mengimplementasikan lebih dari satu interface ternyata interface-interface 

ini  memiliki method yang sama, maka method yang akan digunakan yaitu  

method yang berada pada posisi pertama. 

   Semua method yang diimplementasikan harus public. jika  tidak 

mengimplementasikan semua method yang ada pada interface, maka interface 

ini  harus dideklarasikan sebagai abstract class. Abstract class akan dibahas 

pada modul berikutnya. 

 

 

 

MODUL 

11 

 

 Okkita Rizan  - 90 - Genap - 

2. PENERAPAN INTERFACE PADA JAVA 

Pada bahasa Java, diperlukan keyword yang menunjukkan bahwa sebuah class 

mengimplementasikan sebuah atau beberapa interface. Keyword ini  yaitu  

implements dan disebutkan pada saat pendeklarasian sebuah class. 

 

Berikut yaitu  contoh penerapan interface pada program. Contoh berikut 

menunjukkan sebuah class mengimplementasikan sebuah interface, yaitu interface 

cetak. 

 

Nama file : testInterface.java 

Sintaks program : 

 

 

 

 Okkita Rizan  - 91 - Genap - 

RAGAM CLASS   

  

TUJUAN : 

   Dapat memahami macam-macam class 

   Dapat memahami perbedaan dan kegunaan penerapan class pada java 

 

Pada modul ini, secara khusus akan membahas berbagai bentuk dari class. Bentuk dari 

berbagai macam class ini akan menunjukkan perbedaan fungsi atau kegunaan maupun 

bentuk dari tiap tiap class. Untuk beberapa class yang sudah dibahas pada modul 

sebelumnya, tidak dicantumkan contoh penerapannya dalam pemrograman, hanya 

definisinya saja dalam modul ini. Berikut beberapa macam class dalam pemrograman 

berorientasi objek. 

 

1. SUPER CLASS 

Class ini digunakan pada konsep Inheritance. Nama lain dari class ini yaitu  parent 

class atau base class atau kelas induk. Pada Inheritance class ini akan mewariskan 

apa saja yang dimilikinya ke class turunannya. Pada pemrograman, yang diwarisi 

yaitu  atribut dan methodnya sehingga dapat digunakan di class turunannya. Contoh 

penerapan class ini sudah diuraikan pada modul sebelumnya.   

 

2. SUB CLASS 

Class ini digunakan juga pada konsep Inheritance. Nama lain dari class ini yaitu  

child class atau derived class atau kelas turunan . Pada Inheritance class ini dapat 

memakai  atribut dan method dari kelas induknya. Class ini dapat menambahkan 

atribut dan method sendiri. Pada pemrograman, class ini tidak dapat berdiri sendiri 

dan dipasangkan dengan class yang lain, yaitu class induknya (super class). Contoh 

penerapan class ini sudah diuraikan pada modul sebelumnya.  

 

3. ABSTRACT CLASS 

Sama dengan dua class diatas, class ini juga digunakan pada konsep Inheritance. 

Peran dari abstract class ini sama dengan super class, yaitu sebagai acuan bagi class-

class turunan. Bedanya dengan super class, abstract class biasanya hanya berisi 

variabel-variabel umum (atribut umum) dan header-header method saja tanpa body 

methodnya atau bisa juga sebagian method ada body methodnya dan sebagian 

method yang lain tidak memiliki body method. Sehingga, class-class turunannyalah 

yang akan mendefinisikan secara detail body method-method ini . 

 

Bentuk umum dari pendeklarasian abstract class yaitu  sebagai berikut : 

 

akses_modifier abstract class namaclassabstract 

   // statements 

MODUL 

12 

 

 Okkita Rizan  - 92 - Genap - 

 

Java membuat beberapa aturan dalam pemakaian  abstract method dan class 

abstract yaitu sebagai berikut : 

 

   Class yang didalamnya ada  abstract method harus dideklarasikan sebagai 

abstract class. 

   Abstract class tidak dapat diinstansi, tetapi harus diturunkan. 

   Abstract class tidak dapat diinstansi (menjadi objek dari class abstract), tetapi 

dapat mendeklarasikan suatu variabel yang bertipe abstract class dan membuat 

instansi dari variabel ini  yang bertipe class turunan dari abstract class 

ini  (teknik polymorphism). 

   Sebuah class dapat dideklarasikan sebagai abstract class meskipun class ini  

tidak mempunyai abstract method. 

   Abstract method tidak mempunyai body method dan demikian juga sebaliknya 

bahwa method yang tidak ditulis body methodnya maka harus dideklarasikan 

sebagai abstract method 

 

Berikut yaitu  contoh penerapan abstract class pada pemrograman. Pada contoh 

berikut juga diperkenalkan mengenai abstract method, method yang mempunyai body 

method dan static method yang dibuat didalam abstract class. 

 

Nama file : testAbstractClass.java 

Sintaks Program : 

 

 

 

 Okkita Rizan  - 93 - Genap - 

 

   

Output Program : 

 

 

 Okkita Rizan  - 94 - Genap - 

4. NESTED CLASS 

Istilah nested sudah tidak asing lagi didengar pada algoritma. Istilah ini digunakan 

pada struktur pencabangan dan struktur perulangan. jika  pada struktur 

pencabangan disebut dengan NESTED IF, sedangkan di struktur perulangan disebut 

dengan NESTED LOOP. Maksud dari nested yaitu  bersarang, sehingga yang 

dimaksud dengan NESTED IF yaitu  pencabangan bersarang dan NESTED LOOP 

yaitu  perulangan bersarang. 

 

Selain pada algoritma, pada konsep object oriented dikenal juga dengan istilah 

nested. Pada objek oriented, nested digunakan untuk menunjukkan bentuk class yang 

bersarang. Dengan maksud lain yaitu  ada  class didalam class yang lain. 

Sehingga namanya yaitu  NESTED CLASS. 

 

Nested class yaitu  class yang didefinisikan didalam class yang lain. Pada dasarnya, 

Nested Class terbagi kedalam dua kategori yaitu Static Class dan Non Static Class. 

Untuk Static Class, disebut dengan STATIC NESTED CLASS, sedangkan Non Static 

Class, disebut juga dengan INNER CLASS. Class yang didalamnya ada  Static 

Nested Class dan atau Inner Class disebut dengan OUTER CLASS. Dengan maksud 

lain, bahwa Static Nested Class dan Inner Class merupakan anggota dari Outer Class. 

  

Outer Class dan Nested Class saling berhubungan. Artinya, sebuah class tidak dapat 

dikatakan sebagai Outer Class jika  didalamnya tidak ada  class lain (Static 

Nested Class dan atau Inner Class), begitu juga sebaliknya, sebuah class tidak dapat 

dikatakan sebagai nested class (Static Nested Class dan atau Inner Class) apabla class 

ini  tidak berada didalam class yang lain (Outer Class). 

 

Adapun bentuk umum dari nested class dicontohkan sebagai berikut : 

 

class OuterClass 

   //statements 

      class NestedClass   

      { 

        //statements 

      } 

 

 

Dalam diagram UML, nested class digambarkan sebagai berikut : 

 

 

 

 

 

 

class nested class 

 

 Okkita Rizan  - 95 - Genap - 

a. Static Nested Class 

Pada sebagian literatur menyebutkan bahwa Static Nested Class yaitu  bagian 

dari Inner Class. Pada dasarnya, Static Nested Class yaitu  hanyalah top-level 

class yang disarangkan didalam class lain. Static Nested Class yaitu  “Inner Class” 

yang memiliki modifier static.  

 

Dikarenakan class ini memakai  static, maka pada saat membuat 

instance/objek dari static nested class ini tidak diperlukan instance/objek dari 

outer classnya. Ini lah yang membedakan antara Static Nested Class dengan Inner 

Class. Sebuah Static Nested Class tidak dapat mengakses member/atribut non 

static dari Outer Classnya. 

 

Adapun cara atau proses menginstansiasi Static Nested Class seperti ditunjukkan 

sebagai berikut : 

 

NamaOuterClass.NamaStaticNestedClass  ObjectNestedClass = new 

NamaOuterClass.NamaStaticNestedClass() 

 

 

Berikut contoh penerapan Static Nested Class pada pemrograman. 

 

Nama file : testStaticNested.Java 

Sintaks program : 

 

 

 

 Okkita Rizan  - 96 - Genap - 

Output Program : 

 

 

Penjelasan Program : 

   class baru yaitu  sebuah class yang bertipe Static Nested Class. Outer class 

dari class baru yaitu  class mahasiswa. 

   Objek mhs yaitu  objek dari class baru, bukan objek dari class mahasiswa. 

Sehingga pada saat instansiasi objek perlu menyebutkan class mahasiswa 

sebagai outer class dari class baru. 

 

 

b. Inner Class 

Inner class merupakan bagian/member dari class yang lain, Outer Classnya. 

Sehingga Inner Class dapat mengakses seluruh atribut ataupun method dari outer 

classnya.  

 

Bentuk umum dari Inner Class ini yaitu  : 

 

class namaOuterClass 

     class namaInnerClass 

     { 

        // statement 

     } 

 

Berdasarkan struktur dan sifat dari classnya, Inner Class terbagi kedalam : 

   “Regular” Inner Class 

   Method-Local Inner Class 

   Anonymous Inner Class 

 

Pada beberapa literatur menambahkan satu lagi, jenis dari Inner Class yaitu : 

   Static Nested Class  

Untuk Static Nested Class sudah dibahas sebelumnya. 

 

1) “Regular” Inner Class 

Inner Class jenis ini merupakan Inner Class pada umumnya, artinya bukan 

method-local atau anonymous Inner Class, bukan juga Static Nested Class. 

 

 

 Okkita Rizan  - 97 - Genap - 

Beberapa hal dan aturan dari Inner Class ini yaitu  : 

   Objek/instance dari Inner Class dapat mengakses semua member/atribut 

dari Outer Classnya, termasuk juga atribut dengan modifier private pada 

Outer Classnya. 

   Sebuah Inner Class tidak dapat memiliki member dengan modifier static. 

   Untuk membuat objek/instance dari Inner Class, maka harus ada  

objek/instance dari Outer Class terlebih dahulu, tidak ada pengecualian 

untuk aturan ini. 

 

Mengenai aturan Inner Class dalam mereferensi dirinya sendiri atau 

objek/instance dari Outer Class yaitu  sebagai  berikut : 

   Untuk merujuk pada dirinya sendiri (instance/objek atau member dari 

Inner Class) dari dalam Inner Class, dapat memakai  referensi this 

atau OuterClass.InnerClass.this. 

   Untuk merujuk pada instance/member dari Outer Classnya dari dalam 

Inner Class, dapat digunakan referensi OuterClass.this. 

 

Mengenai pembuatan objek/instance dari Inner Class, ada  dua cara   

yaitu : 

   Dari dalam Outer Class 

   Dari luar Outer Class. 

 

Untuk membuat objek/Instance dari dalam Outer Class, bentuk umumnya 

yaitu  sebagai berikut : 

 

class NmOuterClass 

    void NmMethod() 

    { 

        NmInnerClass NmObjek = new NmInnerClass(); 

    } 

    class NmInnerClass 

    { 

       // statements 

    } 

 

 

Sedangkan untuk membuat Objek/Instance dari luar Outer Class, bentuk 

umumnya yaitu  sebagai berikut : 

 

NamaOuterClass NmOuter = new NamaOuterClass(); 

NamaOuterClass.NamaInnerClass NmInner = NmOuter.new NamaInnerClass(); 

 

 

 

 Okkita Rizan  - 98 - Genap - 

Berikut contoh penerapan “Regular” Inner Class dengan contoh pembuatan 

objek/instance dari dalam dan luar Outer Classnya. 

 

Nama File : testRegulerInner.Java 

Sintaks Program : 

 

 

Output Program : 

 

 

Penjelasan Program : 

   Pada class mahasiswa dibuat sebuah method dengan nama kenalan(). 

Method ini  dapat memakai  method dari class baru karena 

dibuatkan objek untuk class baru. 

   Objek dengan nama b dibuat didalam Outer Classnya, sedang objek 

dengan nama br dibuat diluar Outer Classnya. 

 

2) Method-Local Inner Class 

Method-Local Inner Class yaitu  sebuah Inner Class yang dideklarasikan 

didalam sebuah method. Pada sebagian literatur Method-Local Inner Class 

disebut juga dengan Local Class.  

Beberapa hal yang perlu diketahui mengenai Method-Local Inner Class ini 

diantaranya : 

   Objek dari Method-Local Inner Class ini hanya dapat diinstansiasi dari 

dalam method yang mendefinisikan/mendeklarasikan Method-Local Inner 

Class ini . 

   Objek/instance dari Method-Local Inner Class dapat mengakses seluruh 

member dari Outer Classnya, termasuk member yang memiliki akses 

private. 

   Objek/instance dari Method-Local Inner Class tidak dapat mengakses local 

variabel, termasuk juga parameter dari method dimana method-local inner 

class ini  didefinisikan, kecuali bila variabel ini  bermodifier final. 

   Mendeklarasikan Method-Local Inner Class tidak berarti membuat 

objek/instance diluar dari method tempat mendeklarasikan class ini . 

Sehingga, sebelum memakai  Inner Class ini , harus membuat 

objeknya dari suatu tempat didalam method dan sesudah  definisi inner 

class ini . 

   Method-Local Inner Class yang didefinisikan didalam static method tidak 

dapat mengakses member non static dari Outer Classnya.  

 

Berikut yaitu  contoh penerapan Method-Local Inner Class pada 

pemrograman : 

Nama File : testMethodLocal.java 

Sintaks Program : 

 

 

 

 

Output Program : 

 

 

Penjelasan Program : 

   Pada contoh ini  class baru yaitu  sebuah class berjenis Method-Local 

Inner Class. Yang menjadi Outer Classnya yaitu  class mahasiswa. Class 

ini  didefinisikan/dideklarasikan didalam method tampil(). 

   Class baru mempunyai objek bernama b yang diinstansiasi didalam 

didalam method tampil(). 

   Objek dari class mahasiswa yang bernama mhs memakai  method 

tampil, secara tidak langsung menjalankan method kenalan() karena 

sudah dibuat objek dari class baru didalam class mahasiswa. 

 

3) Anonymous Inner Class 

Anonymous Inner Class yaitu  sebuah Inner Class yang dideklarasikan tanpa 

nama class. Penerapan Anonymous Inner Class yaitu  pasti dari dua hal 

berikut ini : 

   Menjadi sub class dari suatu class yang telah dideklarasikan 

   Menjadi Class yang mengimplementasi sebuah interface. 

 

Beberapa hal yang perlu diketahui dari Anonymous Inner Class ini yaitu  : 

   Suatu Anonymous Inner Class tidak dapat secara bersamaan menjadi 

subclass dari class yang telah dideklarasikan dan juga menjadi class yang 

mengimplementasi suatu interface. 

   Tujuan utama dari Anonymous Inner Class yaitu  mengoverride satu atau 

lebih method dari super classnya atau mengimplementasi semua method 

dari suatu interface. 

   Anonymous Inner Class tidak dapat mengimplementasi lebih dari sebuah 

interface. 

   Anonymous Inner Class selalu dibuat sebagai bagian dari suatu statement. 

 

 Okkita Rizan  - 101 - Genap - 

   Anonymous Inner Class yaitu  salah satu bentuk dari polymorphisme, oleh 

karena itu, method yang dapat dipanggil dari Anonymous Inner Class 

yaitu  method yang dideklarasikan di super class atau interfacenya, 

meskipun di dalam Anonymous Inner Class dapat dideklarasikan method-

method yang tidak ada di super class atau interfacenya. 

   Anonymous Inner Class dapat diletakkan sebagai argument dari satu 

method. 

 

Berikut yaitu  contoh penerapan Anonymous Inner Class pada    

pemrograman : 

Nama File : testAnonymous.java 

Sintaks program : 

 

 

Output Program : 

 

 

Penjelasan Program : 

   Perhatikan pada class main(), ada  sebuah objek dengan nama mhs. 

   mhs yaitu  variabel referensi yang berfungsi sebagai objek Anonymous 

Inner Class yang merupakan sub class dari class mahasiswa. Jadi objek 

mhs bukan mereferensi objek dari class mahasiswa. 

 

5. FINAL CLASS   

Final class yaitu  sebuah class yang mempunyai keyword final pada nama classnya. 

Class dengan jenis ini tidak dapat menjadi super class bagi class lain. Artinya class ini 

tidak dapat diturunkan/digunakan atribut atau methodnya untuk class lain. jika  

sebuah class dirasa tidak perlu diturunkan ke class yang lain, misalnya class ini  

dirasa sudah memiliki atribut dan method yang sempurna, maka gunakanlah keyword 

final.  

 

Berikut yaitu  contoh penerapan Final Class pada pemr