24
Pemrograman Berorientasi Objek Oleh : Novri Hadinata,S.kom., M.Kom

13216 3 enkapsulasi

Embed Size (px)

Citation preview

Page 1: 13216 3 enkapsulasi

Pemrograman Berorientasi Objek

Oleh :

Novri Hadinata,S.kom., M.Kom

Page 2: 13216 3 enkapsulasi

Konsep

Enkapsulasi memiliki arti mengelompokkan programkedalam satu unit sehingga program menjadi mudahdigunakan.

Mampu menangani berbagai input yang diberikan danmenghasilkan output yang benar.

Melindungi program dari pengaksesan variabel kritisoleh proses atau perubahan oleh programer selamatahap pembangunan program.

Page 3: 13216 3 enkapsulasi

Manfaat

Modularitas

Source code dari sebuah class dapat dikelola secaraindependen dari source code class yang lain.Perubahan internal pada sebuah class tidak akanberpengaruh bagi class yang menggunakannya.

Information Hiding

Penyembunyian informasi yang tidak perlu diketahuiobjek lain.

Page 4: 13216 3 enkapsulasi

Enkapsulasipublic class Siswa{

public int nim;

public String nama;

public void Info() {

System.out.println(“Mahasiswa UIN”);

}

}

Bagaimana mengakses anggota-anggota class Siswa?

Page 5: 13216 3 enkapsulasi

Enkapsulasipublic class IsiData{public static void main(Stringargs[]) {Siswa TI09=new Siswa();TI09.nim=5;TI09.nama=”Andi”;TI09.Info();}}

•Bagaimana menyembunyikan information dari suatu classsehingga anggota-anggota class tersebut tidak dapat diakses dariluar?•Dengan memberikan akses control private ketika mendeklarasikan suatu atribut atau method.

Page 6: 13216 3 enkapsulasi

Enkapsulasipublic class Siswa{

private int nim;

public String nama;

public void Info() {

System.out.println(“Lagi kuliah PBO”);

}

}

Page 7: 13216 3 enkapsulasi

Enkapsulasi public class IsiData{

public static void main(Stringargs[]) {

Siswa TI09 =new Siswa();

TI09.nim=5;

TI09.nama=”Andi”;

TI09.Info();

}

}

HasilRuning?Hallo.java:4: nim has private access in Siswa TI09.nim=5;

Page 8: 13216 3 enkapsulasi

Enkapsulasi Misal: NIM dari siswa-siswa TI09 : range 1-10.

Jika NIM tidak dienkapsulasi :

–Siswa dapat memasukkan sembarang nilai, sehinggaperlu melakukan penyembunyian informasi(information hiding) thd atribut nim, sehingga nimtidak bisa diakses secara langsung.

Lalu, kalau atribut nim tersebut disembunyikan,bagaimana cara mengakses atribut nim itu untukmemberikan atau mengubah nilai?.

–Perlu suatu interface untuk mengakses data, yangberupa method dimana didalamnya terdapatimplementasi untuk mengakses data nim.

Page 9: 13216 3 enkapsulasi

Enkapsulasipublic class Siswa{

private int nim;public String nama; public void isiNim(int n) {

if (n>=1 &&n<=10)nim=n;

ElseSystem.out.println("Error...!!");

}public void Info() {

System.out.println(“Saya Mhs UIN”);}

}

Page 10: 13216 3 enkapsulasi

Construktor Adalah suatu method yang pertama kali dijalankan

pada saat pembuatan suatu obyek. Konstruktor mempunyai ciri yaitu:

–mempunyai nama yang sama dengan nama class

–tidak mempunyai modifier (seperti void, int, double dll)

Page 11: 13216 3 enkapsulasi

ConstruktorSetiap class pasti mempunyai konstruktor.

•Jika kita membuat suatu class tanpa menuliskan konstruktornya , maka kompiler dari Java akan menambahkan sebuah konstruktor kosong.

•Kompiler Java akan menambahkan konstruktor kosong

Page 12: 13216 3 enkapsulasi

Construktor Karena konstruktor adalah method yang pertama kali

dijalankan pada saat suatu obyek dibuat, makakonstruktor sangat berguna untuk menginisialisasidata member.

public class Siswa{private int nim;public Siswa() {

nim=0;}

}

Page 13: 13216 3 enkapsulasi

Construktor Siswa TA = new Siswa(5);

public class Siswa{private int nim;public Siswa(int n) {

nim=n;}

}

Page 14: 13216 3 enkapsulasi

Overloading Constructor Suatu class dapat mempunyai lebih dari 1 konstruktor

dengan syarat daftar parameternya tidak boleh ada yang sama.

public class Siswa{private int nim;public Siswa() {

nim=0;}public Siswa(int n) {

nim=n;}

}

Page 15: 13216 3 enkapsulasi

Package Package adalah suatu cara untuk memenej class-class

yang kita buat.

Package akan sangat bermanfaat jika class-class yang kita buat sangat banyak sehingga perlu dikelompokkan berdasarkan kategori tertentu.

Page 16: 13216 3 enkapsulasi

Package Misalnya saja kita mempunyai 2 buah class Siswa,

class Siswa untuk mahasiswa jurusan IT

class Siswa untuk mahasiswa Telkom.

Page 17: 13216 3 enkapsulasi

Package Pada saat deklarasikan package, class tersebut harus

disimpan pada suatu direktori yang sama dengan nama package-nya.

Berkenaan dengan class Siswa diatas, class Siswa pada package it harus disimpan direktori it, dan class Siswa pada package telkom harus disimpan direktori telkom.

Page 18: 13216 3 enkapsulasi

Package

Page 19: 13216 3 enkapsulasi

Import class Suatu class dapat meng-import class lainnya sesuai

dengan nama package yang dipunyainya.

Misalnya saja kita dapat meng-import class Siswa.java dalam package it dengan mendeklarasikan kata kunci import.

Page 20: 13216 3 enkapsulasi

Import class Jika kita ingin meng-import semua class yang ada pada

package it, maka kita dapat mendeklarasikannya dengan menuliskan tanda *.

import it.*;

Page 21: 13216 3 enkapsulasi

Kata Kunci this

Kata kunci this sangat berguna untuk menunjukkan suatu member dalam class-nya sendiri. This dapat digunakan baik untuk data member maupun untuk function member, serta dapat juga digunakan untuk konstruktor.

–this.data_member >> merujuk pada data member

–this.function_member() >> merujuk pada function member

–this() >> merujuk pada konstruktor

Page 22: 13216 3 enkapsulasi

Kata Kunci this Nilai variabel n pada parameter konstruktor itu akan

dipakai untuk menginisialisasi nim atau umur?

nim nim

nim

Page 23: 13216 3 enkapsulasi

Kata Kunci this

public class Siswa{private int nim;private int umur;public Siswa(int nim){

this.nim= nim;}

}

Page 24: 13216 3 enkapsulasi

Kata Kunci thisThis dapat juga dipakai untuk memanggil

konstruktor yang lain pada class yang bersangkutan.

public class Siswa{private int nim;public Siswa() {

this(0);}

public Siswa(int n) {nim=n;}

}