Difference between revisions of "Talk:Januri Akbar"

From ccitonlinewiki
Jump to: navigation, search
(finite element method)
(TUGAS AKHIR SEMESTER: new section)
 
Line 215: Line 215:
  
 
print ("Gaya pada ujung kanan struktur sebesar :", F4)
 
print ("Gaya pada ujung kanan struktur sebesar :", F4)
 +
 +
== TUGAS AKHIR SEMESTER ==
 +
 +
berikut adalah tugas akhir semester untuk penerapan golden search ratio
 +
 +
berikut codingnya
 +
 +
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
 +
        print ("Bracket did not find a minimum")
 +
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 T 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 adalah link untuk PPT, video, dan python https://drive.google.com/open?id=1gGMQcV-m5apFkzW4jRx8kDTMl3Z5IMwi
 +
 +
berikut adalah link untuk youtube https://youtu.be/rGGaZ2zMDhI

Latest revision as of 18:57, 29 May 2019

Hubungan mata kuliah metode numerik bisa dihubungkan dengan tiga hal: Metnum dan Strutkur pada kapal, Metnum dan Propulsi, Metnum dan Agama (menghitung zakat)


Terdapat tiga dimensi, yaitu satu dimensi,dua dimensi dan tiga dimensi. Contoh perhitungan pada satu dimensi ialah Bernouli. Langkah langkah dalam menyelesaikan masalah di teknik ialah,masalah di teknik,model matematis,metode numerik,algoritma(flow chart),program komputer,hasil numerik,visual,interpretasi/analisa,solusi engineering (teknik).

Contoh menyelesaikan masalah diteknik adalah kekuatan rangka badan kapal terhadap keadaan laut tertentu Tahap penyelesaiian masalah adalah Metode teoritis,metode percobaan dan yang terakhir adalah metode komputasi. Metode komputasi adalah pendekatan dengan ilmu matematika dan dasar dasar fisika.

Algoritma adalah Langkah langkah penyelesaian masalah terdapat satu set instruksi untuk dikerjakan komputer. Terdapat juga program komputer. Salah satu contoh program komputer sendiri adalah python yang dapat mengcoding sebuah program dan dapat mensumulasikannya.

Setelah itu terdapat hasil numerik yaitu hasil dari pemograman berupa angka angka. Selanjutnya interpretasi dapat berupa hasil visualisasi seperti perbedaan warna yang dianalisa oleh engineer.

pertemuan 2

Hubungan mata kuliah metode numerik bisa dihubungkan dengan tiga hal: Metnum dan Strutkur pada kapal, Metnum dan Propulsi, Metnum dan Agama (menghitung zakat)


Terdapat tiga dimensi, yaitu satu dimensi,dua dimensi dan tiga dimensi. Contoh perhitungan pada satu dimensi ialah Bernouli. Langkah langkah dalam menyelesaikan masalah di teknik ialah,masalah di teknik,model matematis,metode numerik,algoritma(flow chart),program komputer,hasil numerik,visual,interpretasi/analisa,solusi engineering (teknik).

Contoh menyelesaikan masalah diteknik adalah kekuatan rangka badan kapal terhadap keadaan laut tertentu Tahap penyelesaiian masalah adalah Metode teoritis,metode percobaan dan yang terakhir adalah metode komputasi. Metode komputasi adalah pendekatan dengan ilmu matematika dan dasar dasar fisika.

Algoritma adalah Langkah langkah penyelesaian masalah terdapat satu set instruksi untuk dikerjakan komputer. Terdapat juga program komputer. Salah satu contoh program komputer sendiri adalah python yang dapat mengcoding sebuah program dan dapat mensumulasikannya.

Setelah itu terdapat hasil numerik yaitu hasil dari pemograman berupa angka angka. Selanjutnya interpretasi dapat berupa hasil visualisasi seperti perbedaan warna yang dianalisa oleh engineer.



