Difference between revisions of "Metnum03 Favian Adyatma"

From ccitonlinewiki
Jump to: navigation, search
(Pertemuan 5: 7 Desember 2020)
(Ujian Akhir Semester Metnum 03)
 
(27 intermediate revisions by the same user not shown)
Line 421: Line 421:
  
 
== '''Pertemuan 5: 7 Desember 2020''' ==
 
== '''Pertemuan 5: 7 Desember 2020''' ==
 +
 +
'''Tugas Quiz 1'''
  
 
Pertemuan kelima dari kelas Metode Numerik 03 menyisakan tugas kepada kami sebagai tindaklanjut dari tugas sebelumnya. Sebagaimana kita tahu, bahwa tugas sebelumnya, kami ditugaskan untuk menghitung gaya reaksi pada elemen beam penyusun statika struktur. Dengan arahan Pak Dai, kami kembali diberikan tugas untuk mengembangkan sistem coding yang telah dirancang oleh rekan kami, Ahmad Mohammad Fahmi.
 
Pertemuan kelima dari kelas Metode Numerik 03 menyisakan tugas kepada kami sebagai tindaklanjut dari tugas sebelumnya. Sebagaimana kita tahu, bahwa tugas sebelumnya, kami ditugaskan untuk menghitung gaya reaksi pada elemen beam penyusun statika struktur. Dengan arahan Pak Dai, kami kembali diberikan tugas untuk mengembangkan sistem coding yang telah dirancang oleh rekan kami, Ahmad Mohammad Fahmi.
  
Maka dari itu, kami berdiskusi untuk mengembangkan serta menyempurnakan apa yang telah tersedia dari coding sebelumnya. Melalui platform ini, saya coba memaparkan apa yang telah saya dapat melalui diskusi yang telah kami lakukan. Kendati demikian, masih banyak yang saya belum mengerti dari apa yang saya akan tulis pada laman ini. Namun, saya tetap tuliskan karena telah dilakukan karena tetap merupakan progres dari diskusi yang dilakukan.
+
Maka dari itu, kami berdiskusi untuk mengembangkan serta menyempurnakan apa yang telah tersedia dari coding sebelumnya. Melalui platform ini, saya coba memaparkan apa yang telah saya dapat melalui diskusi yang telah kami lakukan. Kendati demikian, masih banyak yang belum saya mengerti dari apa yang saya akan tulis pada laman ini. Namun, saya tetap tuliskan karena telah dilakukan karena tetap merupakan progres dari diskusi yang dilakukan.
 +
 
 +
[[File:Soal3.jpeg|center|425px]]
 +
 
 +
Di atas merupakan soal yang diberikan. Soal tersebut diminta kepada kami untuk dijawab berdasarkan pengembangan dari jawaban yang telah ada pembahasannya.
 +
 
 +
Berikut adalah link yang terintegrasi kepada berkas hasil pengerjaan perhitungan beam di OpenModelica:
 +
 
 +
https://drive.google.com/drive/folders/14SGfwkzNHtDlkqLvbO_ZxoGc9JmKBJM1?usp=sharing
 +
 
 +
Kemudian saya akan menyertakan beberapa bagian dari hasil pekerjaan tersebut di bawah ini.
 +
 
 +
[[File:FCFC.PNG|200px]]
 +
 
 +
Pada proses perhitungan yang dilakukan kali ini menggunakan tujuh function, untuk kemudian di-''input'' pada class. Saya menggunakan fitur Class tersebut saat semua function sudah benar, sehingga dapat dilakukan panggilan pada Class.
 +
 
 +
[[File:MatriksElemenVian.PNG|600px]]
 +
 
 +
Memasukkan rumus pertama kali dilakukan untuk kalkulasi pada tiap elemen beam (Matriks Elemen).
 +
 
 +
[[File:MatriksGlobal.PNG|600px]]
 +
 
 +
Berawal dari matriks tiap elemen, tahap berikutnya adalah melakukan perhitungan dengan cara input matriks global.
 +
 
 +
Tahap terus berlanjut, dimana diteruskan dengan perhitungan matriks total, menentukan ''boundary condition'', penyelesaian dengan Gauss-Jordan, dan diakhiri dengan perhitungan gaya reaksi. Diantara proses tersebut, dilakukan juga perhitungan pemeriksaan gaya, dimana hal tersebut adalah tindaklanjut dari tugas yang diberikan Pak Dai. Tempo hari disampaikan kepada Ahmad dan teman sekelas bahwa kami harus menemukan formula untuk memastikan sigma F dari segala axis adalah 0. Maka, pemeriksaan gaya tersebut adalah ''result''-nya.
 +
 
 +
Di bawah ini adalah tampilan dari coding pemeriksaan gaya.
 +
 
 +
[[File:PeriksaGaya.PNG|600px]]
 +
 
 +
Kemudian, berikut adalah sedikit cuplikan dari hasil simulate Class yang diperoleh.
 +
 
 +
[[File:HasilVian.PNG|220px]]
 +
 
 +
Hasil dari pengerjaan dapat dilihat melalui link drive di atas.
 +
 
 +
== '''Pertemuan 6: 14 Desember 2020''' ==
 +
 
 +
Kelas keenam ini dibuka oleh Pak Ahmad Indra, ditambah dengan penjelasannya tentang optimasi perhitungan ''truss'' sederhana dengan menggunakan metode numerik. Metode numerik disebut memungkinkan untuk mempermudah kita mendapatkan data objektif yang diinginkan dari suatu sistem ''truss'' sederhana.
 +
 
 +
Pada penjelasan mengenai tugas besar dari dosen disebut bahwa kita diharapkan dapat menemukan ''stress'' atau tegangan yang maksimum dengan harga minimum. Aspek-aspek yang dapat diubah (variabel bebas) antara lain dimensi dari batangan ''truss''. Untuk tahap akhir, kami diminta untuk membandingkan hasil ''stress'' dengan tabel ''properties''.
 +
 
 +
Sesi kelas pun berlanjut dengan pendampingan simulasi oleh Bu Chandra mengenai sebuah kasus. Kasus tersebut diambil dari buku teks oleh Steven Chapra mengenai perhitungan ''Bracket Optimization Using Golden Ratio Method''. Proses perhitungan tersebut diakhiri dengan membandingkan hasil simulasi OpenModelica dengan hasil riil di buku teks.
 +
 
 +
