Laporan _2_Pemrograman Berorientasi Object

download Laporan _2_Pemrograman Berorientasi Object

of 14

Transcript of Laporan _2_Pemrograman Berorientasi Object

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    1/14

    Vehicle1.java

    public class vehicle1 {

    private double load, maxload;

    public vehicle1(double max){

    this.maxload = max;

    }

    public double getLoad(){

    return this.load;

    }

    public double getMaxLoad(){

    return this.maxload;

    }

    public boolean addBox(double weight){

    double temp = 0.00;

    temp = this.load + weight;

    if(temp

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    2/14

    TestVehicle1.java

    public class TestVehicle1 {

    public static void main(String[] args) {

    System.out.println("Creating a vehicle with a 10,000 kg maximum load.");

    vehicle1 vehicle = new vehicle1(10000);

    System.out.println("Add box #1 (500kg) : "+ vehicle.addBox(500));

    System.out.println("Add box #2 (250kg) : "+ vehicle.addBox(250));

    System.out.println("Add box #3 (5000kg) : "+ vehicle.addBox(5000));

    System.out.println("Add box #4 (4000kg) : "+ vehicle.addBox(4000));

    System.out.println("Add box #5 (300kg) : "+ vehicle.addBox(300));

    System.out.println("Vehicle load is "+ vehicle.getLoad()+"kg");

    }

    }

    PERTANYAAN

    1. Method yang menjadi accessor (getter) adalah getLoad dan getMaxLoad

    2. Output dari program adalah hasil true atau false dari berat vehicle yang bila

    10000 maka bernilai true, tetapi bila 10000 maka akan bernilai false.

    Penambahan box #1bernilai true karena load = 500kg 10000

    Penambahan box #2 bernilai true karena load = 750kg 10000

    Penambahan box #3 bernilai true karena load = 5750kg 10000

    Penambahan box #4 bernilai true karena load = 9750kg 10000

    Penambahan box #5 bernilai false karena load = 10050kg 10000

    Sehingga total load vehicle adalah 9750kg

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    3/14

    3. Menambahkan source kode di bawah baris ke-6 pada class TestVehicle1.java

    System.out.println("Add load (100kg) : "+ (vehicle.load=500));

    public class TestVehicle1 {

    public static void main(String[] args) {

    System.out.println("Creating a vehicle with a 10,000 kg maximum load.");

    vehicle1 vehicle = new vehicle1(10000);

    System.out.println("Add load (100kg) : "+ (vehicle.load=500));

    System.out.println("Add box #1 (500kg) : "+ vehicle.addBox(500));

    System.out.println("Add box #2 (250kg) : "+ vehicle.addBox(250));

    System.out.println("Add box #3 (5000kg) : "+ vehicle.addBox(5000));

    System.out.println("Add box #4 (4000kg) : "+ vehicle.addBox(4000));

    System.out.println("Add box #5 (300kg) : "+ vehicle.addBox(300));

    System.out.println("Vehicle load is "+ vehicle.getLoad()+"kg");

    }

    }

    Program bila dijalankan akan error. Karena mengakses vehicle.load yang

    memiliki modifier private.

    4. Mengubah tipe data load dan maxload pada class vehicle1 menjadi public

    public class vehicle1 {

    public double load, maxload;

    public vehicle1(double max){

    this.maxload = max;

    }

    public double getLoad(){

    return this.load;

    }

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    4/14

    public double getMaxLoad(){

    return this.maxload;

    }

    public boolean addBox(double weight){

    double temp = 0.00;

    temp = this.load + weight;

    if(temp

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    5/14

    perhitungan load akan bertambah karena adanya default load yaitu sebesar

    500kg

    sehingga perhitungan load menjadi 500 + berat box

    Penambahan box #1 bernilai true karena load = 1000kg 10000

    Penambahan box #2 bernilai true karena load = 1250kg 10000

    Penambahan box #3 bernilai true karena load = 6250kg 10000

    Penambahan box #4 bernilai false karena load = 10250kg 10000

    Penambahan box #5 bernilai true karena load = 6550kg 10000

    Sehingga total load vehicle adalah 6550kg

    b. Menambahkan source kode di bawah baris ke-12 pada class

    TestVehicle1.java

    System.out.println("Add load (100kg) : "+ (vehicle.load=500));

    public class TestVehicle1 {

    public static void main(String[] args) {

    System.out.println("Creating a vehicle with a 10,000 kg maximum

    load.");

    vehicle1 vehicle = new vehicle1(10000);

    System.out.println("Add box #1 (500kg) : "+ vehicle.addBox(500));

    System.out.println("Add box #2 (250kg) : "+ vehicle.addBox(250));

    System.out.println("Add box #3 (5000kg) : "+ vehicle.addBox(5000));

    System.out.println("Add box #4 (4000kg) : "+ vehicle.addBox(4000));

    System.out.println("Add box #5 (300kg) : "+ vehicle.addBox(300));

    System.out.println("Add load (100kg) : "+ (vehicle.load=500));

    System.out.println("Vehicle load is "+ vehicle.getLoad()+"kg");

    }}

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    6/14

    Perhitungan load tidak menggunakan default load sebesar 500kg

    Penambahan box #1 bernilai true karena load = 500kg 10000

    Penambahan box #2 bernilai true karena load = 750kg 10000

    Penambahan box #3 bernilai true karena load = 5750kg 10000

    Penambahan box #4 bernilai false karena load = 9750kg 10000

    Penambahan box #5 bernilai true karena load = 10050kg 10000

    Tetapi terdapat nilai default load sebesar 500kg

    Sehingga total load vehicle adalah 500kg

    5. Mengubah tipe data load dan maxload pada class vehicle1 menjadi protected

    public class vehicle1 {

    protected double load, maxload;

    public vehicle1(double max){

    this.maxload = max;

    }

    public double getLoad(){

    return this.load;

    }

    public double getMaxLoad(){

    return this.maxload;

    }

    public boolean addBox(double weight){

    double temp = 0.00;

    temp = this.load + weight;

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    7/14

    if(temp

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    8/14

    Penambahan box #3 bernilai true karena load = 6250kg 10000

    Penambahan box #4 bernilai false karena load = 10250kg 10000

    Penambahan box #5 bernilai true karena load = 6550kg 10000

    Sehingga total load vehicle adalah 6550kg

    b. Menambahkan source kode di bawah baris ke-12 pada class

    TestVehicle1.java

    System.out.println("Add load (100kg) : "+ (vehicle.load=500));

    public class TestVehicle1 {

    public static void main(String[] args) {

    System.out.println("Creating a vehicle with a 10,000 kg maximum

    load.");

    vehicle1 vehicle = new vehicle1(10000);

    System.out.println("Add box #1 (500kg) : "+ vehicle.addBox(500));

    System.out.println("Add box #2 (250kg) : "+ vehicle.addBox(250));

    System.out.println("Add box #3 (5000kg) : "+ vehicle.addBox(5000));

    System.out.println("Add box #4 (4000kg) : "+ vehicle.addBox(4000));

    System.out.println("Add box #5 (300kg) : "+ vehicle.addBox(300));

    System.out.println("Add load (100kg) : "+ (vehicle.load=500));

    System.out.println("Vehicle load is "+ vehicle.getLoad()+"kg");

    }

    }

    Perhitungan load tidak menggunakan default load sebesar 500kg

    Penambahan box #1 bernilai true karena load = 500kg 10000

    Penambahan box #2 bernilai true karena load = 750kg 10000

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    9/14

    Penambahan box #3 bernilai true karena load = 5750kg 10000

    Penambahan box #4 bernilai false karena load = 9750kg 10000

    Penambahanbox #5 bernilai true karena load = 10050kg 10000

    Tetapi terdapat nilai default load sebesar 500kg

    Sehingga total load vehicle adalah 500kg

    Hasil percobaan a dan b akan sama dengan percobaan pada no 4 karena

    access modifier protected dapat diakses dari package dan sub class.

    Sehingga class Testvehicle1 masih dapat mengakses atribut load dan

    maxload pada class vehicle1.

    6. . Mengubah tipe data load dan maxload pada class vehicle1 menjadi default

    public class vehicle1 {

    double load, maxload;

    public vehicle1(double max){

    this.maxload = max;

    }

    public double getLoad(){

    return this.load;

    }

    public double getMaxLoad(){

    return this.maxload;

    }

    public boolean addBox(double weight){

    double temp = 0.00;

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    10/14

    temp = this.load + weight;

    if(temp

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    11/14

    Penambahan box #2 bernilai true karena load = 1250kg 10000

    Penambahan box #3 bernilai true karena load = 6250kg 10000

    Penambahan box #4 bernilai false karena load = 10250kg 10000

    Penambahan box #5 bernilai true karena load = 6550kg 10000

    Sehingga total load vehicle adalah 6550kg

    b. Menambahkan source kode di bawah baris ke-12 pada class

    TestVehicle1.java

    System.out.println("Add load (100kg) : "+ (vehicle.load=500));

    public class TestVehicle1 {

    public static void main(String[] args) {

    System.out.println("Creating a vehicle with a 10,000 kg maximum

    load.");

    vehicle1 vehicle = new vehicle1(10000);

    System.out.println("Add box #1 (500kg) : "+ vehicle.addBox(500));

    System.out.println("Add box #2 (250kg) : "+ vehicle.addBox(250));

    System.out.println("Add box #3 (5000kg) : "+ vehicle.addBox(5000));

    System.out.println("Add box #4 (4000kg) : "+ vehicle.addBox(4000));

    System.out.println("Add box #5 (300kg) : "+ vehicle.addBox(300));

    System.out.println("Add load (100kg) : "+ (vehicle.load=500));

    System.out.println("Vehicle load is "+ vehicle.getLoad()+"kg");

    }

    }

    Perhitungan load tidak menggunakan default load sebesar 500kg

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    12/14

    Penambahan box #1 bernilai true karena load = 500kg 10000

    Penambahan box #2 bernilai true karena load = 750kg 10000

    Penambahan box #3 bernilai true karena load = 5750kg 10000

    Penambahan box #4 bernilai false karena load = 9750kg 10000

    Penambahan box #5 bernilai true karena load = 10050kg 10000

    Tetapi terdapat nilai default load sebesar 500kg

    Sehingga total load vehicle adalah 500kg

    Hasil percobaan a dan b akan sama dengan percobaan pada no 4 karena

    access modifier default (no modifier) dapat diakses dari dalam package.

    Sehingga class Testvehicle1 masih dapat mengakses atribut load dan

    maxload pada class vehicle1.

    KESIMPULAN

    Enkapsulasi adalah menyembunyikan informasi detail terhadap object.Enkapsulasi tidak memberikan akses secara langsung kepada class lain atau

    program lain kecuali melalui method yang diberikan.

    Penyembunyian informasi berkaitan dengan access modifier, yaitu privateyang hanya dapat diakses oleh class itu sendiri, public yang dapat diakses

    darimana pun, protected yang dapat diakses dari dalam class itu sendiri,

    package dan dari sub class, dan default atau tidak bermodifier yang hanya

    dapat diakses di dalam package saja dan class itu sendiri.

    Accessor Method (getter) adalah method yang berfungsi untuk mengaksesdata.

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    13/14

    Mutator method (setter) adalah method yang berfungsi untuk memberikannilai ke suatu data.

  • 8/2/2019 Laporan _2_Pemrograman Berorientasi Object

    14/14