13216 3 enkapsulasi

Post on 20-Jul-2015

58 Views

Category:

Engineering

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pemrograman Berorientasi Objek

Oleh :

Novri Hadinata,S.kom., M.Kom

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.

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.

Enkapsulasipublic class Siswa{

public int nim;

public String nama;

public void Info() {

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

}

}

Bagaimana mengakses anggota-anggota class Siswa?

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.

Enkapsulasipublic class Siswa{

private int nim;

public String nama;

public void Info() {

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

}

}

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;

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.

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”);}

}

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)

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

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;}

}

Construktor Siswa TA = new Siswa(5);

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

nim=n;}

}

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;}

}

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.

Package Misalnya saja kita mempunyai 2 buah class Siswa,

class Siswa untuk mahasiswa jurusan IT

class Siswa untuk mahasiswa Telkom.

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.

Package

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.

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

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

import it.*;

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

Kata Kunci this Nilai variabel n pada parameter konstruktor itu akan

dipakai untuk menginisialisasi nim atau umur?

nim nim

nim

Kata Kunci this

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

this.nim= nim;}

}

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;}

}

top related