== '''Tugas Besar Metnum''' ==
 +
 
 +
Tugas besar yang diberikan adalah optimasi perhitungan susunan statika struktur sederhana. Saya berprogres dengan merancang lini masa atau ''timeline'' untuk pengerjaan tugas besar ini. Saya pun masih memiliki kekurangan di sana sini dan memerlukan pembelajaran dari teman-teman yang lain.
 +
 
 +
[[File:TLTubesMetnum2.PNG|620px]]
 +
 
 +
Tabel di atas adalah lini masa yang saya buat untuk menuntaskan tugas besar yang diberikan ini.
 +
 
 +
'''Kelas 28 Desember 2020'''
 +
 
 +
Kelas ketujuh pada tanggal 28 Desember 2020 ini kami mengulas progres tugas besar dari peserta didik masing-masing didampingi oleh Pak Dai. Kami menjelaskan kendala-kendala yang dihadapi. Namun, kelas hanya dihadiri oleh beberapa peserta didik saja disebabkan adanya miskomunikasi tanggal merah. Sesi kelas tetap dilanjutkan dengan arahan untuk melanjutkan tugas besar yang telah diberikan. Sebagai tindaklanjutnya, kelas Metode Numerik 02 dan 03 akan mengadakan asistensi serta diskusi bersama demi kelancara tugas besar ini. Sementara ini, kami akan mempelajari coding dari Ahmad Fahmi yang telah dikirim ke Whatsapp ''Group'' kelas kami.
 +
 
 +
Tugas besar kali ini adalah tugas untuk mengoptimasi desain struktur sederhana. Berikut adalah model yang telah dibahas bersama oleh teman-teman sekelas beserta ''properties'' dari struktur tersebut.
 +
 
 +
[[File:FotoTuMet.PNG|370px]]
 +
 
 +
Kemudian ada beberapa tujuan dari tugas besar ini, yaitu:
 +
 
 +
1. Membuat design optimum dengan biaya yang rendah
 +
 
 +
2. Membandingkan grafik terhadap
 +
 
 +
A) Y = Cost, X = Area variabel terikat. Variabel bebas = Material
 +
 
 +
B) Y = Cost, X = Material variabel terikat. Variabel bebas = Areal
 +
 
 +
Untuk mencapai tujuan tersebut, akan dilakukan proses perhitungan dengan tahap sebagai berikut.
 +
 
 +
Cara / Prosedur pengerjaan
 +
 
 +
1. Memilih bahan area dan material, dari data akan tersedia harga per satuan panjang
 +
 
 +
2. Konfigurasi: Panjang L, koordinat titik node
 +
 
 +
3. Melakukan perhitungan
 +
 
 +
4. melakukan verifikasi dan check antara ''stress/cost''
 +
 
 +
'''Data Material yang Dibutuhkan'''
 +
 
 +
[[File:DataBesi.PNG]]
 +
 
 +
'''Spesifikasi dan Harga Material'''
 +
 
 +
[[File:SpesifikasiMaterial.PNG]]
 +
 
 +
'''Permodelan Numerik'''
 +
 
 +
{| class="wikitable"
 +
|-
 +
| style='border-style: none  none  solid  solid;' |
 +
''' 3D Trusses Model'''
 +
 
 +
//define initial variable
 +
 
 +
  parameter Integer Points=size(P,1); //Number of Points
 +
 
 +
  parameter Integer Trusses=size(C,1); //Number of Trusses
 +
 
 +
  parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)
 +
 
 +
  parameter Real Safety= (nilai yield/nilai stress) ;  //Safety factor
 +
 
 +
  parameter Real Area= (nilai area) ;  //Luas Besi Siku (Dimension=30x30x3mm)
 +
 
 +
  parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)
 +
 
 +
//define connection
 +
parameter Integer C[:,2]=[1,5;  // (Elemen 1)
 +
                          2,6;  // (Elemen 2)
 +
                          3,7;  // (Elemen 3)
 +
                          4,8;  // (Elemen 4)
 +
                          5,6;  // (Elemen 5)
 +
                          6,7;  // (Elemen 6)
 +
                          7,8;  // (Elemen 7)
 +
                          5,8;  // (Elemen 8)
 +
                          5,9;  // (Elemen 9)
 +
                          6,10; // (Elemen 10)
 +
                          7,11; // (Elemen 11)
 +
                          8,12; // (Elemen 12)
 +
                          9,10; // (Elemen 13)
 +
                          10,11;// (Elemen 14)
 +
                          11,12;// (Elemen 15)
 +
                          9,12; // (Elemen 16)
 +
                          9,13; // (Elemen 17)
 +
                          10,14;// (Elemen 18)
 +
                          11,15;// (Elemen 19)
 +
                          12,16;// (Elemen 20)
 +
                          13,14;// (Elemen 21)
 +
                          14,15;// (Elemen 22)
 +
                          15,16;// (Elemen 23)
 +
                          13,16];//(Elemen 24)
 +
//define coordinates (please put orderly)
 +
parameter Real P[:,6]=[  0  ,0  ,0,1,1,1; //node 1
 +
                          0.75,0  ,0,1,1,1; //node 2
 +
                          0.75,0.6,0,1,1,1; //node 3
 +
                          0  ,0.6,0,1,1,1; //node 4
 +
                         
 +
                          0  ,0  ,0.3,0,0,0; //node 5
 +
                          0.75,0  ,0.3,0,0,0; //node 6
 +
                          0.75,0.6,0.3,0,0,0; //node 7
 +
                          0  ,0.6,0.3,0,0,0; //node 8
 +
                         
 +
                          0  ,0  ,1.05,0,0,0; //node 9
 +
                          0.75,0  ,1.05,0,0,0; //node 10 
 +
                          0.75,0.6,1.05,0,0,0; //node 11
 +
                          0  ,0.6,1.05,0,0,0; //node 12
 +
                         
 +
                          0  ,0  ,1.8,0,0,0; //node 13
 +
                          0.75,0  ,1.8,0,0,0;  //node 14
 +
                          0.75,0.6,1.8,0,0,0; //node 15
 +
                          0  ,0.6,1.8,0,0,0]; //node 16
 +
                         
 +
//define external force (please put orderly)
 +
