Difference between revisions of "Satria Yusuf Erlangga"

From ccitonlinewiki
Jump to: navigation, search
Line 364: Line 364:
  
 
https://youtu.be/xIldfYAnCX0
 
https://youtu.be/xIldfYAnCX0
 +
 +
==''' Catatan 8 , 30 Oktober 2019'''==
 +
 +
[[Kasus fisika dengan runge kutta]]

Revision as of 05:33, 17 December 2019

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Biodata


NPM : 1706036242

TTL : Tegal, 1 september 1999

Catatan 1 ,4 September 2019

Sekarang ini kita tidak luput dari pemrograman, salah satu salah satu aplikasi yang digunakan dari pemrograman adalah python. Banyak dari universitas di indonesia maupun di luar negeri sudah mencantumkan pemrograman sebagai salah satu mata kuliah wajib mereka dikarenakan betapa pentingnya mata kuliah ini.

Kenapa kita mempelajari kalkulus dalam salah satu mata kuliah teknik mesin?

Karena dalam kalkulus kita mempelajari dasar-dasar perhitungan dan rumus dasar yang dapat kita gunakan pada mata kuliah lanjutan seperti matematika teknik , mekanika fluida dan mata kuliah lainnya.

HW 1 : Pelajari Python dan dan membuat program untuk menyelesaikan suatu fungsi


Pada Tugas yang pertama kali ini kita diminta untuk menyelesaikan limit dari fungsi F(x)= (x^2-1)/(x-1) dengan x=1

Pada tugas kali ini, saya mencoba menggunakan import library sympy untuk simbolic mathemathic dari library python itu sendiri. sympy tersendiri didesain agar memiliki feature full sebagai CAS atau computer algebra system

Berikut langkah2 yang saya lakukan:

Ucup1.png


Catatan 2 ,11 September 2019

Kita sebagai engineer , harus memahami komputer itu sendiri. Tidak hanya cuma bisa menggunakan nya, namun memahami juga bagaimana program dari komputer sendiri dapat digunakan. Seperti kata Pak Radon, jika kita ingin mempelajari kita harus langsung masuk mencobanya dibandingkan membaca teori dari buku.

Kemudian kami diajarkan dasar-dasar python dari Pak Radon. Saya menggunakan aplikasi Spyder dari laptop saya dikarenakan komputer yang saya gunakan tidak bisa terhubung pada internet. Disitu kami belajar sedikit tentang Tupples dan List. Berikut adalah latihan saya :

Ucup Tupple.png

Catatan 3 ,18 September 2019

Pada hari ini,Pak Dai dan Pak Radon memberikan kuis untuk menyelesaikan soal program deret fibonacci melalui python.

Deret tersebut : 1, 1, 2, 3, 5, 8, 13, .. , n. Ada banyak cara untuk menyelesaikan deret fungsi tersebut, namun yang saya gunakan adalah dengan cara if else :

Kuis 1.png


Catatan 4 , 25 September 2019

Pada pertemuan kali ini, kami mempelajari Pemodelan komputer, dengan memahami dasar-dasar dan konsep pemodelan komputer.


Apa itu model? Model adalah pengilustrasi dari suatu hal yang kita inginkan Permodelan adalah sebuah simplifikasi dari sistem atau objek (dari keadaan yang rumit) Contoh pada arsitek pembangunan nya rumit kemudian di simpelkan pada asumsi2 simplifikasi, representasi dan asumsi jikalau ilmu dijadikan satu maka semua terhubung pada mechanical dan yang kita harus serap dari profesor adalah pikirannya.

pada buku dari python ada penerapan soal dan gauss sendiri, namun kita harus memahami dasar nya sehingga kita memahami bagaimana gauss tersebut (memiliki parameter,asumsi) pada saat ujian kita akan ada problem kemudian kita harus memodelkan nya, walaupun tidak pernah simulasi 100 exact seperti real nya.

