Antoni

From ccitonlinewiki
Jump to: navigation, search

Nama : ANTONI NPM  : 1706042251 Major: Naval architect and marine engineering

TUGAS 1

Tujuan dari pembelajaran metode numerik - memahami konsep/prinsip dan mampu menerapkannya - menjadi orang yang lenih mengenal dirinuya .

penerapan-penerapannya juga beberapa macam yaitu: 1.algoritma , flowchart , pemograman, metode iterative 2.menyelesaikan persamaan aljabar simultan 3.diferensial & integral 4.optimasi 5.studikasus

pada metode numerik ini kita akan banyak menjumpai angka-angka yang nilainya desimal karena dasarnya metode numerik ini ialah pedekatan sebuah nilai sebagai contoh kita punya software yang terdiri dari 34 bit dan 64 bit hal ini adalah menunjukkan koreksi pendekatan ke sebuah nilai semakin besar jumlah bit nya maka semakin banyak angka desimal yang bisa terlihat atau dapat di tampilkan.

maka perlu penalaran yang logis untuk menyelesaikan / menemukan solusi dengan metode numerik ini , bukan hafalan namun konsep berfikir kita , cara membentuk suatu konsep berfikir kita perlu banyak menganalisis dengan selalu mencari tau asal usul kenapa hal tersebut ada dan kenapa hal tersebut dapat terjadi, dengan menggunakan logika berfikir yang finite (ada batas)

salah satu logika berfikir yang kita pernah pelajari ialah kalkulus , kalkulus ialah notasi logic untuk menginterpretasikan sebuah pernyataan, kemudian dulu juga mempelajari matematika , nah kata dosen Pak Ahmad Indra (PAI) atau aki dia menyebutkan matematika bisa membantu dan juga menyesatkan , jika manusia mempunyai konsep pemikiran infinite maka matematika bisa menyesatkan. suatu saat kita akan mengerti ujar Pak Ahmad Indra

Untuk ujiannya kita menggunakan sistem muhasabah ( self reflection ) seperti yang sudah di dapatkan apa saja,dengan meliputi 3 komponen penting yaitu : 1. knowladge : yaitu pengetahuan kita, tentang yang sudah di pelajari 2. skill  : keterampilan kita dalam menerapkan pengetahuan kita 3. Value  : perubahan diri kita dari sebelumnya seperti; menjadi lebih rajin , menjadi lebih logis dalam berfikir.

Tugas 2

import numpy as np print("Hello this is linear algebra solution program :)") print("ix + jy = k") print("ax + by = c") print("Please input the value") i = int(input("input value of i :")) j = int(input("input value of j :")) k = int(input("input value of k :")) a = int(input("input value of a :")) b = int(input("input value of b :")) c = int(input("input value of c :")) x = np.array([[i,j],[a,b]]) y = np.array([k,c]) z = np.linalg.solve(x,y)

xval = int(z[0]) yval = int(z[1]) print("x = ",xval) print("y = ", yval)

TUGAS 3

Link video pembahasan break even point menggunakan matriks dengan metode eliminasi gauss jordan: https://youtu.be/YYITjvrmGIU

TUGAS 4

Membahas mengenai peralihan dan peregangan displacement menggunakan FEM dengan pengaplikasian pegas

import numpy as np

  1. menentukan jumlah pegas yang diinginkan

N = eval(input("masukan jumlah pegas yang diinginkan ? "))

y = N+1

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

  1. mendefinisikan array yang berisi konstanta pegas

k_peg = np.zeros(N)

for i in range (0,N):

   print("masukan nilai konstanta pegas yang ke ", i+1 , "?")
   k_peg[i] = eval(input())
  1. membuat matriks global kekuatan

K[0,0] = k_peg[0]

K[N,N] = k_peg[N-1]

  1. pola1

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

   j_1 += 1
   K[i_1,j_1] =- (k_peg[i_1])
  1. pola2

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

   i_2 += 1
   K[i_2,j_2] =- (k_peg[j_2])
  1. pola3

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

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

print("Matriks kekakuan global sisem pegas adalah : ") print("") print (K)

  1. menentukan gaya yang bekerja

gaya = eval(input("masukan gaya yang bekerja atau yang diketahui ? "))


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

n = len(A)

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

  1. eliminasi gauss

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:n] = A[i, k:n] - lam*A[k, k:n]
           
           B[i]=B[i] - lam*B[k]

print("Matriks A : ") print("") print(A)


  1. back substitution

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. reaction force

f1 = k_peg[0] * U[0]

print("Maka nilai F1(reaction force) adalah : ", f1)

Flow chart2.jpg

TUGAS 5 Menentukan nilai defleksi menggunakan metode numerik di bantu dengan persamaan pegas melalui persamaan matematisnya

import numpy as np

  1. menentukan jumlah pegas yang diinginkan

N = 2