parameter Real F[Points*3]={0,0,0,
 +
                          0,0,0,
 +
                          0,0,0,
 +
                          0,0,0,
 +
                          0,0,0,
 +
                          0,0,0,
 +
                          0,0,0,
 +
                          0,0,0,
 +
                          0,0,0,
 +
                          0,0,0,
 +
                          0,0,0,
 +
                          0,0,0,
 +
                          0,0,-1000,
 +
                          0,0,-500,
 +
                          0,0,-500,
 +
                          0,0,-1000};
 +
//solution
 +
  Real displacement[N], reaction[N];
 +
  Real check[3];
 +
  Real stress1[Trusses];
 +
  Real safety[Trusses];
 +
  Real dis[3];
 +
  Real Str[3];
 +
protected
 +
  parameter Integer N=3*Points;
 +
  Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];
 +
  Real err=10e-15, ers=10e-8;
 +
algorithm
 +
  //Creating Global Matrix
 +
    G:=id;
 +
      for i in 1:Trusses loop
 +
for j in 1:3 loop
 +
  q1[j]:=P[C[i,1],j];
 +
  q2[j]:=P[C[i,2],j];
 +
                end for;     
 +
  //Solving Matrix
 +
  L:=Modelica.Math.Vectors.length(q2-q1);
 +
  cx:=(q2[1]-q1[1])/L;
 +
  cy:=(q2[2]-q1[2])/L;
 +
  cz:=(q2[3]-q1[3])/L;
 +
  X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;
 +
                    cy*cx,cy^2,cy*cz;
 +
                    cz*cx,cz*cy,cz^2];
 +
    //Transforming to global matrix
 +
  g:=zeros(N,N);
 +
  for m,n in 1:3 loop
 +
    g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];
 +
    g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];
 +
    g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];
 +
    g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];
 +
  end for; 
 +
  G_star:=G+g;
 +
  G:=G_star;
 +
end for;
 +
//Implementing boundary
 +
for x in 1:Points loop
 +
  if P[x,4] <> 0 then
 +
  for a in 1:Points*3 loop
 +
    G[(x*3)-2,a]:=0;
 +
    G[(x*3)-2,(x*3)-2]:=1;
 +
  end for;
 +
end if;
 +
if P[x,5] <> 0 then
 +
  for a in 1:Points*3 loop
 +
    G[(x*3)-1,a]:=0;
 +
    G[(x*3)-1,(x*3)-1]:=1;
 +
  end for;
 +
end if;
 +
if P[x,6] <> 0 then
 +
  for a in 1:Points*3 loop
 +
    G[x*3,a]:=0;
 +
    G[x*3,x*3]:=1;
 +
  end for;
 +
  end if;
 +
end for;
 +
//Solving displacement
 +
    displacement:=Modelica.Math.Matrices.solve(G,F);
 +
//Solving reaction
 +
    reaction:=(G_star*displacement)-F;
 +
//Eliminating float error
 +
for i in 1:N loop
 +
  reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];
 +
  displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];
 +
end for;
 +
//Checking Force
 +
  check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});
 +
  check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});
 +
  check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); 
 +
    for i in 1:3 loop
 +
      check[i] := if abs(check[i])<=ers then 0 else check[i];
 +
    end for;
 +
//Calculating stress in each truss
 +
for i in 1:Trusses loop
 +
for j in 1:3 loop
 +
  q1[j]:=P[C[i,1],j];
 +
  q2[j]:=P[C[i,2],j];
 +
  dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);
 +
end for;     
 +
  //Solving Matrix
 +
  L:=Modelica.Math.Vectors.length(q2-q1);
 +
  cx:=(q2[1]-q1[1])/L;
 +
  cy:=(q2[2]-q1[2])/L;
 +
  cz:=(q2[3]-q1[3])/L;
 +
  X:=(Elas/L)*[cx^2,cx*cy,cx*cz;
 +
                cy*cx,cy^2,cy*cz;
 +
                cz*cx,cz*cy,cz^2];   
 +
  Str:=(X*dis);
 +
  stress1[i]:=Modelica.Math.Vectors.length(Str);
 +
end for;
 +
//Safety factor
 +
  for i in 1:Trusses loop
 +
  if stress1[i]>0 then
 +
    safety[i]:=Yield/stress1[i];
 +
  else
 +
    safety[i]:=0;
 +
  end if;
 +
  end for;
 +
end Trusses_3D_Tugas_Besar;
 +
|}
 +
 
 +
Metode numerik curve fitting
 +
 
 +
{| class="wikitable"
 +
|-
 +
| style='border-style: none  none  solid  solid;' |
 +
'''Curve Fitting'''
 +
 
 +
function Curve_Fitting
 +
 
 +
input Real X[:];
 +
input Real Y[size(X,1)];
 +
input Integer order=2;
 +
output Real Coe[order+1];
 +
 
 +
protected
 +
Real Z[size(X,1),order+1];
 +
Real ZTr[order+1,size(X,1)];
 +
Real A[order+1,order+1];
 +
Real B[order+1];
 +
 
 +
algorithm
 +
 
 +
for i in 1:size(X,1) loop
 +
  for j in 1:(order+1) loop
 +
  Z[i,j]:=X[i]^(order+1-j);
 +
  end for;
 +
end for;
 +
ZTr:=transpose(Z);
 +
 
 +
A:=ZTr*Z;
 +
B:=ZTr*Y;
 +
Coe:=Modelica.Math.Matrices.solve(A,B);
 +
//Coe:=fill(2,size(Coe,1));
 +
 
 +
end Curve_Fitting;
 +
/*
 +
for i in 1:3 loop
 +
for j in 1:Points loop
 +
  R[j]:=reaction[3*(j-1)+i];
 +
end for;
 +
Sur[i]:=sum(R);
 +
end for;
 +
*/
 +
|}
 +
 
 +
'''Hasil dan Kesimpulan'''
 +
 
 +
Walaupun ''coding'' yang mencakup formula telah di-''input'', saya belum dapat menyertakan hasilnya disebabkan oleh kendala teknis. Perangkat yang saya gunakan masih mengalami gangguan saat ''simulate''.
 +
 
 +
[[File:NotResponding2.PNG|800px]]
 +
 
 +
Setelah beberapa saat, saya kembali mencoba untuk mendapatkan hasil yang diinginkan. Dari dua jenis material, yakni SS 304 dan SS 316L, saya mendapatkan hasil sebagai berikut.
 +
 
 +
[[File:HasilTumet.PNG|175px]]
 +
 
 +
[[File:HasilTumet2.PNG|200px]]
 +
 
 +
