Anda di halaman 1dari 5

Latihan 2

a. Source Code Bus.Java

package bus;

public class Bus {


private int penumpang;
private int maxPenumpang;

//konstruktor 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. Jalankan file UjiBus.java. keluaran program adalah

c. Berikan penjelasan point b


Pada saat kelas UjiBus dijalankan menghasilkan keluaran berupa beberapa error. Hal ini
disebabkan karena pada kelas Bus telah dilakukan beberapa perubahan yaitu pengubahan
public menjadi private pada variable penumpang dan maxPenumpang dalam kelas Bus
sehingga pada kelas UjiBus tidak dapat dijalankan. Oleh karena itu agar kelas UjiBus
dapat dijalankan diperlukan sebuah method mutator yang diletakkan pada kelas Bus
sehingga pada variable penumpang yang diprivate dapat dijalankan pada method
addPenumpang dan tidak terjadi suatu kondisi overload pada variabel penumpang.
d. Ubah class UjiBus menjadi berikut:
package bus;

public class UjiBus {


public static void main(String [] args){
//membuat objek busMini dari kelas Bus
Bus busBesar = new Bus(40);
busBesar.cetak();

//penambahkan penumpang
busBesar.addPenumpang(15);//menambahkan 15 penumpang
busBesar.cetak();

//penambahan penumpang
busBesar.addPenumpang(5);//menambahkan 5 penumpang
busBesar.cetak();

//penamban penumpang
busBesar.addPenumpang(26);//menambahkan 26 penumpang
busBesar.cetak();
}
}

e. Jalankan kembali class Ujibus, Output dari program adalah :

f. Kesimpulan dan Analisis


Pada program diatas terdapat dua kelas yaitu kelas Bus dan kelas Ujibus. Dalam kelas
Bus menggunakan tipe kelas public yang dapat diakses oleh kelas lain. Sementara pada
variable penumpang dan maxPenumpang menggunakan private. Yang mana variable ini
tidak dapat diakses oleh kelas lain. Sehingga harus digunakan method baru yang bertipe
mutator. Dalam program kelas Bus terdapat satu konstruksi yang bernama Bus dan method
mutator yang dibuat diberi nama addPenumpang. Dalam program diatas menampilkan
penumpang bus sekarang dan penumpang maksimum. Pada penumpang sekarang
menampilkan 0 dan penumpang maksimumnya 40. Jika dilakukan penambahan
penumpang maka tampilan penumpang sekarang akan bertambah. Dalam program
ditentukan penambahan pertama 15, kemudian ditambah 5 dan ditambah 26. Jika dalam
kondisi hasil akhir penambahan sama dengan 46 maka akan muncul pada cetakan
penumpang melebihi kuota.
Kesimpulannya pada program ini menggunakan suatu metode enkapsulasi dimana
suatu variable dalam kelas dibuat private yang artinya disembunyikan sehingga tidak dapat
diakses oleh kelas lain kecuali menggunakan suatu method mutator atau aseor untuk
mengaksesnya.

Tugas Rumah
Buatlah sebuah class “Bola” dengan property jari-jari dan method setJarijari(),
showDiameter(), showLuasPermukaan(), dan showVolume(). Gunakan double untuk presisi
variable jari-jari dan gunakan library math class untuk menggunakan constanta Math.PI.
Selanjutnya buatlah file testnya dengan urutan langkah, membuat variable Jarijari,
menciptakan objek Bola, memanggil method showDiameter(), showLuasPermukaan(), dan
showVolume(). Selanjutnya memanipulasi objek yang telah dibuat dengan memanggil
method setJarijari() dengan menggunakan variable Jarijari yang telah dibuat. Tampilkan lagi
hasilnya dengan menggunakan method showDiameter(), showLuasPermukaan(), dan
showVolume(). (Jangan lupa untuk menggunakan konsep enkapsulasi)
Kode Program Class Bola
package bola;

import java.lang.Math;
public class Bola{
private double jarijari;
public Bola(double jarijari){
this.jarijari=jarijari;
}

public void setJarijari(double jarijari){


this.jarijari=jarijari;
}

public void showDiameter(){


System.out.println("Diameter Bola : "+2*jarijari);
}

public void showVolume(){


System.out.println("Luas Permukaan Bola :
"+(4/3*Math.PI*Math.pow(jarijari,3)));
}
public void showLuasPermukaan(){
System.out.println("Volume Bola : "+(4*Math.PI*Math.pow(jarijari,2)));
}
}
Kode Program Class TesBola
package bola;

public class TestBola {


public static void main(String[]args){
double Jarijari=14;
Bola objekbola=new Bola(7);

objekbola.showDiameter();
objekbola.showLuasPermukaan();
objekbola.showVolume();
System.out.println("\n\n");

objekbola.setJarijari(Jarijari); //manipulasi dengan variabel jari-jari yang


dibuat
objekbola.showDiameter();
objekbola.showLuasPermukaan();
objekbola.showVolume();
}
}

Output Program

Analisis :
Pada program diatas terdapat dua kelas yaitu kelas Bola dan TestBola. Dua kelas ini
digunakan untuk menghitung luas permukaan bola dan volume bola dengan menggunakan
metode enkapsulasi. Pada kelas bola terdapat syntax import java.lang.Math yang berfungsi
untuk mencari pehitungan secara matematis. Kelas Bola menggunakan modifier public dan
terdapat atribut variable pada jari-jari yang menggunakan private yang tidak dapat diakses
oleh kelas lain keculai menambahkan method asesor atau mutator. Dalam kelas TestBola
ditentukan nilai jari-jari = 14 menggunakan fungsi Set (objekbola.setJarijari(Jarijari);.
Sehingga nilai jari-jari nantinya diubah menjadi 14. Kelas TestBola berfungsi untuk
memanggil method-method yang ada pada kelas Bus. Yaitu method ShowDiameter untuk
menampilkan nilai diameter bola, method ShowLuasPermukaan untuk menampilkan Luas
Pemukaan bola dan method ShowVolume untuk menampilkan volume bola. Untuk
menghitung luas permukaan bola dengan rumus 4.phi.r2 dan untuk menghitung volume bola
dengan rumus 4/3.phi.r3. sehingga didapatkan hasil yang sesuai.

Anda mungkin juga menyukai