Michael Ahli

From ccitonlinewiki
Revision as of 09:13, 20 March 2019 by Michaelahli (talk | contribs)
Jump to: navigation, search

Resume kelas Metode Numerik

6 Februari 2018

Kelas Metode Numerik dibawakan oleh Dr. Ahmad Indra yang akrab disapai aki DAI. Tujuan dari perkuliahan ini adalah untuk :

1. Dapat memahami konsep / prinsip & mampu menerapkannya.

2. Menjadi orang yang lebih mengenal mengenal siapa dirinya.


Kala itu di kelas Metode Numerik 2019 ditantang menjadi pribadi yang ber akal. Persoalannya adalah : Jika A = (x^2-1)/(x-1) dan x=1 maka berapakah A?


Salah seorang mahasiwa menjawab bahwa persoalan tersebut tidak dapat diselesaikan begitu saja karena titik x=1 tidak ada pada fungsi A sehingga harus didekati menggunakan metode limit.


Pemikiran yang mendalam diperlukan karena dalam metode numerik mahasiswa akan mempelajari algoritma (flowchart, pemrograman, metode iterative), penyelesaian persamaan, diferensiasi dan integral, optimasi dan studi kasus.


Sebagai penutup, aki DAI berpesan bahwa “akal adalah tali yang mengikat pikiran kita agar tetap pada koridor yang manusiawi.”

(Ditulis oleh : Michael Ahli/1706042270)

Naval Architecture and Marine Engineering



Programming menggunakan bahasa Phyton


Berikut merupakan Syntax yang saya gunakan dengan bahasa Phyton untuk menyelesaikan persamaan linier

ax + b = c

px + q =r



import numpy as np

print("Solusi Persamaan Linier Dua Variabel")

print("ax + by = c")

print("px + qy = r")

print("Silahkan input nilai")

a = int(input("input value of a :"))

b = int(input("input value of b :"))

c = int(input("input value of c :"))

p = int(input("input value of p :"))

q = int(input("input value of q :"))

r = int(input("input value of r :"))

x = np.array([[a,b],[p,q]])

y = np.array([c,r])

z = np.linalg.solve(x,y)



Menentukan Break Even Point Kost Menggunakan Phyton


Berikut video yang telah saya upload ke youtube :


https://youtu.be/OvKy9Dtomz8


Berikut syntaxnya :


import numpy as np

a=np.array([[3,1,5],[1,1,1],[1,5,3]],float)

b =np.array ([[215],[65], [205]], float)

c=np.array([[3,1,5,215],[1,1,1,65],[1,5,3,205]],float)

print ('Panjang (X1), Lebar (X2) dan Jumlah Kamar Kost (X3) Didapat dari Matrix :')

print (c)

n=len(b)

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]

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]
   panjang = x[0]
   lebar = x[1]
   kamar = x[2]

harga = int(input("Masukkan Harga Bangunan per Meter Kuadrat : Rp. "))

print("")

hargakos = panjang * lebar * harga

print("Rumah kostan senilai Rp. " , hargakos)

print("")

sewa = int(input("Masukkan Harga Sewa Kost per Bulan : Rp. "))

print("")

perawatan = int(input("Masukkan Estimasi Biaya Perawatan Kost : Rp. "))

print("")

cuan = hargakos / ((sewa - perawatan) * x[2] )

cuansetahun = cuan/12

print("Anda Akan Balik Modal Setelah Menunggu Selama ", round(cuan),"Bulan atau Selama", round(cuansetahun), "Tahun" )


FINITE ELEMENT METHOD

Metode menghitung kekuatan struktur dengan permodelan pegas


https://youtu.be/4jx9QytiEjE


import numpy as np

print ("Berikut merupakan aplikasi menghitung Struktur vertikal dengan spesifikasi :")

print ("1. Terdiri dari tiga komponen struktur yang tersambung vertikal")

print ("2. Material berbeda")

print ("3. Dimensi berbeda")

print ("4. Kedua ujung tetap")

print ("5. Gaya yang bekerja pada struktur harus diketahui")


A1 = int(input("Masukkan Luas Permukaan Bidang Sambung Material 1 :"))

L1 = int(input("Masukkan Panjang Material 1 :"))

E1 = int(input("Masukkan Modulus Young Material 1 :"))

k1 = A1*E1/L1

print ("k1 =", k1)


A2 = int(input("Masukkan Luas Permukaan Bidang Sambung Material 2 :"))

L2 = int(input("Masukkan Panjang Material 2 :"))

E2 = int(input("Masukkan Modulus Young Material 2 :"))

k2 = A2*E2/L2

print ("k2 =", k2)


A3 = int(input("Masukkan Luas Permukaan Bidang Sambung Material 3 :"))

L3 = int(input("Masukkan Panjang Material 3 :"))

E3 = int(input("Masukkan Modulus Young Material 3 :"))

k3 = A3*E3/L3

print ("k3 =", k3)


F2 = int(input("Masukkan Gaya di sebelah kiri (vektor) :"))

F3 = int(input("Masukkan Gaya di sebelah kanan (vektor) :"))


ka = k1+k2

kb = k2+k3


a = np.array([[ka,-k2],[-k2,kb]],float)

b = np.array([F2,F3],float)

c = np.array([[ka,-k2],[-k2,kb],[F2,F3]],float)

n = len(b)

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]

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]


x2 = x[0]

x3 = x[1]


F1 = x2*(-k1)

F4 = x3*(-k3)


print ("Kalkulasi deformasi antara material 1 dan 2 sebesar :", x2)

print ("Kalkulasi deformasi antara material 2 dan 3 sebesar :", x3)

print ("Gaya pada ujung kiri struktur sebesar :", F1)

print ("Gaya pada ujung kanan struktur sebesar :", F4)


FINITE ELEMENT METHOD 2 MATERIAL DENGAN BATAS DEFLEKSI


import numpy as np

N = 2

y = N+1

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

k_peg = np.zeros(N)

E = np.zeros(N)

L = np.zeros(N)

A = np.zeros(N)

for i in range (0,N):

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


print("Berapa gap ke fixed structure")

De=eval(input())


K[0,0] = k_peg[0]


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


j_1 = 0

for i_1 in range (0,N):

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


i_2 = 0

for j_2 in range (0,N):

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


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("Input besaran gaya? "))



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


n = len(A)


B = np.zeros((n,1),float)

B[0] = gaya

B[1] = 0



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]


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 maksimum!")

else:

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