print (“Tugas Metnum \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 a == p:

i = b - q
j = c - r
y = j/i
x = (c -(b*y))/a
print("nilai y=",y,"nilai x =",x)

elif a == 0:

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

elif b == 0:

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

elif p == 0:

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

elif q == 0:

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

elif a != p :

a2= a*p
b2=b*p
c2=c*p
p2=p*a
q2=q*a
r2=r*a
i2 = b2 - q2
j2 = c2 - r2
y = j2 / i2
x = (c - (b * y))/a
print("nilai y=", y, "nilai x =", x)

input()

Pertemuan 3

pertemuan kali ini membahas aplikasi python. Selama ini kita menyelesaikan aljabar linier pada matriks, kita menyelesaikan dengan manual atau tulis tangan dengan rumus yang telah ada.Tetapi kita bisa menggunakan pyhton untuk menyelesaikannya dan kita dituntut kita harus paham juga cara matematisnya.

Dalam phyton juga terdapat fungsi looping. Yang berfungsi untuk menjalankan program yang ada di dalam sistemnya. Beberapa bahasa python dijelaskan, antara lain :

n=jumlah baris/kolom i=baris ke.. j=kolom ke.. k= pivot (patokan baris).

pertemuan 4

Mengakses numpy dengan syntax "np." seperti np.array atau np.linalg bergantung pada kebutuhan. np.array dipergunakan untuk mengakses sub bab array dari modul numerical python untuk membuat matriks. Syntax print sebuah text harus diberi tanda kutip seperti print("Hello World"). Untuk print sebuah text dan variable a dapat ditulis print("Variabel A adalah" , a). Len() digunakan untuk mengukur panjang baris dari matriks yang ada.Selain itu looping pada python bisa dipergunakan syntax for atau if dengan kondisi tertentu sesuai kasus yang ada seperti for k in range(0,n-1). Jarak menjorok ke dalam mengartikan bahwa syntax yang ada adalah bagian dari syntax sebelumnya sehingga saling berkaitan.

Tugas

sebuah asrama dengan 3 lantai memiliki 3 tipe kamar. kamar tipe I,II,dan III. pada lantai 1 kamar tipe I,II, dan III berturut-turut berjumlah 3,3,2. padalantai 2 berturut-turut berjumlah 4,3,3 dan lantai 3 berjumlah masing-masing 2 kamar. harga untuk kamar tipe 1 yaitu 100 juta, kamar tipe 2 120 juta dan kamar tipe 3 yaitu 150 juta,dengan biaya perasional tip bulan 5 juta dan biaya gedung 15.550.000.000. tentukan BEP asrama atau kost.

jawaban ada di https://www.youtube.com/watch?v=8EZ6AroZxzw

pegas

Pengaplikasian perhitungan eliminasi gauss dappat digunakan perhitungan FEM pegas. penghitungan tersebut dapat dilakukan dengan mengubah bentuk persamaan untuk perhitungan gaya pegas ke dalam bentuk matrix.

dalam satu pegas memiliki dua node yaitu pada masing masing ujung pegas. anggap kedua node tersebut sebagai i dan j. untuk menghitung suatu FEM pegas kita dapat menghitung dengan menggunakan F= k x delta. dimana k adalah koefisien pegas dan delta adalah pengurangan displacement antara masing masing node

pada dua pegas kita dapat mengubah persamaan tersebut kedalam bentuk matrix agar kita dapat menggunakan eliminasi gauss untuk enghitung FEM nya. hasil nya tersebut berupa gaya dari masing masing node

selain itu juga penghitungan tersebut dapat digunakan untuk menghitung pegas dalam bentuk rangkaian seri. sebagai contoh anggap kita memiliki dua pegas yang dirangkai secara seri. dikarenakan pegas tersebut merupakan pegas seri, node yang dihasilkan sebanyak 3 buah, dimana menyebabkan terbentuknya matrix 3x3 pada saat perhitungan eliminasi gauss nya. selain itu juga displacementnya menjadi sebanyak 3 buah juga untuk masing masing node. sehingga dapat disimpulkan bahwa jumlah node sama dengan jumlah spring ditambah dengan satu

untuk penghitungannya terdapat beberapa tahap yaitu

1. menentukan matrix global stiffness

2. menentukan displacement pada node tetap adalah 0 atau tidak ada displacement sama sekali

3. tentukan displacement 1, 2, 3, ..., n dengan menggunakan eliminasi gauss

4. tentukan gaya reaksi berdasarkan hasil yang di dapatkan

finite element method

pada pembahasan kali ini yaitu perhitungan pada finite element method dengan kedua ujung tetap. disajikan kasus dengan material dan ukuran yang berbeda.

import numpy as np

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

print ("1. Terdiri dari tiga komponen struktur yang tersambung satu sama lain")

print ("2. Material berbeda")

print ("3. Dimensi berbeda")

print ("4. Kedua ujung tetap")

print ("5. Gaya 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 :"))

https://www.youtube.com/watch?v=pQc2QJg61q0&index=9&t=4s&list=WL

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)

TUGAS AKHIR SEMESTER

berikut adalah tugas akhir semester untuk penerapan golden search ratio

berikut codingnya

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
       print ("Bracket did not find a minimum")

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 T 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 adalah link untuk PPT, video, dan python https://drive.google.com/open?id=1gGMQcV-m5apFkzW4jRx8kDTMl3Z5IMwi

berikut adalah link untuk youtube https://youtu.be/rGGaZ2zMDhI