-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfigure2d.py
66 lines (60 loc) · 1.53 KB
/
figure2d.py
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import math
class Segitiga:
jumlah_sisi = 3
class Segiempat:
jumlah_sisi = 4
class Samasisi(Segitiga):
def __init__(Self,sisi,tinggi):
self.sisi = sisi
self.tinggi = tinggi
def hitung_luas(self):
luas=float((self.sisi*self.tinggi)/2)
return luas
def hitung_keliling(self):
keliling=self.sisi*3
return keliling
class Samakaki(Segitiga):
def __init__(self,alas,tinggi):
self.alas=alas
self.tinggi=tinggi
def hitung_luas(self):
luas=float((self.alas*self.tinggi)/2)
return luas
def hitung_keliling(self):
sisi_samping = math.sqrt((self.alas**2) + (self.tinggi**2))
keliling = self.alas+(sisi_samping*2)
return keliling
class Persegi(Segiempat):
def __init__(self,panjang,lebar):
self.panjang=panjang
self.lebar=lebar
def hitung_luas(self):
luas = self.panjang*self.lebar
return luas
def hitung_keliling(self):
keliling = (self.panjang*2)+(self.lebar*2)
return keliling
class Trapesium(Segiempat):
def __init__(self,alas,tutup,tinggi):
self.alas=alas
self.tutup=tutup
self.tinggi=tinggi
def htiung_luas(self):
luas = float(((self.alas+self.tutup)*self.tinggi)/2)
return luas
def hitung_keliling(self):
temp = self.alas-self.tutup
temp = float(temp/2)
sisi_samping = ((temp**2)+(self.tinggi**2))
keliling = self.alas + self.tutup + (sisi_samping*2)
return keliling
class Jajargenjang(Segiempat):
def __init__(self,alas,tinggi):
self.alas=alas
self.tinggi=tinggi
def hitung_luas(self):
luas=self.alas*self.tinggi
return luas
def hitung_keliling(self):
luas=alas*4
return luas