Difference between revisions of "UTS 23/10/2019"

From ccitonlinewiki
Jump to: navigation, search
(Coding Untuk Soal B)
(Coding Untuk Soal B)
Line 66: Line 66:
 
Cara ini dengan menggunakan metode while yang tentu saja masih kurang akurat karena waktu yang ada masih melompat secara integer belum bisa dengan menggunakan angka yang pecahan
 
Cara ini dengan menggunakan metode while yang tentu saja masih kurang akurat karena waktu yang ada masih melompat secara integer belum bisa dengan menggunakan angka yang pecahan
  
   import math
+
   from math import *
 
   a = float(input("percepatan mobil dalam m/s kuadrat: "))
 
   a = float(input("percepatan mobil dalam m/s kuadrat: "))
 
   v = 0
 
   v = 0
 
   s = 0
 
   s = 0
   t = 0
+
   t = float(0)
 
   cd = float(input("drag coefficient: "))
 
   cd = float(input("drag coefficient: "))
 
   u = float(input("koefisien gesek ban dengan jalanan: "))
 
   u = float(input("koefisien gesek ban dengan jalanan: "))
 
   g = 9.8
 
   g = 9.8
 
   dragfric0 = 0
 
   dragfric0 = 0
   dragfric = ((cd * (v + (a*t)**(3/2))) + (u * g))
+
   dragfric = (((cd * (v + (a*t))**(3/2))) + (u * g))
  
 
percepatan mobil dalam m/s kuadrat:  10
 
percepatan mobil dalam m/s kuadrat:  10
Line 81: Line 81:
 
drag coefficient:  0.2
 
drag coefficient:  0.2
  
koefisien gesek ban dengan jalanan:  0.1
+
koefisien gesek ban dengan jalanan:  0.2
 +
 
  
 
   while dragfric0 < a:
 
   while dragfric0 < a:
       vmax = v + a - dragfric0
+
       vmax = v + (a - dragfric0)*t
       s = s + ((v3**2 - v**2) / (2 * a))
+
       s = s + ((vmax**2 - v**2) / (2 * a))
 
       v = vmax
 
       v = vmax
 
       dragfric0 = dragfric0 + dragfric
 
       dragfric0 = dragfric0 + dragfric
       t += 1
+
       t = float(t) + 1
  
 
   print("Komponen pada saat kecepatan maksimum")
 
   print("Komponen pada saat kecepatan maksimum")
Line 97: Line 98:
 
Komponen pada saat kecepatan maksimum
 
Komponen pada saat kecepatan maksimum
  
Waktu yang diperlukan:  11 s
+
Waktu yang diperlukan:  6.0 s
  
Jarak yang ditempuh:  157.3605 m
+
Jarak yang ditempuh:  89.04199999999994 m
  
Kecepatan tertinggi:  56.1 m/s
+
Kecepatan tertinggi:  42.19999999999999 m/s

Revision as of 21:57, 28 October 2019

Coding Untuk Soal A

Solusi 1

 import numpy as np #matrix definition, menggunakan numpy untuk membantu pendifinisian matrix (array)
 from math import *
 #Pendefinisian input
 P = eval(input('Nilai M1'))
 L = eval(input('Nilai M2'))
 M = eval(input('Nilai M3'))
 S = eval(input('Nilai M4'))
 Z = eval(input('Nilai Koefisien Gesek'))
 O = eval(input('Sudut yang dibentuk'))
 #Konversi sudut yang masih dalam radian
 deg = (O * 22/(7*180))
 #Pembuatan Matrix
 A=np.array([[1, 0, 0, 0],[-1,1,0,0],[0,-1,1,0],[0,0,0,-1]],float)
 b=np.array([(P * 10 * (sin(deg)-(Z*cos(deg)))),( L * 10 * (sin(deg)-(Z*cos(deg)))),(M * 10 * (sin(deg)-(Z*cos(deg)))), (-Z* 10)])
 n=len(A)
 #eliminasi gauss
 for k in range (0,n-1): 
     for i in range (k+1, n):
         if A[i,k] !=0 : 
             lam= A[i,k]/A[k,k] 
             A[i,k:n]= A[i, k:n]-(A[k,k:n]*lam) 
             b[i]= b[i]-(b[k]*lam) 
           
 print('matrix A:', '\n', A) #print hasilnya untuk mengecek kebenaran

Hasil Print matrix A:

[[ 1.  0.  0.  0.]
[ 0.  1.  0.  0.]
[ 0.  0.  1.  0.]
[ 0.  0.  0. -1.]]
 #back substitution
 x=np.zeros(n) #membuat matrix yang memiliki ukuran yang sama 
  for m in range (n-1, -1, -1) : #n-1 karena phyton dimulai dari angka 0, -1 maksudnya berhenti saat m = 0, dan -1 yang terakhir maksudnya adalah penghitungan mundur
     x[m]= (b[m]-np.dot(A[m, m+1:n], x[m+1:n]))/A[m,m] #persamaan dari back substitution, baca mengenai dasar dari back substitution
     print('nilai T', x[m]) #print hasil

Hasil Sementara

nilai T 2.0

nilai T 52.20873887394008

nilai T 44.75034760623435

nilai T 29.8335650708229

Koding tersebut masih menghasilkan nilai T yang salah karena tidak sama dengan penghitungan manual

Solusi 2

Coding Untuk Soal B

Cara ini dengan menggunakan metode while yang tentu saja masih kurang akurat karena waktu yang ada masih melompat secara integer belum bisa dengan menggunakan angka yang pecahan

  from math import *
  a = float(input("percepatan mobil dalam m/s kuadrat: "))
  v = 0
  s = 0
  t = float(0)
  cd = float(input("drag coefficient: "))
  u = float(input("koefisien gesek ban dengan jalanan: "))
  g = 9.8
  dragfric0 = 0
  dragfric = (((cd * (v + (a*t))**(3/2))) + (u * g))

percepatan mobil dalam m/s kuadrat: 10

drag coefficient: 0.2

koefisien gesek ban dengan jalanan: 0.2


  while dragfric0 < a:
      vmax = v + (a - dragfric0)*t
      s = s + ((vmax**2 - v**2) / (2 * a))
      v = vmax
      dragfric0 = dragfric0 + dragfric
      t = float(t) + 1
  print("Komponen pada saat kecepatan maksimum")
  print ("Waktu yang diperlukan: ",t," s")
  print ("Jarak yang ditempuh: ",x," m")
  print ("Kecepatan tertinggi: ",vmax," m/s")

Komponen pada saat kecepatan maksimum

Waktu yang diperlukan: 6.0 s

Jarak yang ditempuh: 89.04199999999994 m

Kecepatan tertinggi: 42.19999999999999 m/s