0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan13 halaman

PBO Modul2

Dokumen ini adalah laporan praktikum mengenai konsep inheritance dalam pemrograman berorientasi objek, yang mencakup pembuatan kelas Shape, Circle, Rectangle, dan Square. Setiap kelas memiliki atribut dan metode yang sesuai, serta kelas testing yang menunjukkan cara penggunaan dan output dari masing-masing kelas. Laporan ini ditulis oleh Mercy F. Liborang dalam konteks Program Studi D-IV Komputasi Statistik di Politeknik Statistika STIS untuk tahun ajaran 2024/2025.

Diunggah oleh

mercyliborang
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan13 halaman

PBO Modul2

Dokumen ini adalah laporan praktikum mengenai konsep inheritance dalam pemrograman berorientasi objek, yang mencakup pembuatan kelas Shape, Circle, Rectangle, dan Square. Setiap kelas memiliki atribut dan metode yang sesuai, serta kelas testing yang menunjukkan cara penggunaan dan output dari masing-masing kelas. Laporan ini ditulis oleh Mercy F. Liborang dalam konteks Program Studi D-IV Komputasi Statistik di Politeknik Statistika STIS untuk tahun ajaran 2024/2025.

Diunggah oleh

mercyliborang
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 13

Laporan Praktikum Modul 2

Inheritance

Dosen Pengampu :

Bapak Ibnu Santoso, SST, MT

Disusun Oleh :

Mercy F. Liborang (222313205)

KELAS 2KS4

PROGRAM STUDI D-IV KOMPUTASI STATISTIK

POLITEKNIK STATISTIKA STIS


TAHUN AJARAN 2024/2025
Laporan Praktikum
Buatlah Kelas dari Class Diagram Berikut ini dan buatlah kelas untuk testingnya