Menurut saya Modelling computer adalah pengsimulasian melalui komputer sehingga kita dapat mempresentasikan suatu hal, benda atau fenomena dengan simplifikasi dan asumsi dari dasar-dasar dan paramater sehingga hal tersebut dapat dipahami oleh operator atau manusia, walaupun model tidak akan 100% sama dari aslinya


Catatan 5 , 2 Oktober 2019

Pada pertemuan kali ini, kelas diisi oleh asisten dosen , Bang Edo. Bang Edo adalah alumni S1 DTM UI. Bang Edo menceritakan mengapa kita perlu belajar dan menggunakan python dan bukan bahasa pemrograman lain. Karena, python adalah salah satu bahasa pemrograman yang sekarang sering digunakan dan mudah dipahami. Dan kita juga dapat lebih memahami bagaimana pemrograman dari suatu kode, sedangkan di matlab semua fungsi sudah ada dan kita hanya tinggal menggunakan fungsi tersebut untuk menegerjakan dan tidak menggunakan logika pengerjaan. Kita juga diajarkan bagaimana pemodelan menggunakan python pada salah satu kasus gauss jordan dan cara pemahaman kode nya.


Catatan 6 , 9 Oktober 2019

Pada pertemuan kali ini, kita masih tentang pemodelan. Dalam pemodelan, kita asumsuikanbahwa bahwa benda yang dimodelkan adalah kontinuum. Dari asumsi tersebut, kita dapatkan persamaan deferensial.

Kita diberikan tugas mengenai runge kutta


Catatan 7 , 16 Oktober 2019

Pak DAI mengadakan kuis , kita harus mengerjakan kasus dari soal buku dan menuliskan algoritma nya pada kertas, dan menuliskan kode pemrograman nya pada Air.eng. kode tersebut ada pada dibawah ini.

Kuis


from numpy import*
#Menyusun Matriks A, baris 1 disusun kembali dengan angka sehingga tidak eror
A = array([[1.,2.,0.,-2.,0.,-4],\
          [0.,1.,0.,2.,-1.,1],\
          [0.,0.,2.,1.,2.,1],\
          [0.,0.,0.,-1,1.,-2],\
          [0.,1.,-1.,1.,-1.,-1]])
print ('Matrix A Adalah =',A)


n=len(A)
#Segitiga atas menggunakan Gauss
for k in range(0,n-1):
   for i in range(k+1,n):
       m=A[i][k]/A[k][k]
       for j in range(0,n+1):
           A[i][j]=A[i][j]-m*A[k][j]
#Subtitusi
Hasil = zeros((n,1))
Hasil[n-1][0]=A[n-1][n]/A[n-1][n-1]
for j in range(n-2,-1,-1):
   S=0
   for i in range(j+1,n):
       S=S+A[j][i]*Hasil[i][0]
       Hasil[j][0]=(A[j][n]-S)/A[j][j]
#Print Hasil
print ('Hasil=',Hasil)

Run

Matrix A Adalah = [[ 1.  2.  0. -2.  0. -4.]
[ 0.  1.  0.  2. -1.  1.]
[ 0.  0.  2.  1.  2.  1.]
[ 0.  0.  0. -1.  1. -2.]
[ 0.  1. -1.  1. -1. -1.]]
Hasil= [[ 2.]
[-2.]
[ 1.]
[ 1.]
[-1.]]


2

#definisikan
def dydx(x, y): 
   return ((x**2 - 4*y)) 
 
# Mencari nilai dari y untuk x menggunakan ukuran h
def rungeKutta(x0, y0, x, h): 
   n = (int)((x - x0)/h)  
   # Iterasi 
   y = y0 
   for i in range(1, n + 1): 
       "Apply Runge Kutta Formulas to find next value of y"
       k1 = h * dydx(x0, y) 
       k2 = h * dydx(x0 + 0.5 * h, y + 0.5 * k1) 
       k3 = h * dydx(x0 + 0.5 * h, y + 0.5 * k2) 
       k4 = h * dydx(x0 + h, y + k3) 
 
       # Penambahan nilai y dan x
       y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4)  
       x0 = x0 + h 
   return y 
 
