Difference between revisions of "Fadhil Azharrisman"

From ccitonlinewiki
Jump to: navigation, search
Line 100: Line 100:
  
  
 +
13/03/2019 tugas FEM metode Numerik
 +
 +
import numpy as np
 +
from numpy import array
 +
 +
#1. Menentukan Banyaknya pegas
 +
N= eval(input('jumlah pegas pada sistem ini?'))
 +
 +
#nilai dari nodenya
 +
ni=N+1
 +
#nilai dari K
 +
K= np.zeros((ni,ni),float)
 +
#nilai K sama dengan jumlah nodenya
 +
 +
#2. Mendefinisikan konstanta pegas
 +
n_k=np.zeros(N)
 +
 +
for i in range (0,N):
 +
    print('nilai konstanta pegas  yang ke-',i+1,' ?')
 +
    n_k[i]= eval(input())
 +
 +
#3.Membuat matriks global kekauannya
 +
K[0,0]=n_k[0]
 +
K[N,N]=n_k[N-1]
 +
 +
#4.Membuat Pola Matriksnya
 +
 +
#Pola 1
 +
j_1=0
 +
for i_1 in range (0,N):
 +
    j_1+=1
 +
    K[i_1,j_1]=-(n_k[i_1])
 +
#Pola 2
 +
i_2=0
 +
for j_2 in range (0,N):
 +
    i_2+=1
 +
    K[i_2,j_2]=-(n_k[j_2])
 +
#Pola 3
 +
j_3=0
 +
for i_3 in range (1,N):
 +
    j_3+=1
 +
    K[i_3,j_3]=n_k[i_3]+n_k[i_3-1]       
 +
print('matriks kekakuan global sistem pegas adalah:','\n',K)
 +
 +
#5. Menentukan gaya yang bekerja
 +
Fn= eval(input('berapakah gaya yang berkerja?'))
 +
 +
A=K[1:ni,1:ni]
 +
       
 +
 +
n=len(A)    #jumlah dari baris dan jumlah dari kolom
 +
 +
B=np.zeros(n, float)
 +
B[n-1]=Fn
 +
 +
 +
#melakukan elminasi gauss
 +
for k in range (0,n-1):
 +
    for i in  range (k+1,n):
 +
        if A[i,k] != 0.0 :            #perintah jika sebuah baris yang akan dieliminasi, ada bagiannya yang tidak 0 maka akan di substract dengan pivot
 +
            lam = A[i,k]/A[k,k]
 +
            A[i, k+1:n] = A[i, k+1:n] - lam*A[k, k+1:n]
 +
            B[i]=B[i] - lam*B[k]
 +
print('matrix A:','\n',A)
 +
#back subt
 +
U= np.zeros(n,float)
 +
for m in range (n-1, -1, -1):
 +
        U[m]=(B[m]-np.dot(A[m, m+1:n], U[m+1:n]))/A[m,m]
 +
        print ('nilai U', m+2,'=',U[m])
 +
 +
# Menentukan Gaya reaksinya
 +
F=-n_k[0]*U[0]
 +
print ('maka nilai gaya reaksinya adalah',F)
 +
               
 +
       
  
 
oleh: Fadhil Azharrisman
 
oleh: Fadhil Azharrisman

Revision as of 13:15, 13 March 2019