Berdasarkan diagram di atas, terdapat empat kelas, yaitu kelas Shape, Circle, Rectangle, dan
Square. Kelas Shape memiliki dua turunan, yaitu kelas Circle dan kelas Rectangle. Sama halnya
dengan kelas Rectangle yang juga memiliki turunan, yaitu kelas Square. Berikut adalah kelas
beserta kelas testing dan outputnya.
➢ Kelas Shape
public class Shape {
private String color;
private Boolean filled;

public Shape (){//Ketika user tidak menginput apapun


color = "red";// maka secara default sistem akan langsung mengisi color dengan red
filled = true;// dan filled dengan true

1
}

public Shape (String color, Boolean filled){// ketika user menginput color dan filled
this.color = color;// maka nilai yang diinput harus ditransfer ke variabel kelas terlebih
dahulu
this.filled = filled;
}

public String getColor (){


return color;
}

public void setColor (String color){


this.color = color;
}

public Boolean isFilled (){


return filled;
}

public void setFilled (Boolean filled){


this.filled = filled;
}

public String toString(){


return "Shape [color =" + color + ", filled = " + filled + "]";
}

➢ Kelas Circle
public class Circle extends Shape {//extends disini artinya bahwa kelas Circle merupakan
subclass atau anak dari kelas Shape
private Double radius;// variabel radius bersifat private
2
public Circle (){// ketika user tidak menginput apapun
super ();// memanggil variabel pada kelas parent dalam kasus ini berarti variabel di
kelas Shape, yaitu color dan filled
radius = 1.0;// jika tidak ada inputan user, maka sistem akan otomatis membaca bahwa
radius = 1
}

public Circle (Double radius){// ketika user menginputkan besar radius


super ();
this.radius = radius;// maka nilai inputan harus di kirim kembali ke variabel kelas
}

public Circle (Double radius, String color, Boolean filled){// user menginput radius,
color, dan filled
super (color, filled);
this.radius = radius;
}

public Double getRadius(){


return radius;
}

public void setRadius (Double radius){


this.radius = radius;
}

public Double getArea(){// untuk menghitung luas lingkaran


return Math.PI * radius * radius;// math.PI sudah ada di java secara otomatis
}

public Double getPerimeter(){// untuk menghitung keliling lingkaran


return Math.PI * radius * 2;
}
3
public String toString (){
return "Circle [" + super.toString() + ", radius= " + radius + "]";
}

➢ Kelas Rectangle
public class Rectangle extends Shape {// kelas Ractangle merupakan turunan atau anak
dari kelas Shape
private Double width;// yang memiliki width
private Double length;// dan length

public Rectangle (){// ketika user tidak menginput apapun


super ();// memanggil variabel pada kelas parent dalam kasus ini berarti variabel di
kelas Shape, yaitu color dan filled
width = 1.0;// maka sistem secara otomatis akan membaca bahwa width = 1
length = 1.0;// dan length = 1
}

public Rectangle (Double width, Double length){// namun ketika user menginputkan
width dan length
super ();
this.width = width;// maka nilai width
this.length = length;// dan length perlu dikembalikan ke variabel kelas
}

public Rectangle (Double width, Double length, String color, Boolean filled){// ketika
user menginputkan width, length, color, dan filled
super (color,filled);
this.width = width;
this.length = length;
//maka keempat variabel tersebut perlu dikembalikan ke variabel kelas
}

4
public Double getWidth (){
return width;
}

public void setWidth (Double width){


this.width = width;
}

public Double getLength (){


return length;
}

public void setLength (Double width){


this.length = length;
}

public Double getArea(){// untuk menghitung luas persegi panjang


return length * width;
}

public Double getPerimeter(){// untuk menghitung keliling persegi panjang


return 2 * (length + width);
}

public String toString (){


return "Rectangle[ " + super.toString() + ", width= " + width + ", length= " + length +
"]";
}

5
➢ Kelas Square
public class Square extends Rectangle {// merupakan turunan dari kelas Rectangle
// yang memiliki variabel yang sama dengan parentnya, yang pada kasus ini parentnya
adalah kelass Rectangle
public Square (){// ketika user tidak menginput apapun
super (1.0, 1.0);// maka sistem akan dengan otomatis membaca bahwa width dan
lengthnya sesuai dengan default yang ada di kelas parentnya, yaitu 1
}

public Square (Double side){// digunakan ketika user menginput side


super (side, side);// dimana nilai width dan length akan sama dengan nilai side yang
diinput
}

public Square (Double side, String color, Boolean filled){// ketika user menginput, side
sebagai width, side sebagai length, color, dan filled
super (side, side, color,filled);
}

public Double getSide (){


return super.getWidth();//width dan length selalu sama
}

public void setSide (Double side){


super.setWidth(side);//dimana nilai width di set sama dengan side
super.setLength(side);// dan nilai length juga seperti itu
}

public void setWidth (Double side){


setSide(side);
}

public void setLength (Double side){


setSide(side);

6
}

public String toString(){


return "Square[Rectangle[Shape[Color= " + getColor() + ", Filled= " + isFilled() + "],
Width= " + getWidth()+ ", Length= " + getLength()+ "]]";
}

7
➢ Kelas Testing Employee
import java.util.*;

public class Main {


public static void main(String[] args) {
//Menghitung lingkaran
Circle c1 = new Circle();// digunakan ketika user tidak memberikan inputan apapun
System.out.println("Circle: "
+ "Color = " + c1.getColor()
+ ", Filled = " + c1.isFilled()
+ ", Radius = " + c1.getRadius()
+ ", Area = " + c1.getArea()
+ ", Perimeter = " + c1.getPerimeter ());

Circle c2 = new Circle(2.0);// digunakan ketika user memberikan inputan besar radius
System.out.println("Circle: "
+ "Color = " + c2.getColor()
+ ", Filled = " + c2.isFilled()
+ ", Radius = " + c2.getRadius()
+ ", Area = " + c2.getArea()
+ ", Perimeter = " + c2.getPerimeter ());

Circle c3 = new Circle(2.0, "Blue", true);// digunakan ketika user memberikan


inputan besar radius, color, dan filled
System.out.println("Circle: "
+ "Color = " + c3.getColor()
+ ", Filled = " + c3.isFilled()
+ ", Radius = " + c3.getRadius()
+ ", Area = " + c3.getArea()
+ ", Perimeter = " + c3.getPerimeter ());

Circle c4 = new Circle();// digunakan ketika ingin output sesuai dengan format
penulisan di toString

8
System.out.println(c4);

System.out.println("");// hanya sebagai enter


System.out.println("");

//Menghitung Persegi panjang


Rectangle r1 = new Rectangle();// digunakan ketila user tidak memberikan input
apapun
System.out.println("Rectangle: "
+ "Color = " + r1.getColor()
+ ", Filled = " + r1.isFilled()
+ ", Width = " + r1.getWidth()
+ ", Length = " + r1.getLength()
+ ", Area = " + r1.getArea()
+ ", Perimeter = " + r1.getPerimeter ());

Rectangle r2 = new Rectangle(2.0, 3.0);// digunakan ketika user menginput besar


width dan length
System.out.println("Rectangle: "
+ "Color = " + r2.getColor()
+ ", Filled = " + r2.isFilled()
+ ", Width = " + r2.getWidth()
+ ", Length = " + r2.getLength()
+ ", Area = " + r2.getArea()
+ ", Perimeter = " + r2.getPerimeter ());

Rectangle r3 = new Rectangle(3.0, 2.0, "Pink", false);// digunakan ketika user


menginput besar width, length, color, dan filled
System.out.println("Rectangle: "
+ "Color = " + r3.getColor()
+ ", Filled = " + r3.isFilled()
+ ", Width = " + r3.getWidth()
+ ", Length = " + r3.getLength()
+ ", Area = " + r3.getArea()
+ ", Perimeter = " + r3.getPerimeter ());
9
Rectangle r4 = new Rectangle ();//digunakan jika ingin mengikuti format penulisan di
toString
System.out.println(r4);

System.out.println("");// hanya sebagai enter


System.out.println("");

//menghitung persegi
Square s1 = new Square();//Digunakan ketika user tidak memberikan inputan apapun
System.out.println ("Square: "
+ "Color = " + s1.getColor()
+ ", Filled = " + s1.isFilled()
+ ", Width = " + s1.getWidth()
+ ", Length = " + s1.getLength()
+ ", Side = " +s1.getSide());

Square s2 = new Square(2.0);// digunakan ketika user memberikan input side,


// dimana side maksudnya adalah nilai antara width dan length
selalu sama
System.out.println ("Square: "
+ "Color = " + s2.getColor()
+ ", Filled = " + s2.isFilled()
+ ", Width = " + s2.getWidth()
+ ", Length = " + s2.getLength()
+ ", Side = " +s2.getSide());

Square s3 = new Square(3.0, "Brown", true);//digunakan ketika user menginput side,


color, dan filled
System.out.println ("Square: "
+ "Color = " + s3.getColor()
+ ", Filled = " + s3.isFilled()
+ ", Width = " + s3.getWidth()
+ ", Length = " + s3.getLength()
+ ", Side = " +s3.getSide());
10
Square s4 = new Square();// digunakan ketika user ingin output sesuai dengan format
di toString
System.out.println (s4);
}
}

➢ Output

11
12

Anda mungkin juga menyukai