y = N+1

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

  1. mendefinisikan bahwa array berisi konstanta pegas

k_peg = np.zeros(N) D=np.zeros(N) E=np.zeros(N) L=np.zeros(N) A_1=np.zeros(N) A=np.zeros(N) E_L=np.zeros(N) for i in range (0,N):

   print("masukan nilai diameter material ", i+1," ?")
   D[i]=eval(input())
   print("masukan nilai Modulus Young material ", i+1," ?")
   E[i]=eval(input())
   print("masukan nilai panjang material ", i+1," ?")
   L[i]=eval(input())
   A_1[i] = float(D[i] * D[i])
   A[i] = float(A_1[i] * 0.785)
   E_L[i] = float(E[i] / L[i])
   k_peg[i] = float(A[i] * E_L[i])
   print("Nilai konstanta pegas ke - ", i+1, "adalah ",k_peg[i])

print("berapa besar jarak antara Titik B dan Material?") De=eval(input())

  1. membuat matriks global kekuatan

K[0,0] = k_peg[0]

K[N,N] = k_peg[N-1]

  1. pola1

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

   j_1 += 1
   K[i_1,j_1] =- (k_peg[i_1])
  1. pola2

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

   i_2 += 1
   K[i_2,j_2] =- (k_peg[j_2])
  1. pola3

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

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

print("Matriks kekakuan global sisem pegas adalah : ") print("") print (K)

gaya = eval(input("masukkan gaya yang bekerja ? "))


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

n = len(A)

B = np.zeros((n,1),float) B[0] = gaya B[1] = 0


  1. eliminasi gauss

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:n] = A[i, k:n] - lam*A[k, k:n]
           B[i]=B[i] - lam*B[k]
  1. back substitution

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])

if (U[n-1]>De):

   print("Defleksi melebihi batas maksimum!")

else:

   print("Defleksi senilai : ",U[n-1])


UAS METODE NUMERIK TAKE HOME

optimasi L stiffener dengan metode golden range ratio

berikut kodingan yang saya gunakan untuk melakukan optimasi :

import math def bracket(f,x1,h):

   c = 1.618033989
   f1 = f(x1)
   x2 = x1 + h
   f2 = f(x2)
   if f2 > f1:
       h = -h
       x2 = x1 + h
       f2 = f(x2)
       if f2 > f1:
           return x2,x1 - h
   for i in range (100):
       h = c*h
       x3 = x2 + h
       f3 = f(x3)
       if f3 > f2:
           return x1,x3
       x1 = x2
       x2 = x3
       f1 = f2
       f2 = f3
     

def search(f,a,b,tol=1.0e-9):

       nIter = int(math.ceil(-2.078087*math.log(tol/abs(b-a))))
       R = 0.618033989
       C = 1.0 - R
       x1 = R*a + C*b
       x2 = C*a + R*b
       f1 = f(x1)
       f2 = f(x2)
       for i in range(nIter):
           if f1 > f2:
               a = x1
               x1 = x2
               f1 = f2
               x2 = C*a + R*b
               f2 = f(x2)
           else:
               b = x2
               x2 = x1
               f2 = f1
               x1 = R*a + C*b
               f1 = f(x1)
       if f1 < f2:
           return x1,f1
       else:
           return x2,f2

print("Aplikasi Optimasi Section Modulus L Stiffner") print("Kondisi Terikat : lebar alas > lebar atas > lebar tengah") b1 = eval(input("Nilai lebar bangun alas :")) b3 = eval(input("Nilai lebar bangun atas :")) b2 = eval(input("Nilai lebar bangun tengah :")) H = eval(input("Nilai tinggi L stiffner :")) def f(x):

   A1 = b1*(H-x)/2
   A2 = b2*x
   A3 = b3*(H-x)/2
   d1 = 1/2*(H-x)/2
   d2 = 1/2*x+(H-x)/2
   d3 = 3/4*(H-x)+x
   I1 = 1/12*b1*((H-x)/2)**3
   I2 = 1/12*b2*x**3
   I3 = 1/12*b3*((H-x)/2)**3
   dc = H-(d1*A1+d2*A2+d3*A3)/(A1+A2+A3)
   I = I1-A1*(d1-dc)**2+I2-A2*(d2-dc)**2+I3-A3*(d3-dc)**2
   Z = I/dc
   return Z

xStart = 0.0 h = 1.0 x1,x2 = bracket(f,xStart,h) y,fMin = search(f,x1,x2) print("optimal sectional area =",-fMin) print("sectional area awal" , f(H)) A = -fMin/f(H)*100 print ("efisiensi",A,"%") input ("\nPress return to exit")

berikut link video youtube saya : https://youtu.be/pDco3iFLkiY

Berikut link PPT saya di G-drive: https://drive.google.com/folderview?id=1-qWXJuIkt_fYuTwWy5kYQ0NxKUXYURdu