Anda di halaman 1dari 4

MODUL LATIHAN 2 (1, 2, 4 dan 5)

Tentang :
- Class
- Object
- Attribute
- Method
- Setter dan Getter
- Constructor
Dosen : Zaiful Bahri,S.Si.,M.Kom
Jurusan : Jurusan Ilmu Komputer FMIPA Universitas Riau

1. Perhatikan Class Diagram Berikut :

Circle Nama Class


-radius : double = 1.0 ± namaVariabel : Nilai Default
-color : String = "red" - Menyatakan akses private
+Circle() + Menyatakan akses public
+Circle(r:double) ± nama Metode ( nama Param: type. … ) return type
+getRadius() : double
+getArea():double

2. Berikut diberikan class Circle dengan nama file Circle.java.

public class Circle {


private double radius;
private String color;

public Circle() { //Constructor tanpa parameter/default


radius = 1.0;
color = "red";
}
public Circle(double r) { //Constructor dengan parameter
radius = r;
color = "red";
}
public double getRadius() { //ini sebuah getter
return radius;
}
public double getArea() { //ini juga sebuah getter
return radius*radius*Math.PI;
}
}
//Ingat bahwa Constructor tidak punya nilai kembali,
sedangkan //getter harus punya nilai kembali
3. Buatlah sebuah file class TestCircle dengan nama TestCircle.java untuk menghitung
panjang radius(jari-jari) dan luas lingkaran.

4. Pada program main yang ada, pada TestCircle.java buat sebuah instance c1 seperti
berikut :

Circle c1 = new Circle();

5. Tampilkan panjang radius dan luas lingkaran. Gunakan instance c1 untuk memanggil
getRadius() dan getArea().

6. Buat instance c2 pada program TestCircle.java. seperti pada no. 4, dengan parameter
2.0

7. Tampilkan panjang radius dan luas lingkaran.

8. Modifikasi class Circle untuk memasukkan Constructor ketiga dengan dua buah
parameter/argumen satu untuk radius dengan type double dan satu lagi warna dengan
type String.

public Circle(double r, String c){.......}

9. Modifikasi TestCircle.java untuk menyusun sebuah instance Circle baru menggunakan


Constructor no. 8.

10. Tambahkan getter untuk warna variabel untuk mengambil warna.


public String getColor(){.......}

11. Modifikasi program TestCircle.java


12. Jalankan program untuk menguji metode yang sudah ditambahkan.
13. Pada TestCircle.java, dapatkah Anda mengakses radius variabel instan secara
langsung (mis., System.out.println (c1.radius)); atau menetapkan nilai baru ke radius
(mis., c1.radius = 5.0)? Cobalah dan jelaskan pesan kesalahannya.

14. Apakah ada kebutuhan untuk mengubah nilai radius dan warna instance Circle setelah
dibangun? Jika ya, tambahkan dua metode publik yang disebut setter untuk mengubah
jari-jari dan warna instance Circle sebagai berikut:
public void setRadius(double newRadius) {
radius = newRadius;
}
public void setColor(String newColor) { ...... }

15. Ubah TestCircle.java untuk menguji metode ini, mis.,


Circle c4 = new Circle();
c4.setRadius(5.5);
System.out.println("Radius: " + c4.getRadius());
c4.setColor("green");
System.out.println("Warna: " + c4.getColor());

// Anda tidak dapat melakukan hal di bawah ini karena setRadius


()tidak // dapat mengembalikan nilai bertipe void untuk dicetak
System.out.println(c4.setRadius(4.4));

16. Daripada menggunakan nama variabel seperti r (untuk radius) dan c (untuk color)
dalam argumen metode, lebih baik menggunakan radius nama variabel (untuk radius)
dan color (untuk color) dan menggunakan kata kunci khusus "this" untuk
menyelesaikan konflik antara variabel instan dan argumen metode. Sebagai contoh,

private double radius;

public Circle(double radius) {


this.radius = radius;
color = "red";
}
public void setRadius(double radius) {
this.radius = radius;
}

17. Ubah SEMUA konstruktor dan setter di Class Circle untuk menggunakan kata kunci
"this".

18. Setiap class Java yang dirancang dengan baik harus berisi metode publik yang disebut
toString () yang mengembalikan deskripsi instance (dalam tipe pengembalian String).
Metode toString () dapat dipanggil secara eksplisit (via instanceName.toString ()) sama
seperti metode lainnya; atau secara implisit melalui println (). Jika sebuah instance
dilewatkan ke metode println ( sebuah Instance), metode toString () dari instance
tersebut akan dipanggil secara implisit. Misalnya, sertakan metode toString () berikut
ke class Circle:
public String toString() {
return "Circle[radius=" + radius + " color=" + color + "]";
}
19. Coba panggil metode toString () secara eksplisit, sama seperti metode lain:
Circle c5 = new Circle(5.5);
System.out.println(c5.toString());

20. toString () dipanggil secara implisit ketika instance dilewatkan ke metode println (),
misalnya,
Circle c6 = new Circle(6.6);
System.out.println(c6.toString());
System.out.println(c6);
System.out.println("Operator '+' memanggil toString () juga:" + c6);

21. Final Circle dagram adalah sebagai berikut :

Circle Nama Class


-radius : double = 1.0 ± namaVariabel : Nilai Default
-color : String = "red" - Menyatakan akses private
+Circle()
+ Menyatakan akses public
+Circle(radius:double)
+Circle(radius:double,String color) ± nama Metode ( nama Param: type. … ) return type
+getRadius() : double
+getColor():String
+setRadius(radius:double):void
+setColor(color:String):void
+toString():String
+getArea():double

Anda mungkin juga menyukai