Anda di halaman 1dari 7

TUGAS PLOT PARAMETRIK

Nama : Riyan Fathurrahman

NPM : 140310220045

1. Simulasi Gerak Peluru


a) Listing Program

#simulasi gerak peluru


import matplotlib.pyplot as plt
import numpy as np
import math as mt

arrayOfXNumerik = []
arrayOfYNumerik = []
arrayOfXAnalitik = []
arrayOfYAnalitik = []

v0 = float(input("Kecepatan awal: "))


deg = float(input("Sudut elevasi: "))
t_delta = 0.01
print("\n")

sin = np.sin(np.radians(deg))
cos = np.cos(np.radians(deg))
g = 9.81
t1 = float((2*v0*sin)/g)
atas = float(mt.pow(v0,2)*mt.pow(sin,2))
bawah = float(2*g)
y = float(atas/bawah)
x = v0*cos*t1
g *= -1

positionXNumerik = 0
positionYNumerik = 0
positionXAnalitik = 0
positionYAnalitik = 0

speedNumerikX = float(v0*cos)
speedNumerikY = float(v0*sin)
speedAnalitikX = float(v0*cos)
speedAnalitikY = float(v0*sin)

arrayOfXNumerik.append(positionXNumerik)
arrayOfYNumerik.append(positionYNumerik)
arrayOfXAnalitik.append(positionXAnalitik)
arrayOfYAnalitik.append(positionYAnalitik)

for t in np.arange(0,t1+t_delta,t_delta):
speedNumerikY += (g*t_delta)
positionXNumerik += (speedNumerikX*t_delta)
positionYNumerik += (speedNumerikY*t_delta)
arrayOfXNumerik.append(positionXNumerik)
arrayOfYNumerik.append(positionYNumerik)

if positionYNumerik < 0:
print("Waktu Numerik ketika menyentuh tanah: ", t)
print("Jarak Numerik dari Numerik: ", positionXNumerik)
break

for t in np.arange(0,t1+t_delta,t_delta):
positionXAnalitik = speedAnalitikX*t
arrayOfXAnalitik.append(positionXAnalitik)
positionYAnalitik = speedAnalitikY*t+(0.5*g*mt.pow(t, 2))
arrayOfYAnalitik.append(positionYAnalitik)
if positionYAnalitik < 0:
print("Waktu Analitik ketika menyentuh tanah: ", t)
print("\n")
break

print("Waktu Total: ", t1)


plt.xlabel("X")
plt.ylabel("Y")
plt.plot(arrayOfXAnalitik,arrayOfYAnalitik, "m-o")
plt.plot(arrayOfXNumerik,arrayOfYNumerik, "c")
plt.legend(["Analitik", "Numerik"], loc="best")
plt.xlim(0, x+1)
plt.ylim(0, y+0.1)
print("Jarak Maksimum : ", x)
print("Tinggi Maksimum : ", y)
plt.show()

b) Hasil Program
Kecepatan awal: 150
Sudut elevasi: 75

Waktu Numerik ketika menyentuh tanah: 29.52


Jarak Numerik dari Numerik: 1146.4389602815927
Waktu Analitik ketika menyentuh tanah: 29.54

Waktu Total: 29.539016094466916


Jarak Maksimum : 1146.788990825688
Tinggi Maksimum : 1069.9686948305268

2. Pola Lissajous
a. 𝑥 = cos 𝜃, 𝑦 = sin 𝜃
Jawaban:
a) Listing Program:

#pola lissajous
# x = cos⁡θ, y = sin⁡θ
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 2*np.pi, np.pi/100)


y1 = np.cos(x)
y2 = np.sin(x)
plt.plot(x, y1, "r", label="cos(x)")
plt.plot(x, y2, "b", label="sin(x)")
plt.legend()
plt.show()
b) Hasil Program:

b. 𝑥 = cos 𝜃, 𝑦 = 2 sin 𝜃
Jawaban:
a) Listing Program:

#pola lissajous
# x = cos⁡θ, y = 2 sin⁡θ
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 2*np.pi, np.pi/100)


y1 = np.cos(x)
y2 = 2*np.sin(x)
plt.plot(x, y1, "r", label="cos(x)")
plt.plot(x, y2, "b", label="2 sin(x)")
plt.legend()
plt.show()
b) Hasil Program:

𝜋
c. 𝑥 = cos 𝜃, 𝑦 = sin (𝜃 + 3 )

Jawaban:
a) Listing Program:

#Pola lissajpus
# x = cos⁡θ, y = sin⁡(θ+π/3)
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 2*np.pi, np.pi/100)


y1 = np.cos(x)
y2 = np.sin(x+np.pi/3)
plt.plot(x, y1, "r", label="cos(x)")
plt.plot(x, y2, "b", label="sin(x+pi/3)")
plt.legend()
plt.show()
b) Hasil Program:

𝜋
d. 𝑥 = cos 𝜃, 𝑦 = sin (2𝜃 + 3 )

Jawaban:
a) Listing Program:

#Pola lissajpus
# x = cos⁡θ, y = sin⁡(2θ+π/3)
import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 2*np.pi, np.pi/100)


y1 = np.cos(x)
y2 = np.sin(2*x+np.pi/3)
plt.plot(x, y1, "r", label="cos(x)")
plt.plot(x, y2, "b", label="sin(2x+pi/3)")
plt.legend()
plt.show()
b) Hasil Program:

Link google collab:


https://colab.research.google.com/drive/1XU8w50ryhS9Z4ShqNKASggMIMJ3JL
Rg7?usp=sharing

Anda mungkin juga menyukai