[[File:HasilTumet3.PNG|175px]]
 +
 
 +
Di atas adalah data-data yang didapat dari gaya reaksi, ''safety'', hingga ''stress'' yang dialami oleh ''beam'' pada material SS304.
 +
 
 +
Berikut ini adalah hasil data-data sama yang dihasilkan dari SS316L.
 +
 
 +
[[File:HasilTumet363.PNG|185px]
 +
 
 +
[[File:HasilTumet363(1).PNG|185px]]
 +
 
 +
[[File:HasilTumet363(2).PNG|185px]]
 +
 
 +
Sama halnya dengan material SS304, simulasi dengan material SS316L memberikan hasil yang kurang lebih sama.
 +
 
 +
== '''Ujian Akhir Semester Metnum 03''' ==
 +
 
 +
Soal 1
 +
 
 +
[[File:Nomer1vian.jpg|300px]]
 +
 
 +
Soal 2
 +
 
 +
[[File:Nomer2vian.jpg|300px]]
 +
 
 +
Soal 3
 +
 
 +
[[File:Nomer3vian.jpg|300px]]
 +
 
 +
Soal 4
 +
 
 +
[[File:Nomer3vian2.jpg|310px]]
 +
 
 +
Soal 5
 +
 
 +
[[File:Nomer4vian.jpg|310px]]
 +
 
 +
Soal 6
 +
 
 +
[[File:Nomer5vian.jpg|310px]]
 +
 
 +
Soal 7
 +
 
 +
[[File:Nomer7vian2.jpg|310px]]
 +
 
 +
Soal nomor 7 telah dikirim via WhatsApp Pak Dai.
 +
 
 +
Berikut adalah coding yang saya tuliskan pada Ujian AKhir Semester Metoda Numerik.
 +
 
 +
[[File:CodingUAS1.PNG|650px]]
 +
 
 +
[[File:CodingUAS2.PNG|650px]]

Latest revision as of 22:57, 14 January 2021

Assalamualaikum Wr. Wb.

Salam sejahtera untuk kita semua. Semoga kita semua selalu dalam lindungan Tuhan Yang Maha Esa.

Nama: Favian Adyatma
Pas Photo.jpg

NPM: 1806181773

Mata Kuliah: Metode Numerik 03 (TA 2020/2021 Ganjil)

Pertemuan 1: 9 November 2020

Pertemuan perdana kelas Metnum 03 merupakan pengenalan terhadap mata kuliah Metode Numerik. Kami membahas mulai dari akarnya dan kaitannya terhadap kehidupan kita sehari-hari, seperti proses berpikir dan aplikasinya terhadap device yang digunakan pada kehidupan sehari-sehari. Pada akhir kelas, kami diberikan tugas untuk memasukkan laporan mengenai hasil belajar pada akun masing-masing kita di air.eng.ui.ac.id, yaitu proses kami mempelajari software Open Modelica yang dapat diunduh melalui jejaring openmodelica.org dan menceritakan proses pembelajaran sebelum UTS.

Proses Pembelajaran Sebelum UTS

Sebelum UTS, kami mempelajari beberapa bab Metode Numerik dengan dosen Pak Engkos, yaitu sebagai berikut:

- Turunan Numerik

Turunan numerik dibagi menjadi tiga pendekatan, yaitu turunan mundur, turunan maju, dan turunan pusat. Berikut adalah prakteknya dalam Microsoft Excel.

Formula pada Excel ini menggambarkan tiga jenis turunan yang dibahas pada saat kelas Metnum 03







- Pencarian Akar secara Numerik

Pencarian akar ini bisa dilakukan dengan dua metode, yaitu Bracketing Method dan Open Method. Bracketing Method terdiri dari metode Bisecant, Graphical, dan False Position, sedangkan Open Method terdiri dari Newton-Raphson, Secant, dan Sample Fix Point. Di bawah ini akan saya sertakan tangkapan layar dari hasil pencarian akar di Excel dari metode Bisecat, Secant, dan Newton Raphson.

Metode Secant
Metode Newton Raphson
Metode Newton Raphson





























- Materi lainnya

Ada beberapa materi lainnya yang sempat dipelajari pada kelas Metode Numetik 03, antara penjabaran iterasi sin x dan cos x secara numerik dan praktik metode numerik pada alat-alat tertentu.

Open Modelica

Tugas berikutnya adalah merekap hasil pembelajaran aplikasi Open Modelica. Mengenai hal tersebut, hambatan yang ada sangat terasa karena saya tidak dapat mengunggah perangkat lunak tersebut disebabkan oleh network issue yang terjadi pada proses pengunggahannya. Akibatnya software tersebut gagal diunggah. Kedepannya saya akan menanyakan kepada teman-teman mengenai masalah tersebut. Namun, pembelajaran tetap saya lakukan dengan meriset situs openmodelica.org dan mencari tahu kegunaan dari aplikasi ini. Salah satu referensi yang saya gunakan adalah melalui YouTube dengan tautan berikut:

https://youtu.be/Dw66ODbMS2A

Open Modelica merupakan perangkat lunak yang digunakan untuk mempermudah simulasi permodelan metode numerik. Seperti CFDSOF-NG yang menjadi alat untuk simulasi aliran fluida, aplikasi ini adalah alat untuk simulasi metode numerik. Selain itu, dapat dipraktekkan pula pengendalian sistem dengan meng-input rangkaian yang biasa dilakukan saat proses pengendalian sistem baik elektronik maupun mekanik. Open Modelica juga seringkali digunakan pada industri yang membutuhkan kinerja pengendalian sistem didalamnya.

Pertemuan 2: 16 November 2020

Tugas 2

Sebelum kegiatan kelas kedua (evaluasi hasil belajar kami tentang yang sudah kami pelajari tentang Metode Numerik sebelum UTS) berakhir, Pak Dai memberikan tugas mengenai simulasi perhitungan aljabar di Aplikasi OpenModelica. Kami diminta melaksanakan simulasi tersebut dengan menyelesaikan persamaan aljabar dan coding sederhana terkait nilai rata-rata sepuluh sampel. Maka saya mengambil tiga buah persamaan untuk diselesaikan, yaitu:

Algebra.PNG









Aljabar tersebut dapat diselesaikan melalui OpenModelica yang telah terunggah pada gawai masing-masing mahasiswa. Pertama-tama, saya melakukan input pada aplikasi OpenModelica, dimana A dan C adalah input sedangkan B adalah faktor dari x1, x2, dan x3 yang akan dicari. Gambaran itu dapat disederhanakan dengan ilustrasi berikut.

Startcoding.jpg








Maka, pada simulasi OpenModelica ini, saya meng-input data A dan C seperti pada gambar berikut.

Codingvian.PNG













Pada gambar tersebut, A dituliskan sebagai A[3,3] yang artinya merupakan matriks 3x3. Kemudian, input C adalah matriks 3x1, maka ditulis C[3], dan yang terakhir adalah output, yakni nilai yang dicari, matriks B, yang merupakan matriks 3x1. Ketiga data tersebut disimpan pada fitur Function dengan nama "Gauss".

Setelah itu, untuk dapat mendapatkan hasil yang diinginkan, saya memasukkan matriks pada fitur Class dengan nama "Elimination". Pada fitur itu, nilai-nilai pada matriks dimasukkan menjadi coding sederhana seperti gambar berikut.

Codingvian2.PNG













Tahap berikutnya adalah menjalankan formula dan data yang telah di-input dengan menklik fitur Simulate. Ketika sudah selesai, maka kita akan mendapatkan jawaban dari persamaan yang diinginkan. Hasil dari simulasi yang saya lakukan dapat dilihat melalui gambar di bawah ini.

Codingvianhasil.PNG
















Dapat disimpulkan bahwa jawaban dari persamaan yang di-input adalah x1=3, x2=-1, dan x3=2.

Sebagai bahan kelengkapan dari hasil simulasi OpenModelica ini, saya menyertakan Elimination Simulation Output dari simulasi ini.

Codingvian5.PNG
Codingvian4.PNG


Pertemuan 3: 23 November 2020

Kelas ketiga, tanggal 23 November 2020, kegiatan diawali dengan diskusi buku bab 12 (hal. 328) mengenai displacement pegas massa. Di bawah ini saya unggah foto dari buku textbook MK. Metoda Numerik tersebut.

Pegasmassa.PNG

Berangkat dari gambar tersebut, kami dipersilakan untuk membaca terlebih dahulu sebelum diskusi dimulai. Diskusi diawali dengan penjelasan peristiwa yang terjadi jika sebuah benda diberikan displacement. Melalui itu juga kami meneruskan pembahasan mengenai persamaannya.

Sesi kelas dilanjutkan dengan sesi tanya jawab satu per satu mahasiswa oleh dosen Pak Dai. Kami menjelaskan mengenai progres pembelajaran kami di website air.eng.ui.ac.id. Namun, saya belum dapat kesempatan untuk menjelaskan progres pembelajaran saya. Sembari melakukan tanya jawab satu per satu, kami juga melakukan simulasi mengenai displacement dari suatu persoalan pegas massa yang terdapat pada textbook Metode Numerik halaman 330. Berikut gambaran dan penyelesaian simulasinya pada aplikasi OpenModelica.

Classpegasmassa.PNG

Tidak berbeda jauh dari PR yang sudah diberikan sebelumnya, tahap awal simulasi dilakukan dengan meng-input data yang tersedia dan dikemas dalam bentuk matriks. Hal tersebut tercermin pada gambar di atas, dimana matriks K adalah matriks 3x3 dan matriks W (3x1) dengan nilainya yang sudah tertulis, serta matriks X (3x1) yang kita cari.

Functionpegasmassa.PNG

Melalui fitur Function, seperti yang digambar di atas, maka matriks yang dicari dapat ditentukan. Gambar di bawah ini adalah jawaban dari matriks yang ingin dicari.

Mass Springhasil2.png

Sesaat sebelum kelas selesai, seperti biasa, kami diberikan tugas untuk mengerjakan soal tentang statika struktur dan disimulasikan pada OpenModelica. Berikut adalah gambar dari soal yang diberikan sebagai tugas kepada peserta didik kelas Metode Numerik 03.

PR Metnum.png

Tugas 3

Melalui referensi yang saya gunakan, yaitu solusi dari buku terkait, soal tersebut dijawab dengan beberapa tahapan. Tahapan-tahapannya adalah sebagai berikut:

1. Mengubah permasalahan menjadi noda dan elemen

Mengubah soal statika struktur di atas menjadi noda dan elemen digambarkan dengan tabel berikut ini.

Tabel1vian.PNG

2. Tahap berikutnya adalah membuat asumsi solusi yang mendekati sifat elemen

Asumsi1.PNG

Pada tahap ini kami menentukan asumsi untuk mendapatkan properties dari beam, yaitu k dengan rumus (AE)/L. L pada beam 1, 3, 4, dan 6 adalah 3 ft atau 36 inchi dan beam 2, 5 adalah 50.9 inchi (3 akar 2 ft)

3. Mengembangkan persamaan untuk menyelesaikan persamaan tiap elemen

Setiap elemen akan dianalisis berdasarkan posisi dan gaya reaksi yang terjadi pada elemennya. Analisis akan dimanifestasikand alam bentuk matriks. Berikut hasil analisis dari elemen beam-nya

- Elemen 1, 3, dan 6

K1global.png K3global.png K6global.png

- Elemen 4

Elemen4.PNG

- Elemen 2 dan 5

K2global.png K5global.png

4. Penggabungan matriks

Setelah di atas kita melakukan analisis per golongan elemen, maka berikutnya adalah melakukan penggabungan matriks. Di bawah ini adalah hasil dari penggabungan tersebut.

Matriksmix.PNG

5. Menentukan boundary condition

Berdasarkan solusi dari referensi yang ada, ditentukan beberapa kondisi batas:

U1(x)=U1(y)=U3(x)=U3(y)=0

F4(y) = -500 lb dan F5(y) = -500 lb

Dengan memasukkannya ke dalam matriks, maka menjadi:

Matriks gabungan ini adalah yang akan kita simulasikan ke dalam OpenModelica








6. Mencari solusi (OpenModelica)

Tahap pencarian solusi inilah yang akan digunakan aplikasi OpenModelica. Input yang dilakukan pada aplikasi OpenModelica adalah seperti berikut.

Simulasimodelicavian.PNG

Ketika saya menggunakan fitur simulate, maka hasilnya akan digambarkan seperti ini.

Hasilvianbeam.png

7. Memperoleh besaran gaya-gaya

Proses pertama untuk mendapatkan besaran gaya yang ingin diukur adalah dengan input data pada matriks berikut.

Matrikscarigaya.PNG

dengan {u} adalah koordinat lokal, [U] koordinat global, dan [T] adalah matriks transformasi.

Melalui referensi yang digunakan, kita coba menghitung stress pada elemen beam 5. Berikut adalah perwujudannya dalam bentuk matriks.

Matrikscarigaya.PNG

Maka, saya melakukan simulasinya pada OpenModelica dan menghasilkan simulasi berikut.

Simulasimodelicavian.PNG

Melalui formula coding yang telah dilakukan seperti diatas, saya mendapatkan hasil seperti di bawah ini.

Hasilvianbeam.png

Beberapa proses tersebut menghasilkan hasil defleksi dengan besaran U2(x)=-0.00976 inchi dan U6(x)=-0.01209 inchi.

Demikianlah besaran-besaran yang dapat didapatkan melalui OpenModelica dengan referensi yang diberikan.

Pertemuan 4: 30 November 2020

Seperti kelas biasanya, sesi kelas diawali dengan berdiskusi. Diskusi kali ini diawali dengan hal yang mendasar, yaitu berdiskusi mengenai pengertian perbedaan statika struktur dan dinamika struktur. Diskusi pun berjalan dengan hangat, dimana terjadi saling lempar jawaban dan tanggapan selama beberapa belas menit. Bisa disimpulkan bahwa mempelajari struktur pada dasarnya sama, hanya saja perbedaan mendasarnya terdapat pada situasi beban yang ada. Beban pada statika struktur adalah beban yang besarannya tidak berubah seiring waktu, sedangkan dinamika struktur adalah pembahasan struktur saat beban yang ada dapat berubah seiring waktu bahkan gaya reaksi yang terjadi pun berubah.

Tugas 4

Pada tugas ini, tugas yang diberikan hampir sama seperti tugas sebelumnya, yaitu mengenai gaya reaksi dan internal pada struktur diam (struktur statis). Kali ini tugas yang berikan berjumlah dua, soal nomor 4 dan nomor 8. Berikut adalah gambar dari soal tersebut.

Soal No. 4:

Soal1 iff.JPEG

Soal No. 8:

Soal2 iff.JPEG

Pada hari yang sama, 30 November 2020, Pak Dai menyampaikan bahwa flowchart harus dikerjakan pada hari ini, sedangkan untuk pengerjaannya akan diserahkan dan diliput melalui air.eng.ui.ac.id pada pekan depan.

Berikut adalah flowchart yang saya buat untuk pengerjaan yang tenggat waktunya adalah pekan depan.

FlowVianNew.jpg

Sebagai tindak lanjut dari flow chart di atas, saya melakukan beberapa langkah penyelesaian di atas kertas.

Soal nomor 4

No4(1-2).PNG

No4(3-5).PNG

Setelah uraian di atas, maka tahap berikutnya adalah melakukan simulasi dengan aplikasi OpenModelica untuk menemuka values melalui eksekusi perhitungan matriks yang telah ditulis di kertas.

(permodelan di OpenModelica)

Soal nomor 8

Soal nomor 8 juga saya lakukan langkah-langkah sesuai dengan apa yang sudah tertera pada flow chart. Berikut adalah

No8(1-2).PNG

No8(3-5).PNG

No8(6-7).PNG

Sedikit berbeda dengan nomor 4, nomor 8 ini memiliki alur pengerjaan yang lebih sesuai dengan rencana di flow chart. Setelah uraian di atas, maka tahap berikutnya adalah melakukan simulasi dengan aplikasi OpenModelica untuk menemukan values melalui eksekusi perhitungan matriks yang telah ditulis di kertas.

Pertemuan 5: 7 Desember 2020

Tugas Quiz 1

Pertemuan kelima dari kelas Metode Numerik 03 menyisakan tugas kepada kami sebagai tindaklanjut dari tugas sebelumnya. Sebagaimana kita tahu, bahwa tugas sebelumnya, kami ditugaskan untuk menghitung gaya reaksi pada elemen beam penyusun statika struktur. Dengan arahan Pak Dai, kami kembali diberikan tugas untuk mengembangkan sistem coding yang telah dirancang oleh rekan kami, Ahmad Mohammad Fahmi.

Maka dari itu, kami berdiskusi untuk mengembangkan serta menyempurnakan apa yang telah tersedia dari coding sebelumnya. Melalui platform ini, saya coba memaparkan apa yang telah saya dapat melalui diskusi yang telah kami lakukan. Kendati demikian, masih banyak yang belum saya mengerti dari apa yang saya akan tulis pada laman ini. Namun, saya tetap tuliskan karena telah dilakukan karena tetap merupakan progres dari diskusi yang dilakukan.

Soal3.jpeg

Di atas merupakan soal yang diberikan. Soal tersebut diminta kepada kami untuk dijawab berdasarkan pengembangan dari jawaban yang telah ada pembahasannya.

Berikut adalah link yang terintegrasi kepada berkas hasil pengerjaan perhitungan beam di OpenModelica:

https://drive.google.com/drive/folders/14SGfwkzNHtDlkqLvbO_ZxoGc9JmKBJM1?usp=sharing

Kemudian saya akan menyertakan beberapa bagian dari hasil pekerjaan tersebut di bawah ini.

FCFC.PNG

Pada proses perhitungan yang dilakukan kali ini menggunakan tujuh function, untuk kemudian di-input pada class. Saya menggunakan fitur Class tersebut saat semua function sudah benar, sehingga dapat dilakukan panggilan pada Class.

MatriksElemenVian.PNG

Memasukkan rumus pertama kali dilakukan untuk kalkulasi pada tiap elemen beam (Matriks Elemen).

MatriksGlobal.PNG

Berawal dari matriks tiap elemen, tahap berikutnya adalah melakukan perhitungan dengan cara input matriks global.

Tahap terus berlanjut, dimana diteruskan dengan perhitungan matriks total, menentukan boundary condition, penyelesaian dengan Gauss-Jordan, dan diakhiri dengan perhitungan gaya reaksi. Diantara proses tersebut, dilakukan juga perhitungan pemeriksaan gaya, dimana hal tersebut adalah tindaklanjut dari tugas yang diberikan Pak Dai. Tempo hari disampaikan kepada Ahmad dan teman sekelas bahwa kami harus menemukan formula untuk memastikan sigma F dari segala axis adalah 0. Maka, pemeriksaan gaya tersebut adalah result-nya.

Di bawah ini adalah tampilan dari coding pemeriksaan gaya.

PeriksaGaya.PNG

Kemudian, berikut adalah sedikit cuplikan dari hasil simulate Class yang diperoleh.

HasilVian.PNG

Hasil dari pengerjaan dapat dilihat melalui link drive di atas.

Pertemuan 6: 14 Desember 2020

Kelas keenam ini dibuka oleh Pak Ahmad Indra, ditambah dengan penjelasannya tentang optimasi perhitungan truss sederhana dengan menggunakan metode numerik. Metode numerik disebut memungkinkan untuk mempermudah kita mendapatkan data objektif yang diinginkan dari suatu sistem truss sederhana.

Pada penjelasan mengenai tugas besar dari dosen disebut bahwa kita diharapkan dapat menemukan stress atau tegangan yang maksimum dengan harga minimum. Aspek-aspek yang dapat diubah (variabel bebas) antara lain dimensi dari batangan truss. Untuk tahap akhir, kami diminta untuk membandingkan hasil stress dengan tabel properties.

Sesi kelas pun berlanjut dengan pendampingan simulasi oleh Bu Chandra mengenai sebuah kasus. Kasus tersebut diambil dari buku teks oleh Steven Chapra mengenai perhitungan Bracket Optimization Using Golden Ratio Method. Proses perhitungan tersebut diakhiri dengan membandingkan hasil simulasi OpenModelica dengan hasil riil di buku teks.

Tugas Besar Metnum

Tugas besar yang diberikan adalah optimasi perhitungan susunan statika struktur sederhana. Saya berprogres dengan merancang lini masa atau timeline untuk pengerjaan tugas besar ini. Saya pun masih memiliki kekurangan di sana sini dan memerlukan pembelajaran dari teman-teman yang lain.

TLTubesMetnum2.PNG

Tabel di atas adalah lini masa yang saya buat untuk menuntaskan tugas besar yang diberikan ini.

Kelas 28 Desember 2020

Kelas ketujuh pada tanggal 28 Desember 2020 ini kami mengulas progres tugas besar dari peserta didik masing-masing didampingi oleh Pak Dai. Kami menjelaskan kendala-kendala yang dihadapi. Namun, kelas hanya dihadiri oleh beberapa peserta didik saja disebabkan adanya miskomunikasi tanggal merah. Sesi kelas tetap dilanjutkan dengan arahan untuk melanjutkan tugas besar yang telah diberikan. Sebagai tindaklanjutnya, kelas Metode Numerik 02 dan 03 akan mengadakan asistensi serta diskusi bersama demi kelancara tugas besar ini. Sementara ini, kami akan mempelajari coding dari Ahmad Fahmi yang telah dikirim ke Whatsapp Group kelas kami.

Tugas besar kali ini adalah tugas untuk mengoptimasi desain struktur sederhana. Berikut adalah model yang telah dibahas bersama oleh teman-teman sekelas beserta properties dari struktur tersebut.

FotoTuMet.PNG

Kemudian ada beberapa tujuan dari tugas besar ini, yaitu:

1. Membuat design optimum dengan biaya yang rendah

2. Membandingkan grafik terhadap

A) Y = Cost, X = Area variabel terikat. Variabel bebas = Material

