-
-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathpercepatan.py
64 lines (53 loc) · 1.57 KB
/
percepatan.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
def kalkulasi_kecepatan_awal(
kecepatan_akhir: float, perecepatan: float, waktu: float
) -> float:
"""
Menghitung kecepatan awal dari suatu pergerakan
dengan percepatan yang berbeda
>>> kalkulasi_kecepatan_awal(10, 2.4, 5)
-2.0
>>> kalkulasi_kecepatan_awal(10, 7.2, 1)
2.8
"""
# jika waktu 0 diisi dengan 1 detik
return kecepatan_akhir - perecepatan * waktu
def kalkulasi_kecepatan_akhir(
kecepatan_awal: float, percepatan: float, waktu: float
) -> float:
"""
Menghitung kecepatan akhir dari suatu pergerakan
dengan percepatan yang berbeda
>>> kalkulasi_kecepatan_akhir(10, 2.4, 5)
22.0
>>> kalkulasi_kecepatan_akhir(10, 7.2, 1)
17.2
"""
# jika waktu 0 diisi dengan 1 detik
return kecepatan_awal + percepatan * waktu
def kalkulasi_percepatan(
kecepatan_awal: float, kecepatan_akhir: float, waktu: float
) -> float:
"""
Menghitung percepatan dari suatu pergerakan
dengan kecepatan awal dan kecepatan akhir yang berbeda
>>> kalkulasi_percepatan(10, 22, 5)
2.4
>>> kalkulasi_percepatan(10, 17.2, 1)
7.199999999999999
"""
return (kecepatan_akhir - kecepatan_awal) / waktu
def kalkulasi_waktu(
kecepatan_akhir: float, kecepatan_awal: float, percepatan: float
) -> float:
"""
Menghitung waktu
>>> kalkulasi_waktu(10, 22, 2.4)
-5.0
>>> kalkulasi_waktu(9, 0, 7.2)
1.25
"""
return (kecepatan_akhir - kecepatan_awal) / percepatan
if __name__ == "__main__":
import doctest
doctest.testmod()
# print(kalkulasi_percepatan(10, 22, 5))