Untuk mengimplementasikan metode Runge-Kutta (RK4) untuk memodelkan gerak jatuh benda dengan gaya gesek udara, kita harus memahami persamaan diferensial yang menggambarkan gerak tersebut. Persamaan diferensial yang menggambarkan gerak jatuh benda dengan gaya gesek adalah sebagai berikut:

$$ \frac{dv}{dt} = g - \frac{k}{m}v $$

Di sini, (v) adalah kecepatan benda, (g) adalah percepatan gravitasi (biasanya sekitar 9.8 m/s² di permukaan bumi), (k) adalah konstanta gesekan udara, dan (m) adalah massa benda.

Mari kita implementasikan metode RK4 untuk menyelesaikan persamaan diferensial ini dalam Python. Berikut adalah implementasinya:

 1import numpy as np
 2import matplotlib.pyplot as plt
 3
 4def runge_kutta_orde4(f, t0, v0, t_final, h):
 5    t = t0
 6    v = v0
 7
 8    t_values = [t0]
 9    v_values = [v0]
10
11    while t < t_final:
12        # Step 1: menghitung koefisien k1, k2, k3, and k4
13        k1 = h * f(t, v)
14        k2 = h * f(t + 0.5 * h, v + 0.5 * k1)
15        k3 = h * f(t + 0.5 * h, v + 0.5 * k2)
16        k4 = h * f(t + h, v + k3)
17
18        # Step 2: menghitung nilai v baru untuk iterasi selanjutnya
19        v = v + (k1 + 2 * k2 + 2 * k3 + k4) / 6
20
21        # Step 3: memperbaharui waktu
22        t = t + h
23
24        nilai_t.append(t)
25        nilai_v.append(v)
26
27    return nilai_t, nilai_v
28
29# Definisikan gerak jatuh bebas dengan gaya gesek
30def f(t, v):
31    g = 9.8  # percepatan gravitasi (m/s²)
32    k = 0.2  # konstanta gaya gesek udara 
33    m = 0.5  # Massa dari benda(kg)
34    return g - (k / m) * v
35
36t0 = 0.0
37v0 = 0.0
38t_final = 5.0
39h = 0.1
40
41nilai_t, nilai_v= runge_kutta_orde4(f, t0, v0, t_final, h)
42
43# Plot the results
44plt.plot(nilai_t, nilai_v, label="kecepatan")
45plt.xlabel("waktu (s)")
46plt.ylabel("kecepatan (m/s)")
47plt.title("Gerak jatuh benda dengan hambatan udara")
48plt.legend()
49plt.grid(True)
50plt.show()

Penjelasan singkat:

  1. Kami mengimplementasikan metode RK4 untuk memecahkan persamaan diferensial gerak jatuh benda dengan gaya gesekan udara.
  2. Kami mendefinisikan fungsi diferensial f(t, v) sesuai dengan persamaan diferensial yang menggambarkan gerak benda dengan gaya gesek.
  3. Kami menghitung dan menyimpan nilai kecepatan dan waktu pada setiap langkah iterasi.
  4. Kami menggunakan Matplotlib untuk membuat plot kecepatan benda terhadap waktu.

Anda dapat mengganti nilai-nilai seperti percepatan gravitasi (g), konstanta gesekan udara (k), massa benda (m), t0, v0, t_final, dan h sesuai dengan parameter yang sesuai untuk situasi Anda. Juga, Anda dapat memodifikasi persamaan diferensial f(t, v) sesuai dengan kebutuhan Anda.