B) Y = Cost, X = Material variabel terikat. Variabel bebas = Areal

Untuk mencapai tujuan tersebut, akan dilakukan proses perhitungan dengan tahap sebagai berikut.

Cara / Prosedur pengerjaan

1. Memilih bahan area dan material, dari data akan tersedia harga per satuan panjang

2. Konfigurasi: Panjang L, koordinat titik node

3. Melakukan perhitungan

4. melakukan verifikasi dan check antara stress/cost

Data Material yang Dibutuhkan

DataBesi.PNG

Spesifikasi dan Harga Material

SpesifikasiMaterial.PNG

Permodelan Numerik

3D Trusses Model

//define initial variable
  parameter Integer Points=size(P,1);		//Number of Points
  parameter Integer Trusses=size(C,1); 		//Number of Trusses
  parameter Real Yield= (nilai yield) ;		//Yield Strength Material(Pa)
  parameter Real Safety= (nilai yield/nilai stress) ;  //Safety factor
  parameter Real Area= (nilai area) ;   	//Luas Besi Siku (Dimension=30x30x3mm)
  parameter Real Elas= (nilai elastisitas) ;	//Elasticity Material (Pa)
//define connection
parameter Integer C[:,2]=[1,5;  // (Elemen 1)
                         2,6;  // (Elemen 2)
                         3,7;  // (Elemen 3)
                         4,8;  // (Elemen 4)
                         5,6;  // (Elemen 5)
                         6,7;  // (Elemen 6)
                         7,8;  // (Elemen 7)
                         5,8;  // (Elemen 8)
                         5,9;  // (Elemen 9)
                         6,10; // (Elemen 10)
                         7,11; // (Elemen 11)
                         8,12; // (Elemen 12)
                         9,10; // (Elemen 13)
                         10,11;// (Elemen 14)
                         11,12;// (Elemen 15)
                         9,12; // (Elemen 16)
                         9,13; // (Elemen 17)
                         10,14;// (Elemen 18)
                         11,15;// (Elemen 19)
                         12,16;// (Elemen 20)
                         13,14;// (Elemen 21)
                         14,15;// (Elemen 22)
                         15,16;// (Elemen 23)
                         13,16];//(Elemen 24)
