UTS Fakhri Saputra
3.
A.
from numpy import *
g = 9.82
a = 0
m1 = eval(input("massa benda 1 (kg): "))
m2 = eval(input("massa benda 2 (kg): "))
m3 = eval(input("massa benda 3 (kg): "))
u1 = eval(input("koefisien gesek benda 1: "))
u2 = eval(input("koefisien gesek benda 2: "))
u3 = eval(input("koefisien gesek benda 3: "))
alphadeg = eval(input("sudut kemiringan (degrees): "))
alpha = (alphadeg / 180) * pi
sina = sin(alpha)
cosa = cos(alpha)
b1 = m1 * g * (sina + u1 * cosa) + m1 * a
b2 = m2 * g * (sina + u2 * cosa) + m2 * a
b3 = m3 * g * (sina + u3 * cosa) + m3 * a
b = array([b1, b2, b3], float)
kt = array([[1, 0, 0], [-1, 1, 0], [0, -1, 1]], float)
t = linalg.solve(kt, b)
t1 = t[0]
t2 = t[1]
t3 = t[2]
print(f't1 = {t1}, t2 = {t2}, t3 = {t3}')
B.
from math import *
g = 9.81
m = eval(input("massa mobil (kg): "))
cd = eval(input("koefisien drag: "))
ut = eval(input("koefisien gesek roda: "))
amobil = eval(input("percepatan mobil (m/s^2): "))
vmax = eval(input("kecepatan yang dicapai (km/h): "))
v = vmax * (1000 / 3600)
vo = 0
to = 0
h = 0.01
fmob = m * a
fges = ut * m * g
fdr = cd * v ** 1.5
atot = (fmob - fges - fdr) / m
def f(v, t): return (v / atot) - t
def rungekutta(vo, to, v, h):
n = int((v - vo)/h) t = to for i in range(1, n + 1): k1 = h * f(vo, t) k2 = h * f(vo + 0.5 * h, t + 0.5 * k1) k3 = h * f(vo + 0.5 * h, t + 0.5 * k2) k4 = h * f(vo + h, t + k3) t = t + (1 / 6) * (k1 + 2 * k2 + 2 * k3 + k4) vo = vo + h return t
print(f'waktu yang dibutuhkan untuk mencapai {vmax} km/h adalah {rungekutta(vo, to, v, h)}')
== Muhasabah diri
==