Difference between revisions of "Tugas Runge Kutta"

From ccitonlinewiki
Jump to: navigation, search
(Created page with "Kali ini saya akan menggunakan metode runge kutta orde 4 untuk menyelesaikan kasus pada kehidupan sehari hari. 600px|thumb|left|Kasus...")
 
Line 60: Line 60:
 
  elif t > z:
 
  elif t > z:
 
     print('Error, Nilai tinggi yang ingin dicapai melebihi tinggi ember')  # Jika nilai yang kita input melebihi nilai dalam algoritma maka error
 
     print('Error, Nilai tinggi yang ingin dicapai melebihi tinggi ember')  # Jika nilai yang kita input melebihi nilai dalam algoritma maka error
 +
 +
<youtube>https://youtu.be/pLZ0jK5sgj8</youtube>

Revision as of 22:43, 5 November 2019

Kali ini saya akan menggunakan metode runge kutta orde 4 untuk menyelesaikan kasus pada kehidupan sehari hari.


Kasus















Ini kita akan mencari waktu pengisian air sampai penuh pada ember.

Untuk rincian, silakan nonton video dibawah dimana akan saya jelaskan penyelesaian dengan 2 jenis metode yaitu,

metode analitik dan metode numerik (runge kutta orde 4) Berikut ini adalah algoritma untuk penyelesaian kasus diatas.

import numpy as np
p = 22/7                                                        # nilai dari π lingkaran karena kita menghitung volume silinder
k = eval (input('Kecepatan tinggi air : '))                     # Kecepatan air mengisi per cm(tinggi)
r = 30                                                          # Jari - jari ember
z = 40                                                          # Tinggi ember
h = 1                                                           # Disini saya memakai increment bernilai 1
t = eval(input('Masukan tinggi yang ingin di capai : '))        # Tinggi air dari ember yang disuruh cari
b = p * (r ** 2) * t                                            # Menghitung volume ember
def volume (t1, r):                                             # turunan kedua dari rumus volume
   return ((27*p*t1)/8 )
if t <= z :                                                     # Pengulangan untuk runge kutta
   y0 = 0                                                      # nilai awal waktu
   m = np.arange(0, t + h, h)
   for t1 in m :
       k1 = volume(t1, r)
       k2 = volume((t1+ (0.5 * h)), (r + (0.5 * k1 * h)))
       k3 = volume((t1 + (0.5 * h)), (r + (0.5 * k2 * h)))
       k4 = volume((t1+ h), (r + k3 * h))
       y = y0 + ((1.0 / 6.0)*(k1 + (2 * k2) + (2 * k3) + k4)*h)
   t0 = b / (y * k)
   print("Waktu untuk mencapai tinggi : ", t, "cm adalah: ", t0, 's')      # Print hasil hitung
elif t > z:
   print('Error, Nilai tinggi yang ingin dicapai melebihi tinggi ember')   # Jika nilai yang kita input melebihi nilai dalam algoritma maka error