#Pemisalan dan penambahan data :
o = input ("berapakah nilai x0 ")
p = input ("berapakah nilai y ")
q = input ("berapakah nilai x ")
r = input ("berapakah nilai h ")
x0= int(o)
y= int(p)
x= float(q)
h= float(r)
print ('Nilai y pada x adalah:', rungeKutta(x0, y, x, h))


Run


berapakah nilai x0 0
berapakah nilai y 1
berapakah nilai x 0.03
berapakah nilai h 0.01
Nilai y pada x adalah: 0.8869291754400297


UTS

1

from math import *
#asumsi nilai gravitasi
g = 9.81
#input nilai m1-m3
m1 = eval(input("beratnya massa 1 adalah: "))
m2 = eval(input("beratnya massa 1 adalah: "))
m3 = eval(input("beratnya massa 1 adalah: "))
#mengasumsikan sudut 30 dengan nilai sin 0.5
sin = 0.5
#menghitung nilai m4 yang dibutuhkan untuk menghitung
m4 = sin*(m1 + m2 + m3)
#mencetak nilai m4
print ('nilai massa untuk mengimbangi nya adalah', m4 )
T = g*m4
#mencetak nilai
print ('nilai tegangan nya adalah',T)

beratnya massa 1 adalah: 1 beratnya massa 1 adalah: 2 beratnya massa 1 adalah: 3 nilai massa untuk mengimbangi nya adalah 3.0 nilai tegangan nya adalah 29.43

2

#asumsikan g = 9.81
g = 9.81
#input nilai massa
m = eval(input("berat mobil adalah: "))
#input nilai koef gesek
D = eval(input("nilai koefisien geseknya adalah: "))
#input nilai koef H aeronya
Cu = eval(input("nilai koef H aeronya adalah: "))
#asumsikan kecepatan maksimal
VS = 30
#Menghitung
A = VS*m
B = Cu * 164.32 + m * g * D
t = A/B
#print waktu yang dibutuhkan
print ('waktu yang dibutuhkan adalah',t)

berat mobil adalah: 1000 nilai koefisien geseknya adalah: 2 nilai koef H aeronya adalah: 3 waktu yang dibutuhkan adalah 1.4915755811178464

UTS

https://youtu.be/w7LaBgf8HAo

from math import *

  1. asumsi nilai gravitasi

g = 9.81

  1. input nilai m1-m3

m1 = eval(input("beratnya massa 1 adalah: ")) m2 = eval(input("beratnya massa 2 adalah: ")) m3 = eval(input("beratnya massa 3 adalah: ")) A = eval(input("Sudut A adalah: "))

  1. mengasumsikan sudut 30 dengan nilai sin 0.5

sinA = sin (radians (A))

  1. menghitung nilai m4 yang dibutuhkan untuk menghitung

m4 = sinA*(m1 + m2 + m3)

  1. mencetak nilai m4

print ('nilai massa untuk mengimbangi nya adalah', m4 ) T1 = m1*g*sinA T2 = T1+m2*g*sinA T3 = T2+m3*g*sinA T4 = T3

  1. mencetak nilai

print ('nilai sin dari sudut adalah',sinA) print ('nilai T1 nya adalah',T1) print ('nilai T2 nya adalah',T2) print ('nilai T3 nya adalah',T3) print ('nilai T4 nya adalah',T4)


from numpy import* from math import *

  1. asumsi nilai gravitasi

g = 9.81

  1. input nilai m1-m3

m1 = eval(input("beratnya massa 1 adalah: ")) m2 = eval(input("beratnya massa 2 adalah: ")) m3 = eval(input("beratnya massa 3 adalah: ")) m4 = eval(input("beratnya massa 4 adalah: "))

