Top Banner
LAPORAN IV PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berbasis Objek Yang Dibimbing oleh Heru Wahyu Herwanto, S.T., M.KOM Asisten Praktikum: Ruth Ema Febrita Muhammad Arifin Oleh: DAVID AULIYA RAHMAN 110533430648 S1 PTI 2011 offering E UNIVERSITAS NEGERI MALANG
16

LAPORAN 4 PBO

Aug 04, 2015

Download

Documents

Welcome message from author
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
Page 1: LAPORAN 4 PBO

LAPORAN IV

PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berbasis Objek Yang

Dibimbing oleh Heru Wahyu Herwanto, S.T., M.KOM

Asisten Praktikum:

Ruth Ema Febrita

Muhammad Arifin

Oleh:

DAVID AULIYA RAHMAN

110533430648

S1 PTI 2011 offering E

UNIVERSITAS NEGERI MALANG

FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

S1 PENDIDIKAN TEKNIK INFORMATIKA

November, 2012

Page 2: LAPORAN 4 PBO

Laporan IV

“ Encapsulation”

A. Tujuan

Mahasiswa mampu memahamai dan menggunakan konsep Encapsulation dalam

pemrograman java.

B. Dasar Teori

1. Encapsulation(Enkapsulasi)

Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga

suatu proses program agar tidak dapat diakses secara sembarangan atau di

intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk

menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga

program tersebut.

Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari

akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat

menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang

sudah ditentukan dari awal.

Dua hal yang mendasar dalam enkapsulasi, yakni :

a. 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.

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 di gunakan untuk mengubah atau memberi nilai variable

pada class, baik berupa instance maupun static.

Page 3: LAPORAN 4 PBO

Dalam sebuah class terdapat property dan method yang memiliki hak akses

tertentu terhadap environment/lingkungan-nya, hak akses ini biasa di sebut Access

Modifier, access modifier terdiri dari private, protected, dan public.

1. Private

memberikan hak akses hanya kepada anggota class tersebut untuk

menggunakan dan/atau mengubah nilai dari property atau method tersebut.

2. Protected

memberikan hak akses kepada anggota class nya dan anggota class hasil

inheritance (penurunan sifat) dari class tersebut.

3. Public memberikan hak akses kepada property dan method agar dapat

digunakan diluar class tersebut

C. Latihan

1. Latihan 1

a. Source Code 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. Source Code UjiBus.java

public class UjiBus{public static void main (String[]arg){

// membuat obyek bus mini dari kelas busBus busMini= new Bus();//memasukkan nilai jumlah penumpang dan penumpang maksimal ke//dalam objek busMinibusMini.penumpang = 5;busMini.maxpenumpang = 15;//memanggil method cetak pada kelas BusbusMini.cetak();

//menambahkan penumpang pada busMinibusMini.penumpang = busMini.penumpang + 5;//memanggil method cetak pada kelas BusbusMini.cetak();

//mengurangi jumlah penumpang pada busMinibusMini.penumpang=busMini.penumpang - 2;busMini.cetak();

//menambah jumlah penumpang pada busMinibusMini.penumpang=busMini.penumpang + 8;busMini.cetak();}}

Page 4: LAPORAN 4 PBO

c. Output

d. Jumlah maksimal penumpang adalah 15 penumpang.

jumlah penumpang yang terakhir 16,karena tidak ada batasan penumpang

masuk.

2. Latihan 2

a. Source Code Bus.java

public class Bus{private int penumpang;private int maxPenumpang;

// konstruktir kelas buspublic Bus(int maxPenumpang){

this.maxPenumpang = maxPenumpang;penumpang = 0;

}

//methd mutator untuk menambahkan penumpangpublic 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);}

}

Page 5: LAPORAN 4 PBO

b. Output Program

c. Penjelasan Point b

Program error karena tipe variable bus private, tidak bisa diakses dari luar class

tersebut.

d. Source Code UjiBus.java yang sudah di ubah

public class UjiBus{public static void main(String[]arg){

//membuat objek busbesar dari class BusBus busBesar = new Bus(40);busBesar.cetak();

//penambahan penumpangbusBesar.addPenumpang(15);//menambahkan 15 penumpangbusBesar.cetak();

//penambahan penumpangbusBesar.addPenumpang(5);//menambahkan 5 penumpangbusBesar.cetak();

//Penambahan penumpangbusBesar.addPenumpang(26);//menambahkan 26 penumpangbusBesar.cetak();}

}

Page 6: LAPORAN 4 PBO

e. Output Program

f. Kesimpulan

Dari data diatas diperoleh kesimpulan penumpang bus maksimal 40 jadi

apabila melebihi 40 maka aka nada tanda peringatan

3. Latihan 3

a. Source Code Bus.java

public class Bus{private int penumpang;private int maxPenumpang;private int penumpangBaru;

//konstruktor kelas Buspublic Bus(int maxPenumpang){this.maxPenumpang=maxPenumpang;penumpang=0;}

//method mutator untuk menambahkan penumpangpublic void addPenumpang(int penumpang){int temp;temp =this.penumpang+penumpang;if(temp>=maxPenumpang){

System.out.println("penumpang melebihi kuota");}else{

this.penumpang=temp;}}

//method untuk pengisian passwordpublic void getPenumpang(int penumpangBaru){if(penumpangBaru==123){

addPenumpang(10);}else{

System.out.println("Password salah");}}