Metoda Numerik, Merupakan Cabang ilmu yang mempelajari metode atau langkah-langkah yang berkaitan dengan pemodelan matematika. tentu saja untuk mempelajari metode numerik dibutuhkan suatu bekal yang perlu disiapkan yaitu cabang ilmu kalkulus, karena dalam metoda numerik kita membutuhkan pendekatan-pendekatan yang didasari oleh ilmu kalkulus, sehingga oada pengerjaannya kita dapat meminimalisir terjadinya suatu kesalahan yang akan berakibat pada kesalahan dalam mengambil kesimpulan. Syarat dalam menganbil mata kuliah Metoda numerik tidak hanya bedasar pada mahasiswa Fakultas Teknik universitas Indonesia, akan tetapi hal yang mendasar yaitu mahasiswa ini haruslah mahasiswa yang berakal. Berakal yang dimaksud dalam konteks ini yaitu memiliki akal, dimana akal merupakan tali yang mengikat kita sehingga kita tidak lepas dari kodratnya manusia.contoh dari penerapan berakal yaitu penerapan ilmu matematika, dimana matematika dapan menjadi penolong dan dapat menyesatkan. Adapun tujuan dari pembelajaran Metoda numerik adalah mahasiswa dapat memahami konsep-konsep serta prinsip dalam menyelesaikan suatu masalah denhgan metoda numerik. serta mengaplikasikan ilmu yang diperoleh selama proses pembelajaran dalam konteks metoda numerik. selain tujuan yang tertulis di atas, adapun tujuan yang ingin ditanamkan oleh Aki DAI yaitu mahasiswa dapat mengenal siapa dirinya sendiri sehingga mahasiswa dapat lebih optimal dalam menyelesaikan masalah.

Pada pertemuan kedua, aki dai menjelaskan mengenai menyelsaikan masalah dengan menggunakan sebuah program serta menjelaskan tentang bagaimana kita membuat flowchart. pada metode numerik kita dapat menyelesaikan beberapa masalah teknik dengan urutan yang telah diajarkan oleh Aki Dai, yaitu: 1. Masalah teknik 2. Model Matematika 3. Metoda numerik 4. Algoritma (flow Chart) 5. program komputer 6. hasil Numerk 7. Visual 8. Intepretasi 9. Solusi Engineering

Masalah teknik terdapat banyak contoh masalah keteknikan dalam kehidupan sehari-hari, misalnya bagaimana seorang arsitek kapal menentukan jenis lambung kapal yang sesuai, atau memperhitungkan pressure drop, yaitu kerugian aliran dari pipa, agar aliran di dalam pipa dapat mengalir maka kita harus memperhitungkan daya yang sesuai yang dihasilkan oleh mesin pompa sehingga sesuai dengan pressure dropnya, karena jika semakin besar debit air yang dibutuhkan maka kita membutuhkan daya pompa yang besar pula. Dalam aplikasinya tahap menyelesaikan masalah dapat dilakukan melalui beberapa metode: 1. metode teoritis 2. metode Percobaan 3. metode komputasi

Menyelesaikan masalah dengan metode komputasi dilakukan apabila sudah tidak adanya teori yang dapat mendukung penyelesaian dan apabila kita melakukan percobaan biaya yang dikeluarkan relatif mahal. Metode numerik dilakukan apabila kita sudah tidak dapat menyelesaikan permodelan matematika. Adapun langkah-langkah untuk menyelsaikan masalah disebut Algoritma, merupakan instruksi yang akan dijalankan oleh komputer karena pada komputer hanya dimengerti bahasa biner atau angka, komputer hanya mengerti pertambahan dan pengurangan. adapun Python dan C+ merupakan bahasa pemrograman.

Algoritma disusun pada program, setelah kita dapat mensimulasikan program tersebut simulasi akan menjalankan program tersebut yang akan menghasilkan numerik lalu akan menghasilkan Visual, setelah diperoleh hasil kita akan mengintrepretasikan hasil tersebut setelah kita melakukan cek dari programnya karena menyelesaikan masalah dengan komputer sama seperti percobaan

print('PR METNUM') print('Misalkan ada persamaan linear dua variabel \n ax+by=c \n px+qy=r') a=float(input('nilai a=')) b=float(input('nilai b=')) c=float(input('nilai c=')) p=float(input('nilai p=')) q=float(input('nilai q=')) r=float(input('nilai r='))

if b==q:

  m=a-p
  n=c-r
  x=n/m
  y=(c-(a*x))/b
  print('nilai x=',x,'nilai y=',y)

elif a==0:

  y=c/b
  x=(r-q*(y))/p
  print('nilai x=',x,'nilai y=',y)