sinA = m4 / (m1+m2+m3)

  1. Menyusun Matriks A, baris 1 disusun kembali dengan angka sehingga tidak eror

A = array([[1.,0.,0.,0.,(m1*g*sinA)],\

         [-1.,1.,0.,0.,(m2*g*sinA)],\
         [0.,-1.,1.,0.,(m3*g*sinA)],\
         [0.,0.,-1.,1,0.]])

print ('Matrix A Adalah =',A)

n=len(A)

  1. Segitiga atas menggunakan Gauss

for k in range(0,n-1):

  for i in range(k+1,n):
      m=A[i][k]/A[k][k]
      for j in range(0,n+1):
          A[i][j]=A[i][j]-m*A[k][j]
  1. Subtitusi

Hasil = zeros((n,1)) Hasil[n-1][0]=A[n-1][n]/A[n-1][n-1] for j in range(n-2,-1,-1):

  S=0
  for i in range(j+1,n):
      S=S+A[j][i]*Hasil[i][0]
      Hasil[j][0]=(A[j][n]-S)/A[j][j]
  1. Print Hasil

print ('Hasil=',Hasil)


#asumsikan g = 9.81
g = 9.81
V0 = 0
#input nilai massa
m = eval(input("berat mobil adalah: "))
#input nilai koef gesek
D = eval(input("nilai koefisien geseknya adalah: "))
#input nilai koef H aeronya
Cu = eval(input("nilai koef H aeronya adalah: "))
#asumsikan kecepatan maksimal
VS = eval(input("nilai kecepatan maksimal adalah (dlm m/s): "))
#Menghitung
a = eval(input ("nilai percepatan mobilnya adalah: "))
fD = D*g*m
fU = Cu*VS**1.5
fA = m*a - fD - fU
aS = fA/m
t = (VS-V0) / aS 
print ("Waktu yang dibutuhkan untuk mencapai kecepatan akhir adalah",t , "detik")


m= float (input("massanya adalah :"))
g = float (input("gravitasinya adalah :"))
#massa jenis udara
ro = 1.2 #massa jenis udara
am = float(input("percepatan mobilnya adalah: "))
Cu = float(input("koefisien dragnya adalah: "))
D = float(input("koefisien gesekannya adalah: "))
A = float(input("area [m^2]: "))
v0 = float(input("kecepatan awal mobil adalah [m/s]: "))
vf = float(input("kecepatan mobil max adalahn [m/s]: "))
# total perceptan adalah gabungan dari am, af , ad
Ff = m * g * D # rumusnya Ff = m * g * nu
Fd = (Cu * A * ro * v0 ** 2) / 2 # rumusnya Fd = (Cd * A * p * v0 ** 2) / 2
a2 = (am) - (Fd / m) - (Ff / m)
def dtdtv(t, y):
   return ((m) / (am*g - m * g * D - 0.5 * Cu * A * ro * v0 ** 2))
t = 0
h = 0.01
def rungekutta(v0, t0, vf, h):
   n = (int)((vf - v0) / h)
   t = t0
   for i in range(1, n + 1):
#rumus Runge kutta
       k1 = h * dtdtv(v0, t)
       k2 = h * dtdtv(v0 + 0.5 * h, t + 0.5 * k1)
       k3 = h * dtdtv(v0 + 0.5 * h, t + 0.5 * k2)
       k4 = h * dtdtv(v0 + h, t + k3)
#mendapatkan nilai t yang diperlukan hingga mencapai kecepatan tersebut
       t = t + (1.0 / 6.0) * (k1 + (2 * k2) + (2 * k3) + k4)
# nilai Vo
       v0 = v0 + h
   return t
te = rungekutta(v0, t, vf, h)
print(te)

https://youtu.be/4sYxS38i1hs


Muhasabah


https://youtu.be/9gbba4FE3UI


https://youtu.be/xIldfYAnCX0

Catatan 8 , 30 Oktober 2019

Kasus fisika dengan runge kutta