//define coordinates (please put orderly)
parameter Real P[:,6]=[   0   ,0  ,0,1,1,1;	//node 1
                          0.75,0  ,0,1,1,1;	//node 2
                          0.75,0.6,0,1,1,1;	//node 3
                          0   ,0.6,0,1,1,1;	//node 4
                          
                          0   ,0  ,0.3,0,0,0;	//node 5
                          0.75,0  ,0.3,0,0,0;	//node 6
                          0.75,0.6,0.3,0,0,0;	//node 7
                          0   ,0.6,0.3,0,0,0;	//node 8
                          
                          0   ,0  ,1.05,0,0,0;	//node 9
                          0.75,0  ,1.05,0,0,0;	//node 10  
                          0.75,0.6,1.05,0,0,0;	//node 11
                          0   ,0.6,1.05,0,0,0;	//node 12
                          
                          0   ,0  ,1.8,0,0,0;	//node 13
                          0.75,0  ,1.8,0,0,0;  //node 14
                          0.75,0.6,1.8,0,0,0;	//node 15
                          0   ,0.6,1.8,0,0,0];	//node 16
                          
//define external force (please put orderly)
parameter Real F[Points*3]={0,0,0,
                          0,0,0, 
                          0,0,0, 
                          0,0,0, 
                          0,0,0, 
                          0,0,0, 
                          0,0,0, 
                          0,0,0, 
                          0,0,0, 
                          0,0,0, 
                          0,0,0, 
                          0,0,0, 
                          0,0,-1000, 
                          0,0,-500, 
                          0,0,-500, 
                          0,0,-1000}; 
