Difference between revisions of "Deju Kevin Paulus"
(3 intermediate revisions by the same user not shown) | |||
Line 35: | Line 35: | ||
Membahas Aplikasi FEM pada pegas menggunakan Python. | Membahas Aplikasi FEM pada pegas menggunakan Python. | ||
+ | |||
+ | '''Metode Numerik - UAS''' | ||
+ | |||
+ | Link : https://youtu.be/RyDzjanFtN4 | ||
+ | |||
+ | Coding : | ||
+ | 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") | ||
+ | |||
+ | Link Folder : https://drive.google.com/drive/folders/1JHH_EWtaQNeam1lLyoAiNtHAlsgOW5uH?usp=sharing |
Latest revision as of 22:25, 29 May 2019
Metode Numerik - 6 Februari 2019
Resume Pertemuan Pertama
Pada pertemuan pertama Metode Numerik kita diajarkan terlebih dahulu hal-hal apa saja yang akan kita pelajari selama mata kuliah ini berlangsung. Hal-hal itu ialah flowchart, algoritma, penyelesaian aljabar simultan, diferensial, integral, dan optimasi serta berbagai studi kasus. Metode numerik sendiri adalah mata kuliah yang ada keterkaitannya dengan mata kuliah-mata kuliah sebelumnya. Contoh mata kuliah tersebut adalah aljabar linier serta kalkulus. Tujuan perkuliahan Metode Numerik adalah memahami konsep/prinsip dan menerapkannya serta menjadi orang yang lebih mengenal siapa dirinya.
Dalam Metode Numerik, kita harus bisa memprogramkan suatu perhitungan yang rumit menjadi lebih sederhana ke dalam komputer supaya kita bisa mendapatkan hasil yang tepat. Dan saat pertemuan pertama terdapat contoh soal dan juga pembahasan terkait ‘Akal’. Dalam perkuliahan kedepannya akan menggunakan Aplikasi program EES dan C. Adapun buku referensi itu bebas dari mana saja tetapi direkomendasikan yaitu buku Advanced Engineering Mathematics karya Edwin Kryzig.
Pada dasarnya Metode Numerik sangat berhubungan dengan matematika. Matematika dapat menyelesaikan masalah sekaligus dapat semakin menyesatkan, semua itu bergantung kepada kemampuan kita dalam memilih dari sisi yang mana.
Metode Numerik - 13 Februari 2019
Resume Pertemuan Kedua
Mata kuliah Metode Numerik sangat membantu kita sebagai engineer untuk melakukan perhitungan dengan cepat. Semua permasalahan di teknik dapat kita hitung asalkan kita dapat mengubah permasalahan itu kedalam bentuk matematika yang nantinya dapat diselesaikan oleh suatu program dengan mudah. Contoh kasus yang dapat diselesaikan dengan persamaan matematis adalah perhitungan distribusi massa pada super structure kapal agar kapal tetap mempunyai titik metacentre yang sempurna.
Metode Numerik - 20 Februari 2019
Resume Pertemuan Ketiga
Metode Numerik itu merupakan perhitungan integral. Pengaplikasian Python dalam hal sederhana yaitu persamaan linear. Persamaan linear biasanya dilakukan dengan menggunakan matriks dengan ordo 3x3. Dengan python, kita harus bisa menggunakannya dengan bahasanya yang sama, yaitu berkomunikasi dengan komputer. Dalam menggunakan python, pertama kita harus memahami bahasanya. Selain itu prinsip dari python adalah looping atau memiliki pola tertentu dalam komputasinya. Pada eliminasi Gauss dapat dicari dengan langkah-langkah yang biasa dilakukan pada mata kuliah Aljabar Linear. Dengan menggunakan aplikasi phyton, dapat digunakan untuk membentuk pola dari persamaan linear tersebut dan lebih cepat mendapatkan jawaban. Itu membuktikan bahwa kita dapat bekomunikasi dengan komputer.
Metode Numerik - 6 Maret 2019
Resume Pertemuan Kelima
Tugas besar : Membuat kontruksi bangunan (kos-kosan/tempat tinggal) dengan biaya dan keuntungan seoptimal mungkin menggunakan phyton. Sebelum membuat bangunan, membuat perhitungan pondasi terlebih dahulu kemudian hitung kemampuan fondasinya. Buat permodelan dari 3D menjadi 2D. Modelling sendiri adalah teknik menyederhanakan perhitungan yang kompleks.
link video : https://youtu.be/34bMnxrvrcc
Metode Numerik - 13 Maret 2019
Resume Pertemuan Keenam
Membahas Aplikasi FEM pada pegas menggunakan Python.
Metode Numerik - UAS
Link : https://youtu.be/RyDzjanFtN4
Coding : 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")
Link Folder : https://drive.google.com/drive/folders/1JHH_EWtaQNeam1lLyoAiNtHAlsgOW5uH?usp=sharing