elif p==0:

  y=r/q
  x=(c-b*(y))/a
  print('nilaix=',x,'nilai y=',y)

elif b==0:

  x=c/a
  y=(r-p*(x))/q
  print('nilaix=',x,'nilai y=',y)

elif q==0:

  x=r/p
  y=(c-a*(x))/b
  print('nilaix=',x,'nilai y=',y)

elif b!=q:

  i=(a*q)
  j=(b*q)
  k=(c*q)
  ii=(p*b)
  jj=(q*b)
  kk=(r*b)
  x=(k-kk)/(i-ii)
  y=(c-(b*x))/a
  print('nilai x=',x,'nilai y=',y)

input()




tugas video

https://www.youtube.com/watch?v=sv0N8S-rRkw&feature=youtu.be A=np.array([[5,3,2],[3,2,5],[3,5,2]], float) print (A)

B=np.array([14,10,12], float) print (B)

n=len (B) print('matriks=', n) x=np.zeros((3),float) for k in range (0,n-1):

   for i in range (k+1, n):
       if A[i,k] !=0.0:
            lam=A[i,k]/A[k,k]
            A[i,k+1:n] = A[i,k+1:n] - lam*A[k,k+1:n]
            B[i]=B[i] - lam*B[k]

print (x)

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

   x[k]=(B[k]-np.dot(A[k,k+1:n], x[k+1:n]))/A[k,k]
   print('X', str (k), '=', x[k])


13/03/2019 tugas FEM metode Numerik

import numpy as np from numpy import array

  1. 1. Menentukan Banyaknya pegas

N= eval(input('jumlah pegas pada sistem ini?'))

  1. nilai dari nodenya

ni=N+1

  1. nilai dari K

K= np.zeros((ni,ni),float)

  1. nilai K sama dengan jumlah nodenya
  1. 2. Mendefinisikan konstanta pegas

n_k=np.zeros(N)

for i in range (0,N):

   print('nilai konstanta pegas  yang ke-',i+1,' ?')
   n_k[i]= eval(input())
  1. 3.Membuat matriks global kekauannya

K[0,0]=n_k[0] K[N,N]=n_k[N-1]

  1. 4.Membuat Pola Matriksnya
  1. Pola 1

j_1=0 for i_1 in range (0,N):

   j_1+=1
   K[i_1,j_1]=-(n_k[i_1])
  1. Pola 2

i_2=0 for j_2 in range (0,N):

   i_2+=1
   K[i_2,j_2]=-(n_k[j_2])
  1. Pola 3

j_3=0 for i_3 in range (1,N):

   j_3+=1
   K[i_3,j_3]=n_k[i_3]+n_k[i_3-1]        

print('matriks kekakuan global sistem pegas adalah:','\n',K)

  1. 5. Menentukan gaya yang bekerja

Fn= eval(input('berapakah gaya yang berkerja?'))

A=K[1:ni,1:ni]


n=len(A) #jumlah dari baris dan jumlah dari kolom

B=np.zeros(n, float) B[n-1]=Fn


  1. melakukan elminasi gauss

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

   for i in  range (k+1,n):
       if A[i,k] != 0.0 :            #perintah jika sebuah baris yang akan dieliminasi, ada bagiannya yang tidak 0 maka akan di substract dengan pivot
           lam = A[i,k]/A[k,k]
           A[i, k+1:n] = A[i, k+1:n] - lam*A[k, k+1:n]
           B[i]=B[i] - lam*B[k]

print('matrix A:','\n',A)

  1. back subt

U= np.zeros(n,float) for m in range (n-1, -1, -1):

        U[m]=(B[m]-np.dot(A[m, m+1:n], U[m+1:n]))/A[m,m]
        print ('nilai U', m+2,'=',U[m])
  1. Menentukan Gaya reaksinya

F=-n_k[0]*U[0] print ('maka nilai gaya reaksinya adalah',F)


oleh: Fadhil Azharrisman