//solution
  Real displacement[N], reaction[N];
  Real check[3];
  Real stress1[Trusses];
  Real safety[Trusses];
  Real dis[3];
  Real Str[3];
protected
 parameter Integer N=3*Points;
 Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];
 Real err=10e-15, ers=10e-8;
algorithm
 //Creating Global Matrix
    G:=id;
     for i in 1:Trusses loop
		for j in 1:3 loop
 			q1[j]:=P[C[i,1],j];
 			q2[j]:=P[C[i,2],j];
               end for;       
  //Solving Matrix
  L:=Modelica.Math.Vectors.length(q2-q1);
  cx:=(q2[1]-q1[1])/L;
  cy:=(q2[2]-q1[2])/L;
  cz:=(q2[3]-q1[3])/L; 
  X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;
                    cy*cx,cy^2,cy*cz;
                    cz*cx,cz*cy,cz^2];
   //Transforming to global matrix
  g:=zeros(N,N); 
  for m,n in 1:3 loop
    g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];
    g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];
    g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];
    g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];
  end for;   
 G_star:=G+g;
 G:=G_star;
end for;
//Implementing boundary
for x in 1:Points loop
 if P[x,4] <> 0 then
  for a in 1:Points*3 loop
    G[(x*3)-2,a]:=0;
    G[(x*3)-2,(x*3)-2]:=1;
  end for;
