Objek
Enkapsulasi
Dr. R. Teduh Dirgahayu
teduh.dirgahayu@uii.ac.id
Teknik Informatika, Universitas
Islam Indonesia
Agenda
Paket
Enkapsulasi
14 November
2016
Tujuan pertemuan
Mahasiswa memahami dan dapat
melakukan implementasi berikut di
Java
Pengelompokan kelas dalam paket
Enkapsulasi
14 November
2016
Paket (package)
Sistem dapat terdiri dari banyak
kelas
Perlu organisasi kelas, dalam bentuk
paket
Pengelompokan
berdasar
kesamaan
B
E
F
A
14 November
2016
Pemodelan
Dengan kelas
Aturan penulisan di
Java:
nama paket diawali
huruf kecil
pakai
an
Celan
anggotanya
Kaus
a
pakaian
14 November
2016
public Kaus() {
}
Kaus
warna
:
String
strip :
Kaus()
String
tampil() :
String
String tampil() {
return "kaus " + this.warna + " strip " + this.strip;
}
}
14 November
2016
Celana
warna :
String
Celana()
{
String warna;
tampil() :
String
public Celana() {
}
String tampil() {
return "celana " + this.warna;
}
}
14 November
2016
Kelas
Buat paket
14 November
2016
Tulis nama
paket
Terbentuk
paket baru
14 November
2016
Masukkan kelas
Kaus ke paket
Tambah
pakaian baris ini,
lalu
kompilasi
package pakaian;
public class Kaus
{
String warna;
String strip;
...
}
14 November
2016
10
11
Seragam
Di paket pakaian
package pakaian;
public class Seragam
{
Kaus kaus;
Celana celana;
kaus : Kaus
celana : Celana
Seragam (kaus : Kaus,
celana : Celana)
tampil() : String
test() Metode
kelas
untuk tes
12
14 November
2016
13
14 November
2016
14
Enkapsulasi
(pembungkusan)
Tidak semua atribut/metode boleh diakses
secara bebas
Contoh:
Jika warna kaus putih, strip harus hitam
Jika warna kaus tidak putih, strip harus putih
Nilai atribut strip bergantung pada nilai
atribut warna (strip tidak oleh diubah secara
bebas)
Atribut diberi access modifier: private
14 November
2016
15
Kaus
14 November
2016
warna : String
-strip : String
tampil() : String
setWarna(warna :
String)
Perubahan
warna akan
mengubah strip
16
14 November
2016
17
14 November
2016
Kelas
Seragam
tidak bisa
dikompilasi!
Menga
Atribut strip
pa?
pada objek
Kaus tidak bisa
diakses.
Apa
Strip
sebabn
adalah
ya?
atribut
private.
Pemrograman Berorientasi Objek
18
Kelas Seragam
public static void test() {
Kaus k = new Kaus();
k.setWarna("putih");
Set warna
kaus, strip
menyesuaika
n
14 November
2016
Kompilasi
dan
panggil
test()
19
Kelas Seragam
public static void test() {
Kaus k = new Kaus();
k.setWarna("putih");
Tidak
boleh
!
Set atribut
warna
secara
langsung
14 November
2016
Kompilasi
dan
panggil
test()
20
private String
14 November
2016
Kaus
-warna : String
-strip : String
tampil() : String
setWarna(warna :
String)
Kompilasi Kaus
Perbaiki
Seragam.test()
warna;
Kompilasi
Seragam
Pemrograman Berorientasi Objek
Panggil
21
Atribut private
Tidak bisa ditulis atau dibaca dari
luar kelas
Pembacaan nilai atribut pun harus
melalui metode
Kaus
-warna : String
String getWarna() {
-strip : String
return this.warna;
tampil() : String
}
setWarna(warna :
String getStrip() {
String)
return this.strip;
}
getWarna() : String
14 November
Pemrograman Berorientasi Objek
2016
getStrip() : String 22
Penulisan = setAtribut
(parameter : tipe)
getter= getAtribut () : tipe
Pembacaan
14 November
2016
23
import paket.kelas;
import paket.*;
14 November
2016
Impor semua
kelas dalam
paket
Pemrograman Berorientasi Objek
24
Klub
nama : String
seragam : Seragam
Klub (nama : String)
setSeragam(seragam :
Seragam)
tampil() : String
14 November
2016
25
Impor semua
kelas dalam
paket pakaian
import pakaian.*;
public class Klub
{
String nama;
Seragam seragam;
public Klub(String nama) {
this.nama = nama;
}
Setter
26
Kelas Klub
tidak bisa
dikompilas
i!
Metode tampil()
pada objek
Seragam tidak
bisa diakses.
Kelas
Seragam
pada paket
yang
Pemrograman Berorientasi Objek
berbeda.
27
Tanda
plus
(+)
kaus : Kaus
celana : Celana
Seragam (kaus : Kaus,
celana : Celana)
+tampil() : String
test()
14 November
2016
28
Klub
nama : String
seragam : Seragam
Klub (nama : String)
setSeragam(seragam :
Seragam)
tampil() : String
test()
Metode
kelas
untuk tes
14 November
2016
29
14 November
2016
30
14 November
2016
31
No
modifier
No
modifier
14 November
2016
Celana
+warna :
String
tampil() :
String
32
Seragam
kaus : Kaus
celana : Celana
Seragam (kaus : Kaus,
celana : Celana)
+tampil () : String
...
14 November
2016
Akses bisa
dilakukan.
Kelas Seragam,
Kaus dan Celana
berada di paket
Pemrograman Berorientasi Objek
yang sama
33
Ada 1 kolom
lagi:
subclass.
Access modifier
Modifier
Private
No modifier
(default)
Public
Kelas
yang
sama
Paket
yang
sama
: bisa diakses
14 November
2016
Univers
e (luar
paket)
Ada 1 baris
lagi:
protected.
34
Enkapsulasi = pembungkusan
Menyembunyikan
atribut/metode objek agar tidak
bisa diakses secara bebas
Menyediakan akses terhadap
atribut/metode secara terkendali
14 November
2016
35
PR (kelompok seperti
sebelumnya)
Lakukan pemrograman seperti pada
slide ini.
Buat projek dengan nama : NIM1NIM2
Zip folder projek
: NIM1-NIM2.zip
Kirim di Klasiber.
Tugas tidak dinilai jika tidak
sesuai instruksi tersebut.
17 Oktober
2016
36
Rangkuman
Paket (package)
Enkapsulasi
14 November
2016
37