13216 3 enkapsulasi
-
Upload
universitas-bina-darma-palembang -
Category
Engineering
-
view
57 -
download
3
Transcript of 13216 3 enkapsulasi
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;}
}