-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTriangle.java
More file actions
50 lines (43 loc) · 1.45 KB
/
Triangle.java
File metadata and controls
50 lines (43 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public class Triangle extends Shape {
// Memiliki 3 point
// Pre-kondisi semua point tidak berada pada titik yang sama dan tidak segaris
public Triangle(Point[] p){
size = 3;
this.p = p;
}
// Menghasilkan true jika segitiga yang dibentuk adalah segitiga sama sisi
public boolean isSamaSisi(){
return (
( ( p[0].distance(p[1]) ) == ( p[1].distance(p[2]) ) ) &&
( ( p[1].distance(p[2]) ) == ( p[2].distance(p[0]) ) )
);
}
// Menghasilkan true jika segitiga yang dibentuk adalah segitiga sama kaki
public boolean isSamaKaki(){
if (!(isSamaSisi())) {
return (
( ( p[0].distance(p[1]) ) == ( p[1].distance(p[2]) ) ) ||
( ( p[1].distance(p[2]) ) == ( p[2].distance(p[0]) ) ) ||
( ( p[2].distance(p[0]) ) == ( p[0].distance(p[1]) ) )
);
} else {
return false;
}
}
// Melakukan implementasi fungsi keliling
public double keliling(){
return ((p[0].distance(p[1])) + (p[1].distance(p[2])) + (p[2].distance(p[0])));
}
// Mencetak segitiga ke layar
// Jika koordinat segitiga adalah (3,0), (0,4), dan (0,0), maka hasilnya adalah sebagai berikut
// (3,0)
// (0,4)
// (0,0)
// segitiga
public void print(){
System.out.println("(" + p[0].getAbsis() + "," + p[0].getOrdinat() + ")");
System.out.println("(" + p[1].getAbsis() + "," + p[1].getOrdinat() + ")");
System.out.println("(" + p[2].getAbsis() + "," + p[2].getOrdinat() + ")");
System.out.println("segitiga");
}
}