public void cetak(){System.out.println("Penumpang Bus sekarang adalah " +

penumpang);System.out.println("Penumpang maksimum seharusnya adalah : " +

maxPenumpang);}

}

Page 7: LAPORAN 4 PBO

b. Souce Code UjiBus.java

public class UjiBus{public static void main (String[]args){

// membuat obyek bus besar dari kelas busBus busBesar= new Bus(40);busBesar.cetak();

//menambahkan penumpang pada BusBesarbusBesar.getPenumpang(123);busBesar.cetak();

//menambahkan penumpang pada BusBesarbusBesar.getPenumpang(123);busBesar.cetak();

//menambahkan penumpang pada BusBesarbusBesar.getPenumpang(1234);busBesar.cetak();

//menambahkan penumpang pada BusBesarbusBesar.getPenumpang(12345);busBesar.cetak();}

}

c. Output Program

D. Tugas Praktikum

a. Souce Code Bus.java

public class Bus{private double penumpang;private double maxPenumpang;private int password;private double counter;

//konstruktor kelas Buspublic Bus(double maxPenumpang){this.maxPenumpang = maxPenumpang;penumpang = 0;counter = 0;}

//method mutator untuk menambahkan penumpangpublic void addPenumpang(double penumpang){

Page 8: LAPORAN 4 PBO

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

}

public void getPenumpang(int password, double penumpang){int pass=123;if (pass==password){

this.penumpang=this.penumpang+penumpang;this.counter++;

}else{System.out.println("pasword salah");addPenumpang(0);}

}

public void getAverage(){

double rata=this.penumpang/this.counter;System.out.println("Rata-rata penumpangnya adalah :

"+rata);}

public void cetak(){

System.out.println("Penumpang Bus sekarang adalah : "+penumpang);

System.out.println("Penumpang maksimum seharusnya adalah : "+ maxPenumpang);

System.out.println("---------------------------------------------------");

}}

b. Source Code UjiBus.java

public class UjiBus{public static void main(String[] args){

Bus busBesar = new Bus(40);busBesar.cetak();

busBesar.addPenumpang(0);busBesar.getPenumpang(123, 10);busBesar.cetak();System.out.println("----------------");

busBesar.getPenumpang(123, 8);busBesar.cetak();

busBesar.getPenumpang(123, 10);busBesar.cetak();

busBesar.getPenumpang(1234, 7);busBesar.cetak();busBesar.getAverage();}

}

Page 9: LAPORAN 4 PBO

c. Output Program

E. Tugas Rumah

1. Tugas rumah 1

a. Source Code 1

import java.text.DecimalFormat;

class Bola{private double jari2;

public void setjari2(double jari){this.jari2=jari;}

public double showDiameter(){double diameter=this.jari2*2;return diameter;}

public double showLuasPermukaan(){double luas = Math.PI*(4*(jari2*jari2));return luas;}

public double showVolume(){double volume = Math.PI*((4*(jari2*jari2*jari2))/3);return volume; }

public void cetak(){DecimalFormat df = new DecimalFormat(".##");

System.out.println("-------------------------");System.out.println(" Bola ");System.out.println("-------------------------");System.out.println(" Jari - jari : "+

(df.format(this.jari2)));System.out.println(" Diameter : "+

(df.format(showDiameter())));

Page 10: LAPORAN 4 PBO

System.out.println(" Luas Permukaan : "+(df.format(showLuasPermukaan())));

System.out.println(" Volume : "+(df.format(showVolume())));

}}

b. Source Code 2

class UjiBola{

public static void main(String[]args){double jarijari=7;Bola operasi = new Bola();

operasi.setjari2(jarijari);operasi.showDiameter();operasi.showLuasPermukaan();operasi.showVolume();operasi.cetak();}

}

c. Output Program

d. Penjelasan

Program diatas merupakan program untuk menampilkan diameter,jari-jari,luas

permukaan dan volume dari bola tersebut.

Program ini tidak menggunakan inputan akan tetapi nilai ditulis langsung

dalam script program tersebut.

2. Tugas rumah 2

a. Source Code 1

class Cetak{ private String name,pengarang,penerbit; private int harga,stok;

public void setname(String name) { this.name = name; } public String getname() { return this.name; }

public void setpengarang(String pengarang)

Page 11: LAPORAN 4 PBO

{ this.pengarang = pengarang; } public String getpengarang() { return this.pengarang; }

public void setpenerbit(String penerbit) { this.penerbit = penerbit; } public String getpenerbit() { return this.penerbit; }

public void setharga(int harga) { this.harga = harga; } public int getharga() { return this.harga; }

public void setstok(int stok){

this.stok = stok;}public int getstok(){

return this.stok;}

public void tampil() {

System.out.println("----------------------------");System.out.println(" Nama Barang : "+getname());System.out.println(" Pengarang : "+getpengarang());System.out.println(" Penerbit : "+getpenerbit());

System.out.println(" Harga : "+getharga());System.out.println(" Stok : "+getstok());

}}

b. Source Code 2

public class TestCetak{ public static void main(String[]args) { String name="History of Naruto";

String pengarang="Uzumaki Naruto";String penerbit="Uchiha Book";int harga = 5000,stok=4;

Cetak barang = new Cetak();

System.out.println(" Nama Barang :"+name); barang.setname(name);

System.out.println(" Nama Pengarang:"+pengarang);

barang.setpengarang(pengarang);

System.out.println(" Penerbit:"+penerbit);

barang.setpenerbit(penerbit);

Page 12: LAPORAN 4 PBO

System.out.println(" Harga :"+harga); barang.setharga(harga);

System.out.println(" Stok :"+stok); barang.setstok(stok);

barang.tampil(); }

}

c. Output Program

d. Penjelasan

Program diatas merupakan program percetakan buku dimana terdapat nama

barang,harga,jumlah dan stoknya

Dimana program ini tidak menggunakan inputan jadi data yang ada

didalamnya telah dimasukkan dari awal

Page 13: LAPORAN 4 PBO

F. Kesimpulan

Setelah memahami dan melakukan percobaan/memprogram secara langsung tentang

konsep “Encapsulation”, maka dapat diperoleh kesimpulan berikut ini:

Encapsulation adalah proses menyembunyikan detil implementasi sebuah objek atau pembungkusan attribut (field atau variabel) dan tingkah laku (metode) di dalam sebuah kelas.

Dalam sebuah class terdapat property dan method yang memiliki hak akses tertentu terhadap environment/lingkungan-nya, hak akses ini biasa di sebut Access Modifier, access modifier terdiri dari private, protected, dan public.

4. Privatememberikan hak akses hanya kepada anggota class tersebut untuk menggunakan dan/atau mengubah nilai dari property atau method tersebut.

5. Protectedmemberikan hak akses kepada anggota class nya dan anggota class hasil inheritance (penurunan sifat) dari class tersebut.

6. Public memberikan hak akses kepada property dan method agar dapat digunakan diluar class tersebut.

G. Daftar Rujukan

Modul Praktikum Pemrograman Berbasis Objek Tentang Encapsulation Tahun

2012

http://setyonugroho09.wordpress.com/2010/02/17/konsep-

enkapsulasiencapsulation-pada-object-oriented-programming-dengan-java/

http://kadavi19.wordpress.com/2010/07/11/encapsulation-pada-java/

http://harrach.wordpress.com/pemograman-java/encapsulation/