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

From ccitonlinewiki
Jump to: navigation, search
(Created page with " == Coding Untuk Soal 1 == import numpy as np #matrix definition, menggunakan numpy untuk membantu pendifinisian matrix (array) from math import * #Pendefinisian input...")
 
Line 1: Line 1:
  
== Coding Untuk Soal 1 ==
+
== Coding Untuk Soal A ==
  
 
   import numpy as np #matrix definition, menggunakan numpy untuk membantu pendifinisian matrix (array)
 
   import numpy as np #matrix definition, menggunakan numpy untuk membantu pendifinisian matrix (array)
Line 55: Line 55:
  
 
Koding tersebut masih menghasilkan nilai T yang salah karena tidak sama dengan penghitungan manual
 
Koding tersebut masih menghasilkan nilai T yang salah karena tidak sama dengan penghitungan manual
 +
 +
== Coding Untuk Soal B ==

Revision as of 11:07, 24 October 2019

Coding Untuk Soal A

 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'))
 #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(45)-(Z*cos(45)))),( L * 10 * (sin(45)-(Z*cos(45)))),(M * 10 * (sin(45)-(Z*cos(45)))), (-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

Coding Untuk Soal B