Difference between revisions of "Algoritma Rudal X dan Y"
Alesdaniel (talk | contribs) |
Alesdaniel (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | Persamaan untuk rudal tersebut adalah sebagai berikut: | ||
+ | |||
+ | |||
+ | [[File:Penurunan_Persamaan_Rudal_Ales.jpg|600px]] | ||
+ | |||
+ | Algoritma yang dibentuk disesuaikan dengan persamaan yang ada pada gambar tersebut. Berikut adalah algoritma yang sudah disusun pada program Phyton: | ||
+ | |||
''Sumbu X'' : | ''Sumbu X'' : | ||
Line 58: | Line 65: | ||
print('Kecepatan yang dihasilkan rudal pada sumbu x adalah', v1, 'm/s') | print('Kecepatan yang dihasilkan rudal pada sumbu x adalah', v1, 'm/s') | ||
+ | |||
+ | '''HASIL RUNNING SUMBU X''' | ||
+ | |||
+ | [[File:RudalSumbuX_Ales.jpg|800px]] | ||
+ | |||
+ | |||
Line 118: | Line 131: | ||
print('Kecepatan yang dihasilkan rudal pada sumbu Y adalah', v2, 'm/s') | print('Kecepatan yang dihasilkan rudal pada sumbu Y adalah', v2, 'm/s') | ||
+ | |||
+ | |||
+ | '''HASIL RUNNING SUMBU Y''' | ||
+ | |||
+ | [[File:RudalSumbuY_Ales.jpg|800px]] |
Latest revision as of 09:31, 6 November 2019
Persamaan untuk rudal tersebut adalah sebagai berikut:
Algoritma yang dibentuk disesuaikan dengan persamaan yang ada pada gambar tersebut. Berikut adalah algoritma yang sudah disusun pada program Phyton:
Sumbu X :
from math import *
g = 9.81
m = eval(input("Massa rudal dalam kg: "))
sudut = eval(input("Sudut kemiringan rudal dalam derajat: "))
a = eval(input("Percepatan yang diinginkan: "))
cd = eval(input("Koefisien hambat udara: "))
alpha = sudut*0.0174
ay = a*(sin(alpha))
ax = a*(cos(alpha))
v0 = 0
x0 = 0
t0 = 0
dt = 0.1
error = 100
lst = []
def dxdt(t0, v0):
return ((ax-(cd*v0**3/2)/m))
while error > 0.005:
k1 = dt*dxdt(t0, v0)
k2 = dt*dxdt(t0+0.5*dt, v0+0.5*dt*k1)
k3 = dt*dxdt(t0+0.5*dt, v0+0.5*dt*k2)
k4 = dt*dxdt(t0+dt, v0+k3*dt)
v1 = v0 + (1/6)*(k1+2*k2+2*k3+k4)
x0 = x0 + dt
v0 = v1
error = ((v1-v0)/v1)
lst.append(1)
- dihasilkan perhitungan untuk sumbu X
print('Kecepatan yang dihasilkan rudal pada sumbu x adalah', v1, 'm/s')
HASIL RUNNING SUMBU X
Sumbu Y :
from math import *
g = 9.81
m = eval(input("Massa rudal dalam kg: "))
sudut = eval(input("Sudut kemiringan rudal dalam derajat: "))
a = eval(input("Percepatan yang diinginkan: "))
cd = eval(input("Koefisien hambat udara: "))
alpha = sudut*0.0174
ay = a*(sin(alpha))
ax = a*(cos(alpha))
v0 = 0
x0 = 0
t0 = 0
dt = 0.1
error = 100
lst = []
def dydt(t0, v0):
return ((ay-(g*(cd*v0**3/2)/m)))
while error > 0.005:
k1 = dt*dydt(t0, v0)
k2 = dt*dydt(t0+0.5*dt, v0+0.5*dt*k1)
k3 = dt*dydt(t0+0.5*dt, v0+0.5*dt*k2)
k4 = dt*dydt(t0+dt, v0+k3*dt)
v2 = v0 + (1/6)*(k1+2*k2+2*k3+k4)
x0 = x0 + dt
v0 = v2
error = ((v2-v0)/v2)
lst.append(1)
- dihasilkan perhitungan untuk sumbu Y
print('Kecepatan yang dihasilkan rudal pada sumbu Y adalah', v2, 'm/s')
HASIL RUNNING SUMBU Y