4 encapsulation inheritance polimorfisme

Upload: ujonono

Post on 27-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 4 Encapsulation Inheritance Polimorfisme

    1/9

    Pemograman Berorientasi Objek

    Disusun Oleh : Sukma Murdani, S.Kom 1

    MODUL 4

    ENCAPSULATION, INHERITANCE DAN POLYMORPHISM

    A.

    ENCAPSULATION (PENGKAPSULAN)Encapsulation adalah proses pemaketan data bersama metode-metodenya dimana hal ini

    bermanfaat untuk menyembeunyikan rincian-rincian implementasi dari pemakai. Dalam sebuah

    objek yang mengandung variabel-variabel dan methodmethod, dapat ditentukan hak akses padasebuah variabel atau method dari objek. Pembungkusan variabel dan method dalam sebuah objek

    dalam bagian yang terlindungi inilah yang disebut dengan enkapsulasi.

    Bagian eksternal dari sebuah objek sering disebut sebagai interface atau antarmukaterhadap objek lain. Karena objek lain harus berkomunikasi dengan obejk itu hanya melalui

    antarmuka maka bagian internal objek dapat dilindungi dari gangguan luar. Karena program luar

    tidak mengakses implementasi internal objek, maka implementasi internal dapat berubah tanpamempengaruhi bagian-bagian program lain.

    Di dalam Java, pengkapsulan dapat dilakukan dengan pembentukan kelas-kelasmenggunakan keyword class. Sedangkan penyembunyian informasi dapat dilakukan dengan

    pengendalian tgerhadap pengaksesan pembentuk kelas dengan keyword-keyword untuk kendalipengaksesan default, private, protected, dan public. Penyembunyian informasi deilakukan

    dengan implementasi penerapan kendari menggunakan keyword private dan protected pada

    elemen data.Ada 2 manfaat utama dari enkapsulasi yaitu :

    1. Penyembunyian Informasi (information hiding)

    Ha ini mengacu kepada perlindungan terhadap implementasi obejk internal. Obejktersebut dari interface public dan bagian private yang merupakan kombinasi data

    dan metode internal. Manfaat utamanya adalah bagian internal dapat berubah tanpa

    memepngaruhi bagian-bagian program yang lain.2.

    Modularitas

    Modularitas berarti objek dapat dikelola secara independen. Karena kode sumber

    bagian internal objek dikelola secara terpisah dari antarmuka, maka Kita bebas

    melakukan modifikasi yang tidak menyebabkan masalah pada bagian-bagian lain darisistem. Manfaat ini mempermudah mendistriibusikan objek-objek dari sistem.

    Untuk lebih memahami berikut contoh Program dengan implementasi Enkapsulasi :

    ()

  • 7/25/2019 4 Encapsulation Inheritance Polimorfisme

    2/9

    Pemograman Berorientasi Objek

    Disusun Oleh : Sukma Murdani, S.Kom 2

    ( )

    *

    ( )

    ( )

    ()

    ()

    ()

    ( )

    ( )

    = ();

    .(50);

    .(100);

    ..(" : "+ .());

    ..(" : "+ .());..(" : "+ .());

    Dari program di atas dapat dilihat bahwa deklarasi variabel disembunyikan dan pada saat

    dilakukan proses perkalian untuk mencari luas dilakukan enkapsulasi. Program di atas akanmenghasilkan 2 class yaitu : class Kapsul dan class Encapsulasi. Keduaclass ini berbeda. Di

    mana class Kapsul merupakan kelas untuk pembentukan Objek dan pemrosesan dalam pencarian

    luas persegi panjang. Sedangkan untuk class Encapsulasimerupakan kelas untuk menampilkanhasil dari proses tersebut.

  • 7/25/2019 4 Encapsulation Inheritance Polimorfisme

    3/9

    Pemograman Berorientasi Objek

    Disusun Oleh : Sukma Murdani, S.Kom 3

    B. INHERITANCE (PEWARISAN)

    Pewarisan adalah proses penciptaan kelas baru dengan mewarisi karakteristik dari kelas

    yang telah ada, ditambah dengan karakteristik unik dari kelas baru tersebut. Dalam hirarki kelas,

    jika kelas C merupakan turunan kelas B, dan kelas B merupakan turunan kelas A, maka otomatis

    attribute dan method kelas A juga diwariskan kelas C. Setiap subclass akan mewarisi state (

    variabel-variabel ) dan behaviour ( method-method ) dari superclass-nya. Subclass kemudian

    dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi (

    override )state danbehaviour yang diturunkan olehsuperclass-nya.

    Keuntungan dari inheritance adalah :

    Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan

    superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang

    source code darisuperclass yang telah ada.

    Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik,

    yang disebut abstract class, untuk mendefinisikan class denganbehaviour dan state

    secara umum. Kemudahan dalam me-manage kelas yang memiliki data dan method yang sama

    Untuk memodifikasi suatu data atau method untuk semua subkelas / kelas anak, maka

    tidak perlu melakukan perubahan di masing-masing kelas anak melainkan hanya pada

    kelas induk saja.

    Istilah dalam inheritance yang perlu diperhatikan :

    Extends

    Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.

    Superclass

    Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari

    subclass/class anak.

    Subclass

    Subclass adalah class anak atau turunan secara hirarki dari superclass.

    Secara umum bentuk deklarasi dalam kkonsep pewarisan adalah sebagai berikut :

  • 7/25/2019 4 Encapsulation Inheritance Polimorfisme

    4/9

    Pemograman Berorientasi Objek

    Disusun Oleh : Sukma Murdani, S.Kom 4

    Untuk lebih memahami marilah Kita lihat contoh berikut :

    Selain dua contoh di atas, Kita juga bisa mengurutkan hasil keluaran dari array. Berikut

    contoh codingnya :

    C. PENGENALAN METHOD

    Method merupakan aksi-aksi dan perilaku yang bisa dilakukan oleh suatu Objek. Di

    dalam Java, kita dapat mendefinisikan banyak method yang akan kita panggil dari method yang

    berbeda. Sebuah method adalah bagian-bagian kode yang dapat dipanggil oleh program utama

    atau dari method lainnya untuk menjalankan fungsi yang spesifik.

    Dari contoh program di atas dapat Kita lihat adanya pemanggilan java.util.* hal ini

    bertujuan untuk pemanggilan fungsi sortir data. Selain itu fungsi length yang Kita defenisikan di

    atas bertujuan untuk mengukur panjang dari indeks array.

    D. ARRAY MULTIDIMENSI

    Setelah memahami apa itu array dimensi satu, sekarang Kita akanmembahasa array

    multidimensi. Pada dasarnya array mulitidimensi merupakan array dari array. Atau index array

    ;

    ;

    2;

    ;

    ;

    /** */

    ()

    = "";

    = "";

    2 = "";

    = "";

    = 0;

    ( , A, A2, ,

    )

    = ;

    = A;

    2 = A2;

    = ;

    = ;

    ( )

    = ;

    A ( A)

    = A;

    A2 ( A2)

    2 = A2;

    ( )

    = ;

    ( )

    = ;

  • 7/25/2019 4 Encapsulation Inheritance Polimorfisme

    5/9

    Pemograman Berorientasi Objek

    Disusun Oleh : Sukma Murdani, S.Kom 5

    Dari Contoh 2 di atas dapat Kita lihat bahwa untuk elemen indeks array pada dimensi ke

    2 (kolom) merupakan array kosong.

    Kelas Komunitas di atas adalah merupakan kelas induk yang kemudian bisa diakses oleh

    kelas anak mana saja. Berikut salah contoh kelas anak yang mengakses kelas Komunitas.

    ()

    ;

    A ()

    ;

    A2 ()

    2;

    ()

    ;

    ()

    ;

    ()

    =

    " : "+ + ""+

    "A 1 : "+ + ""+

    "A 2 : "+ 2 + ""+

    " : "+ + ""+

    " : "+ + "";

    ;

    ()

    = (" , ."," A","

    B","",25);

    ..(" :");

    ..();

    ( )

    ();

  • 7/25/2019 4 Encapsulation Inheritance Polimorfisme

    6/9

    Pemograman Berorientasi Objek

    Disusun Oleh : Sukma Murdani, S.Kom 6

    Pada Contoh 3 di atas Kita menggunakan komponen Swing sebagai media input nilai

    baris pada array. Dan isi dari elemen array tersebut berupa tanda baca dengan tipe string.

    B;

    ;

    ;

    /** */ ()

    ();

    B = "";

    = "";

    = "";

    ( , A, A2, ,

    , B, , )

    (, A, A2, , );

    B = B;

    = ;

    = ;

    B ( B)

    B = B;

    B ()

    B;

    ( ) = ;

    ()

    ;

    ( )

    = ;

    ()

    ;

  • 7/25/2019 4 Encapsulation Inheritance Polimorfisme

    7/9

    Pemograman Berorientasi Objek

    Disusun Oleh : Sukma Murdani, S.Kom 7

    Dari contoh Program di atas terlihat bahwa class Mahasiswamewarisi seluruh sifat yang

    ada pada class Komunitas.

    C. POLYMORPHISM

    Polymorphism dapat diartikan sebagai memiliki banyak bentuk. Dua objek atau lebih

    dikatakan sebagaipolymorphic bila kedua objek tersebut mempunyai antarmuka identik namun

    mempunyai perilaku yang berbeda. Dalam pemrograman, polimorfisme dapat diartikan sebagai

    modul yang memiliki nama sama, namun memiliki behaviour (tingkah laku) yang berbeda

    sehingga listing code implementasinya juga berbeda.

    Kondisi yang harus dipenuhi supayapolimorfisme dapat diimplementasikan adalah :

    Method yang dipanggil harus melalui variabel dari basis class atau superclass.

    Method yang dipanggil harus juga menjadi method dari basis class.

    Signature method harus sama baik pada superclass maupun subclass.

    Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.

    Untuk dapat memahami metodepolimorfismemarilah Kita lihat contoh Script di bawah

    ini :

    ()

    =

    " : "+ + ""+

    "A 1 : "+ + ""+

    "A 2 : "+ 2 + ""+

    " : "+ + ""+" : "+ + ""+

    " : "+ B + ""+

    " : "+ + ""+

    " : "+ ;

    ;

    ()

    = (" B"," A","

    B","",20,"10007"," 1"," ");

    ..(" B :");..();

    ( )

    ();

  • 7/25/2019 4 Encapsulation Inheritance Polimorfisme

    8/9

    Pemograman Berorientasi Objek

    Disusun Oleh : Sukma Murdani, S.Kom 8

    Contoh 1 :

    B

    ;

    ;

    B()

    "B ";

    ();

    B B

    B( 1, 1)

    . = 1;

    . = 1;

    B()

    "B B ";

    ()

    *;

    B

    ( 2, 2)

    . = 2;

    . = 2;

    B()

    "B ";

    ()

    .*./2;

    B(B )

    ..(.B() + " " +.());

    ( )

    B = B(10,10); = (5,10);

    B();

    B();

  • 7/25/2019 4 Encapsulation Inheritance Polimorfisme

    9/9

    Pemograman Berorientasi Objek

    Disusun Oleh : Sukma Murdani, S.Kom 9

    Contoh 2 :

    ()

    (" , ");

    ()

    ("...............");

    ()

    (".....A ...");

    ()

    (".... ..!!");

    ( )

    = ();

    = ();

    = ();

    = ();

    = 4;

    0 = ;

    1 = ;

    2 = ;

    3 = ;

    ..(""+0.());

    ..(" "+1.());

    ..(" "+2.());

    ..("A...!! "+3.());