LAPORAN 4 ENKAPSULASI PBO PEMROGRAMAN

LAPORAN IV
PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berorientasi Objek
Yang Dibimbing oleh Bapak Heru Wahyu Herwanto, S.T., M.Kom
Asisten Praktikum :
Roby Wahyudi
Jevri T.A

Oleh :

Ananda Putri Syaviri
130533608243
S1 PTI 2013 offering B

UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
S1 PENDIDIKAN TEKNIK INFORMATIKA
Oktober, 2014

LAPORAN KE-4

”ENCAPSULATION”
A. TUJUAN
Mahasiswa mampu memahamai dan menggunakan konsep Encapsulation dalam
pemrograman java.
B. DASAR TEORI
a. Encapsulation(Enkapsulasi)
Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari
suatu class. Dua hal yang mendasar dalam enkapsulasi, yakni :
b. Information Hiding
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.
c. 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.
d. Mutator dan Accessor method


Accessor Methods digunakan untuk membaca nilai variabel pada class, baik

berupa instance maupun static.



Mutator Methods di gunakan untuk mengubah atau memberi nilai variable pada
class, baik berupa instance maupun static.

C. LATIHAN
 Latihan 1

:

Screenshoot syntax :

Screenshoot Jawaban :

Keterangan

:


Dalam kelas Bus :
- terdapat method cetak
- terdapat deklarasi variable penumpang dan maxPenumpang bertipe integer.
Dalam kelas UjiBus :
- terdapat menu utama yang didalamnya terdapat :
Deklarasi pembuatan objek baru yaitu busMini dengan memasukkan nilai jumlah
penumpang dan penumpang maksimal serta pemanggilan method cetak yang ada pada
kelas Bus. Penambahan penumpang pada busMini serta pemanggilan method cetak pada
kelas Bus. Pengurangan penumpang apabila penumpang yang naik melebihi batas yang
telah dideklarasikan pada objek busMini. Penambahan jumlah penumpang (total
penumpang yang naik) serta pemanggilan method cetak pada kelas Bus.


Analisis perbandingan jumlah penumpang Bus terakhir dengan jumlah penumpang
maksimum. Mengapa bisa demikian?
Program diatas pada dasarnya hanya mencetak nilai variable (sebagai angka penumpang)
yang telah dideklarasikan , tidak berfungsi untuk menghitung atau menenetukan batas
maximal penumpang yang akan naik. Alur prosesnya hanya menambahkan penumpang ,
sudah ada angka batas maksimum tetapi tidak berfungsi untuk pembatasan dalam artian
penumpang tidak boleh naik apabila penumpang dalam bus sudah melampaui batas max

yang telah dideklarasikan, sehingga tidak dapat membatasi penumpang yang akan naik bus,
hanya sebagai pendeklarasian bahwa bus tersebut batas maksimum penumpang adalah 15.

 Latihan 2

:

Screenshoot syntax :

Screenshoot Jawaban :

Keterangan :
Dalam kelas Bus 2 :
- terdapat method cetak
- method getPenumpang untuk mengambil nilai
- method mutathor dengan kata kunci "add" untuk menambahkan penumpang.
- terdapat konstruktor kelas Bus
- terdapat pendeklarasian variabel bertipe int ( penumpang, maxPenumpang) yang
bersifat private.
Dalam kelas UjiBus2 :


- terdapat fungsi utama yang didalamnya pendeklarasian pembuatan objek baru untuk
menambahkan kuota
penumpang dalam bus "busBesar".
terdapat fungsi penambahan penumpang untuk menambahkan 15, 5, 26 penumpang
serta pemanggilan method cetak pada kelas Bus2.
Penjelasan dari UjiBus 2 :
Membuat objek baru dengan nama busBesar dengan kuota 40, cetak nilai awal,
dengan kondisi penumpang sekarang = 0 dan maxPenumpang = 40. Kemudian
dengan fungsi penambahan penumpang bernilai 15, maka + 15, jadi 0+15=15,
sehingga penumpang menjadi = 15 dan maxPenumpang tetap karena masih
dibawah batas nilai yaitu 40. Kemudian penambahan penumpang sebanyak 5,
maka +5 sehingga 15+5=20, penumpang sekarang = 20 dan maxPenumpang
tetap. Fungsi terkahir penambahan penumpang sebanyak 26, maka + 26,
menghasilkan 20+26 = 46 (20 adalah jumlah penumpang terakhir setelah
dilakukan penambahan pada fungsi kedua sebanyak 5 penumpang). Jumlah yang
dihasilkan melebihi maxPenumpang yang ditentukan yaitu 40, maka program
mencetak “Penumpang melebihi kuota” yang sebelumnya dideklarasikan pada
kelas Bus2, dan akan mencetak nilai yang terakhir sebelum 26 ditambahkan
yaitu penumpang sekarang = 20 dan maxPenumpangnya tetap.

