Difference between revisions of "Pemodelan Persamaan Gerakan Lemparan Vertikal"

From ccitonlinewiki
Jump to: navigation, search
(Algoritma)
(Flowchart)
 
(One intermediate revision by the same user not shown)
Line 75: Line 75:
 
7. Mendefinisikan apakah genteng telah menyentuh tanah kembali atau belum dengan batasan kecepatan yang merupakan hasil penurunan dari persamaan energi
 
7. Mendefinisikan apakah genteng telah menyentuh tanah kembali atau belum dengan batasan kecepatan yang merupakan hasil penurunan dari persamaan energi
  
== Flowchart ==  
+
== Flowchart ==
 
+
[[File:Flowchart Umas Tugas 3.JPG]]
  
 
== Coding ==
 
== Coding ==
Line 98: Line 98:
 
   h = 0.01  
 
   h = 0.01  
  
   step_size = np.arange(0,i,h)
+
   step_size = np.arange(0,i,h) #fungsi ini adalah untuk mendefinisikan suatu range denga suatu lompatan tertentu
  
 
   #membuat looping
 
   #membuat looping

Latest revision as of 09:47, 6 November 2019

Studi Kasus

Persamaan yang ditulis dengan inisial RAU merupakan suatu persamaan mengenai gerakan melempar vertikal keatas, contoh aplikasi yang ada di dunia nyata adalah lemparan genteng keatas dari tukang bangunan. Persamaan matematika dari kegiatan melempar genteng ke atas rumah ini saya buat dengan metode numerik runge kutta, dengan memperhitungkan gravitasi dan gaya drag yang dihasilkan dari geometri genteng.

Berikut ini video pelemparan genteng yang saya maksidkan . Klik disini => [1]

Dengan asumsi lemparan vertikal ke atas, tidak membentuk sudut terhadap sumbu vertikal, maka berikut ini adalah pemodelan matematis dari kasus ini:

Model Matematika

Impuls yang diberikan Tukang Bangunan

Dalam pemodelan matematika dari kasus ini diperlukan kecepatan awal yang saya cari dengan memperhitungkan impuls yang diberikan oleh tukang bangunan. Persamaan impuls tersebut adalah sebagai berikut:

Impuls 1 Umas.JPG

dengan kecepatan awal nol karena genteng tidak memiliki kecepatan sebelum diberikan impuls oleh tukang bangunan, sehingga rumus untuk mencari kecepatan awal menjadi seperti berikut:

Impuls 2 Umas.JPG

Perlambatan Kecepatan oleh Gravitasi dan Gaya Drag Udara

Perlambatan kecepatan atau percepatan untuk kasus ini diperoleh dari gaya berat yang dimiliki oleh genteng dan gaya drag udara:

Gaya Drag Udara

Persamaan gaya drag dari udara adalah sebagai berikut:

Gaya drag umas.JPG

Gaya drag umas 1.JPG

Sehingga dihasilkan komponen percepatan sebagai berikut:

Gaya drag umas 2.JPG

Sehingga, persamaan kecepatan yang dihasilkan setelah memperhitungkan hambatan gravitasi dan drag yang ada sehingga menghasilkan fungsi kecepatan sebagai berikut ini:

Kecepatan Umas.JPG

yang jika diturunkan menjadi persamaan berikut:

Turunan Kecepatan Umas.JPG

persamaan inilah yang nantinya akan dipakai untuk membuat persamaan Runge-Kutta Orde 4 untuk menyelesaikan permasalahan ini. Namun masih ada beberapa batasan yang harus diberikan. Persamaan runge-kutta ini belum bisa mendeteksi bahwa benda sudah menyentuh tanah lagi sehingga perlu adanya batasan kecepatan yang menunjukkan bahwa hasil tersebut berarti genteng telah menyentuh tanah kembali.

Kondisi genteng telah menyentuh tanah kembali

Ada beberapa cara untuk mengetahui bahwa genteng telah menyentuh tanah kembali. Yaitu dengan memodelkan posisi terhadap waktu atau dengan energi. Untuk kasus ini saya hanya ingin memodelkan kecepatannya sehingga saya menggunakan batasan dari kekalan energi:

Kekekalan energi 1 umas.JPG

Persamaan energi tersebut dapat juga ditunjukkan menjadi seperti ini, dengan asumsi tidak ada energi selain energi kinetik dan potensial yang bekerja.

Kekekalan energi 2 umas.JPG

Pada kondisi ketinggian yang sama maka kecepatan yang dihasilkan akan sama, sehingga itu menjadi batasan yang akan digunakan dalam output pada pengerjaan tugas ini. Ketika kecepatannya sudah sesuai dengan kecepatan awal maka diasumsikan genteng telah menyentuh tanah kembali dan kecepatannya 0

Algoritma

Persamaan ini dapat diselesaikan dengan metode runge kutta, dalam kasus ini saya ingin mencoba mencari kecepatan genteng yang dilemparkan pada suatu waktu tertentu dengan memperhitungkan gaya berat dan gaya drag dari genteng tersebut. Sebenarnya coding yang saya buat ini sifatnya universal untuk benda apapun ketika dilempar secara vertikal, karena ada komponen Cd yang harus dimasukkan oleh pengguna. Cara-cara yang akan saya lakukan adalah sebagai berikut:

1. Menyusun input yang akan digunakan yaitu terdiri dari impuls yang diberikan, nilai gravitasi, koefisien drag, masa genteng , dan waktu dimana kecepatan ingin diketahui.

2. Mendefinisikan percepatan sesuai dengan turunan kecepatan yang ada di model matematika yang ada di atas.

3. Mendefinisikan kecepatan awal sebagai fungsi impuls sesuai dengan model matematika yang sudah dituliskan di atas.

4. Mendefinisikan kecepatan awal v dengan abjad lain yang gunanya untuk menjadi batasan genteng telah menyentuh tanah kembali atau belum

5. Menentukan "step size" atau increment untuk runge kutta berikut ini. Saya menentukan incrementnya sebesar 0.01

6. Membuat iterasi untuk runge kutta dengan batasan waktu sesuai dengan yang diminta di awal untuk menentukan kecepatannya

7. Mendefinisikan apakah genteng telah menyentuh tanah kembali atau belum dengan batasan kecepatan yang merupakan hasil penurunan dari persamaan energi

Flowchart

Flowchart Umas Tugas 3.JPG

Coding

 import numpy as np
 m = eval(input("massa genteng(kg): "))
 g = eval(input("percepatan gravitasi(m/s^2): "))
 I = eval(input("impuls yang diberikan(kg*m/s): "))
 cd = eval(input("koefisien drag udara : "))
 t = eval(input("waktu untuk menganalisis posisi(s) : "))
 i = t
 def dv(t,v):
     func =-g-((cd*v**3/2)/m)
     return(func)
 #mendifinisikan initial condition, asumsikan V saat sebelum diberi impuls oleh tukang bangunan = 0 sehingga impuls menjadi:
 o = I/m
 v = o
 #menentukan increament waktu
 h = 0.01 
 step_size = np.arange(0,i,h) #fungsi ini adalah untuk mendefinisikan suatu range denga suatu lompatan tertentu
 #membuat looping
 for t in step_size:
     k1 = dv(t,v)
     k2 = dv((t+0.5*h),(v+0.5*h*k1))
     k3 = dv((t+0.5*h),(v+0.5*h*k2))
     k4 = dv((t+h),(v+h*k3))
   
     v= v + 1/6*(k1+2*k2+2*k3+k4)*h
 #pendefinisian if dan else berikut ini berdasarkan pada konservasi energi kinetik dan potensial bahwa jumlah energi kinetik dan potensialnya selalu konstan  
 if v >= -o:
     print("maka kecepatannya adalah",v)
 else:
     print("maka kecepatannya adalah", 0, "karena genteng telah menyentuh tanah kembali")

Hasil Phyton

Rizki Aldila Umas Runge Kutta Diff.JPG

Rizki Aldila Umas Runge Kutta Diff 2.JPG