end if;
if P[x,5] <> 0 then
  for a in 1:Points*3 loop
    G[(x*3)-1,a]:=0;
    G[(x*3)-1,(x*3)-1]:=1;
  end for;
end if;
if P[x,6] <> 0 then
  for a in 1:Points*3 loop
    G[x*3,a]:=0;
    G[x*3,x*3]:=1;
  end for;
 end if;
end for;
//Solving displacement
    displacement:=Modelica.Math.Matrices.solve(G,F);
//Solving reaction
    reaction:=(G_star*displacement)-F;
//Eliminating float error
for i in 1:N loop
 reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];
 displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];
end for;
//Checking Force
  check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});
  check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});
  check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)});  
    for i in 1:3 loop
      check[i] := if abs(check[i])<=ers then 0 else check[i];
    end for;
//Calculating stress in each truss
for i in 1:Trusses loop
for j in 1:3 loop
  q1[j]:=P[C[i,1],j];
  q2[j]:=P[C[i,2],j];
  dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);
end for;       
  //Solving Matrix
  L:=Modelica.Math.Vectors.length(q2-q1);
  cx:=(q2[1]-q1[1])/L;
  cy:=(q2[2]-q1[2])/L;
  cz:=(q2[3]-q1[3])/L; 
  X:=(Elas/L)*[cx^2,cx*cy,cx*cz;
               cy*cx,cy^2,cy*cz;
               cz*cx,cz*cy,cz^2];    
  Str:=(X*dis);
  stress1[i]:=Modelica.Math.Vectors.length(Str);
end for;
//Safety factor
 for i in 1:Trusses loop
  if stress1[i]>0 then
   safety[i]:=Yield/stress1[i];
  else
   safety[i]:=0;
  end if; 
 end for;
end Trusses_3D_Tugas_Besar;

Metode numerik curve fitting

Curve Fitting

function Curve_Fitting

input Real X[:]; input Real Y[size(X,1)]; input Integer order=2; output Real Coe[order+1];

protected Real Z[size(X,1),order+1]; Real ZTr[order+1,size(X,1)]; Real A[order+1,order+1]; Real B[order+1];

algorithm

for i in 1:size(X,1) loop

 for j in 1:(order+1) loop
 Z[i,j]:=X[i]^(order+1-j);
 end for;

end for; ZTr:=transpose(Z);

A:=ZTr*Z; B:=ZTr*Y; Coe:=Modelica.Math.Matrices.solve(A,B); //Coe:=fill(2,size(Coe,1));

end Curve_Fitting; /* for i in 1:3 loop

for j in 1:Points loop
 R[j]:=reaction[3*(j-1)+i];
end for;
Sur[i]:=sum(R);

end for;

  • /

Hasil dan Kesimpulan

Walaupun coding yang mencakup formula telah di-input, saya belum dapat menyertakan hasilnya disebabkan oleh kendala teknis. Perangkat yang saya gunakan masih mengalami gangguan saat simulate.

NotResponding2.PNG

Setelah beberapa saat, saya kembali mencoba untuk mendapatkan hasil yang diinginkan. Dari dua jenis material, yakni SS 304 dan SS 316L, saya mendapatkan hasil sebagai berikut.

HasilTumet.PNG

HasilTumet2.PNG

HasilTumet3.PNG

Di atas adalah data-data yang didapat dari gaya reaksi, safety, hingga stress yang dialami oleh beam pada material SS304.

Berikut ini adalah hasil data-data sama yang dihasilkan dari SS316L.

[[File:HasilTumet363.PNG|185px]

HasilTumet363(1).PNG

HasilTumet363(2).PNG

Sama halnya dengan material SS304, simulasi dengan material SS316L memberikan hasil yang kurang lebih sama.

Ujian Akhir Semester Metnum 03

Soal 1

Nomer1vian.jpg

Soal 2

Nomer2vian.jpg

Soal 3

Nomer3vian.jpg

Soal 4

Nomer3vian2.jpg

Soal 5

Nomer4vian.jpg

Soal 6

Nomer5vian.jpg

Soal 7

Nomer7vian2.jpg

Soal nomor 7 telah dikirim via WhatsApp Pak Dai.

Berikut adalah coding yang saya tuliskan pada Ujian AKhir Semester Metoda Numerik.

CodingUAS1.PNG

CodingUAS2.PNG