Analisis perbedaan latihan 1 dan latihan 2:
Perbedaannya : terletak pada eksekusi maks penumpang.
Jika pada latihan 1 hanya mendeklarasikan tanpa melakukan pembatasan, pada
latihan 2 terdapat pengkondisian jika jumlah penumpang ( total penumpang
dalam bus) melebihi batas maxPenumpang maka akan muncul pemberitahuan
“Penumpang melebihi kuota”,

 Latihan 3

Screenshoot syntax

:

:

import java.io.*;
public class Bus3 {
private int penumpang;
private int maxPenumpang;
private int penumpangbaru;

private int password;
public static String bacainputan()
{
String baca= " ";
InputStreamReader input = new InputStreamReader
(System.in);
BufferedReader buf = new BufferedReader (input);
try
{

baca = buf.readLine();
}
catch ( IOException e )
{
System.out.println("Error!");
}
return baca;
}
//konstruktor kelas Bus
public Bus3(int maxPenumpang)

{
this.maxPenumpang = maxPenumpang;
penumpang = 0;
}
public void cetak()
{
System.out.println("Penumpang Bus yang baru ditambahkan
= "+this.penumpangbaru);
System.out.println("Penumpang Bus Sekarang adalah
"+this.penumpang);
System.out.println("Penumpang maksimum "+maxPenumpang);
}
public void getPenumpang(int password)
{
System.out.println("Enter Password");
password=Integer.parseInt(bacainputan());
if (password==1103)
{
System.out.println("Datanya adalah : ");
}

else
{
System.out.println("Password salah ");
System.out.println("Enter Password");
password=Integer.parseInt(bacainputan());
}
}
public void addPenumpang(int penumpang){
int temp;
penumpangbaru=penumpang;

}

temp= this.penumpang+penumpang;
if(temp>=maxPenumpang){
System.out.println("Penumpang melebihi kouta");
}
else{
this.penumpang=temp;
}


}

Screenshoot Jawaban :

Keterangan

:

Dalam kelas Bus3 :
-

Terdapat import java.io.* yang berfungsi sebagai fungsi inputan sehingga
nanti saat program dieksekusi berfungsi untuk menginputkan data secara
manual melalui keyboard.

-

Terdapat pendeklarasian variable bertipe int ( penumpang, maxPenumpang,
penumpangbaru, password).


-

Terdapat method bacainputan bertipe string.

-

Terdapat kostruktor kelas Bus3.

-

Method cetak, getPenumpang dengan pengaplikasian password,
addPenumpang(menambahkan penumpang).

Dalam kelas UjiBus3 :

-

Terdapat fungsi utama yang didalamnya terdapat :
* pendeklarasian pembuatan objek baru bernama busBesar dengan kuota
penumpang 40 yang dideklarasikan dalam kurung “(40)”.
* pendeklarasian fungsi addPenumpang, getPenumpang dengan nilai kuota
yang berbeda ( menambah dan mengubah nilai)
busBesar.addPenumpang(15);
busBesar.getPenumpang(123);
busBesar.cetak();
busBesar.addPenumpang(5);
busBesar.getPenumpang(123);
busBesar.cetak();
busBesar.addPenumpang(26);
busBesar.getPenumpang(123);
busBesar.cetak();
busBesar.addPenumpang(26);
busBesar.getPenumpang(444);
busBesar.cetak();

D. TUGAS PRAKTIKUM
 Tugas 1 :

Syntax

:

public class UjiBus4 {
public static void main(String[]args){
//membuat objek busBesar dari class Bus

Bus4 busBesar = new Bus4(40);

busBesar.getPenumpang(15);
busBesar.getPenumpang(5);
busBesar.getPenumpang(26);
busBesar.getAverage();
}
}

Screenshoot hasil :

Keterangan

:

Dalam kelas Bus4 :
- Terdapat pendeklarasian variable bertipe int ( penumpang, maxPenumpang,
penumpangbaru)
double(counter).
- Terdapat konstruktor Bus4
- Terdapat method mutator addPenumpang (menambah) dan getPenumpang
(mengambil nilai) dengan adanya pengkondisian jika kondisi salah atau benar.
- Terdapat method getAverage untuk menghitung rata- rata jumlah penumpang
yang ditambahkan.
- Terdapat method cetak
Dalam kelas UjiBus4:
-

Terdapat fungsi utama yang didalamnya terdapat pendeklarasian pembuatan
objek baru “busBesar” dan pemanggilan fungsi getPenumpang dengan nilai
kuota yang berbeda (15,5,26) dan getAverage yang ada pada kelas Bus4.

E. TUGAS RUMAH
1) Program Tabung

Syntax

:

Tabung.java
public class Tabung {
private double jarijari;
private double tinggi;
public void setJarijari(double jari)
{
this.jarijari = jari;
}
public void setTinggi(double tinggi)
{
this.tinggi = tinggi;
}
//method untuk menampilkan Diameter
public void showDiameter()
{
double Diameter = this.jarijari * 2;
System.out.println("Diameter
"+Diameter);
}

=

//method untuk menampilkan LuasPermukaan
public void showLuasPermukaan()
{
double LuasPermukaan = 2 * Math.PI *
this.jarijari * (this.jarijari + this.tinggi);
System.out.println("Luas Permukaan Tabung=
"+ LuasPermukaan);
}
//method untuk menampilkan Volume
public void showVolume()
{
double Volume = Math.PI * this.jarijari *
this.jarijari * this.tinggi;
System.out.println("Volume Tabung
=
"+ Volume);
}
public void cetak()
{
System.out.println("Jari-jari
"+this.jarijari);
System.out.println("Tinggi
"+this.tinggi);
}

=
=

public class UjiTabung
{
public static void main(String[] args)
{
//membuat objek baru TabungKecil
Tabung TabungKecil = new Tabung();
//mengatur jari-jari dan tinggi
TabungKecil.setJarijari(10);
TabungKecil.setTinggi(5);
//memanggil showDiameter,
showLuasPermukaan, showVolume
System.out.println("\nTabung Kecil");
TabungKecil.cetak();
TabungKecil.showDiameter();
TabungKecil.showLuasPermukaan();
TabungKecil.showVolume();
//membuat objek baru TabungBesar
Tabung TabungBesar = new Tabung();
//mengatur jari-jari dan tinggi
TabungBesar.setJarijari(20);
TabungBesar.setTinggi(10);
//memanggil showDiameter,
showLuasPermukaan, showVolume
System.out.println("\nTabung Besar");
TabungBesar.cetak();
TabungBesar.showDiameter();
TabungBesar.showLuasPermukaan();
TabungBesar.showVolume();
}
}

Screenshoot jawaban :

Keterangan
Dalam kelas Tabung :

:

-

Terdapat pendeklarasian variable bertipe double dengan private (jarijari,
tinggi).

-

Terdapat method setJarijari ( mengubah nilai).

-

Terdapat method showDiameter (menampilkan diameter).

-

Terdapat method showLuasPermukaan (menampilakn luas permukaan).

-

Method showVolume( menampilkan volume).

-

Method cetak.

Dalam kelas UjiTabung :
-

Terdapat fungsi utama yang didalamnya terdapat pendeklarasian pembuatan
objek baru “TabungKecil”.

-

Fungsi untuk mengatur jajrijari dan tinggi .

-

Pemanggilan fungsi untuk menampilkan diameter, luas permukaan, volume
pada pengapplikasian TabungKecil.

-

Pendeklarasian pembuatan objek baru “TabungBesar”.

-

Pemanggilan fungsi untuk menampilkan diameter, luas permukaan, volume
pada pengapplikasian TabungBesar.

2) Program
Syntax

:

Screenshoot jawaban :
Keterangan
F.

:

KESIMPULAN:
1. Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class
2. Methode Accecor untuk membaca nilai yang diberikan sedangkan Methode Mutator untuk
mengatur nilai yang diberikan
3. Metodhe Accecor dan Mutator digunakan apabila variabel yang ada di class induk bersifat
private, jadi untuk mengakses variabel yang private itu digunakanlah methode accecor
dan methode mutator
4. Nama pada metode accecor tidak hanya get, namun boleh diberi nama terserah si pembuat
program, begitu juga dengan nama metode mutator, tidak hanya set tapi boleh diganti
sesuai selera para pembuat program namun yang perlu diperhatikan adalah fungsi dari
kedua methode tersebut, jadi boleh mengganti namanya asalkan paham apa fungsi dari
kedua methode tersebut

5. Kalau kita ingin mengatur inputan user dengan konsep enkapsulasi, kita bisa meminta
bantuan scanner untuk memasukkan data.
6. Apabila kita telah mengatur, misalnya panjang, maka panjang akan muncul sesuai dengan
apa yang telah kita atur, namun apabila kita mengatur kembali panjang tersebut maka
yang akan muncul adalah pengaturan yang terbaru, begitu seterusnya sampai pengaturan
itu selesai.

G. DAFTAR PUSTAKA


Tim Asisten Dosen. 2014. Modul 4 ENCAPSULATAION .Malang: Universitas
Negeri Malang.