LAPORAN PRATIKUM IV PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK “ENCAPSULATION” Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berorientasi Objek Yang Dibimbing oleh Bapak Heru Wahyu Herwanto, S.T., M.Kom Asisten Praktikum: Jevri Tri Ardiansyah Robi Wahyudi Oleh: Gisra Rahmadhita 130533608259 S1 PTI 2013 Offering B UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO S1 PENDIDIKAN TEKNIK INFORMATIKA OKTOBER, 2014
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
LAPORAN PRATIKUM IV
PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
“ENCAPSULATION”
Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berorientasi Objek
Yang Dibimbing oleh Bapak Heru Wahyu Herwanto, S.T., M.Kom
Asisten Praktikum: Jevri Tri Ardiansyah
Robi Wahyudi
Oleh: Gisra Rahmadhita
130533608259 S1 PTI 2013 Offering B
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO
S1 PENDIDIKAN TEKNIK INFORMATIKA OKTOBER, 2014
“Encapsulation”
A. TUJUAN
1. Mahasiswa mampu memahami dan menggunakan konsep Encapsulation dalam
pemrograman java.
2. Mendefinisikan method assessor dan mutator
3. Menerapkan konsep penyembunyian data
4. Menerapkan enkapsulasi dalam pemrograman berbasis objek
B. DASAR TEORI
1. Encapsulation(Enkapsulasi)
Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari
suatu class.Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat
mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya
metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap
objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat
berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung
kepada representasi dalam objek tersebut.
Berikut ini keuntungan dari prinsip encapsulation :
Bersifat independen. Suatu modul yang terenkapsulasi dengan baik akan bersifat
independen dari yang lain. Sehingga dapat digunakan pada bagian manapun dari
program.
Bersifat transparan. Jika Anda melakukan modifikasi pada suatu modul, maka
perubahan tersebut akan dirasakan oleh semua bagian yang menggunakan modul
tersebut.
Menghindari dari efek yang diluar perencanaan. Modul yang terenkapsulasi dengan
baik hanya akan berinteraksi dengan bagian program melalui variable input dan
output yang telah didefinisikan sebelumnya. Sehingga dapat mengurangi
Adalah proses yang menyembunyikan informasi dari suatu class sehingga
class tersebut tidak dapat diakses dari luar. Yaitu dengan memberikan akses
kontrol “private” ketika mendeklarasikan atribut atau method.
b. Interface to Acces data
Adalah cara melalukan perubahan terhadap atribut yang di information
hiding yaitu dengan membuat suatu interface berupa method untuk
menginisialisasi atau merubah nilai dari suatu atribut tersebut.
2. Mutator dan Accessor method
a. Accessor Methods
Digunakan untuk membaca nilai variabel pada class, baik berupa instance
maupun static.
b. Mutator Methods
Digunakan untuk mengubah atau memberi nilai variable pada class, baik
berupa instance maupun static.
C. LATIHAN
1. Latihan 1
Bus
- penumpang : int - maxPenumpang : int
+ cetak()
a. Script class Bus.java
public class Bus {
public int penumpang;
public int maxPenumpang;
public void cetak(){
System.out.println("Penumpang Bus sekarang adalah
"+penumpang);
System.out.println("Penumpang maksimum seharusnya
adalah "+maxPenumpang);
}
}
b. Script class UjiBus.java
public class UjiBus {
public static void main(String[] args){
//membuat objek busMini dari kelas Bus
Bus busMini =new Bus();
//memasukkan nilai jumlah penumpang dan penumpang maksimal
ke dalam
//objek busMini
busMini.penumpang =5;
busMini.maxPenumpang =15;
//memanggil method cetak pada kelas Bus
busMini.cetak();
//menambahkan penumpang pada busMini
busMini.penumpang = busMini.penumpang +5;
//memanggil method cetak pada kelas Bus
busMini.cetak();
//mengurangi jumlah penumpang pada busMini
busMini.penumpang = busMini.penumpang -2;
busMini.cetak();
//menambahkan jumlah penumpang pada busMini
busMini.penumpang = busMini.penumpang +8;
busMini.cetak();
}
}
c. Output program hasil kompilasi
d. Perhatikan jumlah penumpang Bus terakhir dengan jumlah
penumpang maksimum. Mengapa bisa demikian?
Pada program menampilkan penumpang yang overload karena pada
penjumlahan penumpang tidak ada kondisi untuk membatasi jumlah
penumpang. Karena dari hasil penjumlahan statement kedua ialah 8. Dan
nilai 8 dijumlahkan 8 maka akan menghasilkan nilai 16, karena pada
statement ke 4 berisi penumpang sekarang dijumlahkan 8 nilainya. Hal
inilah yang mengakibatkan bus overload.
e. Deskripsi Program
Dalam program terjadi kelebihan nilai pada variabel penumpang karena
tidak adanya metode untuk membatasi kelas lain (UjiBus) untuk mengelola
variabel penumpang sehingga dapat mengubah nilai sembarangan pada
atribut penumpang pada kelas Bus. Selain itu, karena tipe variabel tersebut
public, sehingga dapat diakses oleh kelas lain.
2. Latihan 2
Bus
- penumpang : int - maxPenumpang : int
+ Bus(maxPenumpang : int)
+ addPenumpang(penumpang : int) + cetak()
a. Script class Bus.java
public class Bus {
Private int penumpang;
Private int maxPenumpang;
//konstruksi kelas Bus
public Bus(int maxPenumpang){
this.maxPenumpang = maxPenumpang;
penumpang =0;
}
//method mutator untuk menambahkan penumpang
public void addPenumpang(int penumpang){
int temp;
temp =this.penumpang+penumpang;
if(temp >= maxPenumpang){
System.out.println("Penumpang melebihi kuota");
}else{
this.penumpang = temp;
}
}
Public void cetak(){
System.out.println("Penumpang Bus sekarang adalah
"+penumpang);
System.out.println("Penumpang maksimum seharusnya adalah
"+maxPenumpang);
}
}
b. Output Program (diakses dari UjiBus)
c. Beri Penjelasan point b!
Saat kelas UjiBus dijalankan, maka akan terdapat beberapa error. Karena
variable penumpang dan maxPenumpang di kelas Bus telah dirubah menjadi private, maka kelas UjiBus tidak dapat secara langsung merubah nilai dari variable private tersebut. Maka dari itu diperlukan method
mutator pada kelas Bus untuk dapat mengakses variabel yang diprivate (method addPenumpang) sekaligus memberikan kondisi agar tidak terjadi