Anda di halaman 1dari 41

Yohanes Karuniawan

2006573733
Laporan Analisis Balok dan Portal
Dengan aplikasi MATLAB
1. Kasus Struktur Balok

N Kode Interpretasi
o
1 %% Sebagai keterangan awal Matlab dan
%................................ beberapa perintah untuk
%MATLAB code for Finite Element mempersiapkan lembar kerja baru
Analysis pada Matlab dengan cara menghapus
%Beam Problem data yang telah terekam sebelumnya
%Yohanes Karuniawan - 2006573733 dari project Matlab yang sudah dibuat
%2022-05-23 sebelumnya
%% Close all yang berfungsi untuk
% clear memory menutup jendela lainnya
close all %close all : menutup semua Clear all yang berfungsi untuk
"jendela" gambar menghapus data yang telah terekam
clear all %clear all : menghapus data pada sebelumnya
workspace Clc yang berfungsi untuk menghapus
clc %clc : membersihkan layar list command yang telah dibuat
commandwindow %memunculkan sebelumnya
commandwindow

2 %INPUT Pada bagian ini dilakukan


%Node : menunjukkan koordinat nodal pendefinsian dari nodal yang ada pada
%(Nodal, xn, yn) struktur balok. Pemilihan dari
Node = [1 0 0; kerapatan antar nodal berjarak 1
2 1 0; meter. Maka dari itu jika dibuat total
3 2 0; sebanyak 19 nodal. Kerapatan dari
4 3 0; jarak antar nodal ini tentu akan
5 4 0; menentukan seberapa halus besar
6 5 0; reaksi perletakan dan gaya dalam yang
7 6 0; mana nantinay akan berdampak juga
8 7 0; pada diagram gaya dalam yang
9 8 0; terbentuk. Semkain rapat jarak antar
10 9 0; nodal maka akan semakin halus

1
Yohanes Karuniawan
2006573733
11 10 0; diagram yang dihasilkan nantinya.
12 11 0; Arti arti xn pada kode disamping
13 12 0; adalah untuk menunjukkan letak arah
14 13 0; sumbu x dari setiap nodal yang berada
15 14 0; pada kolom kedua dari susunan
16 15 0; matriks kolom. Semenatara itu, yn
17 16 0; pada kode disamping adalah untuk
18 17 0; menunjukkan letak arah sumbu y dari
19 18 0]; setiap nodal yang berada pada kolom
ketiga dari susunan matriks kolom
xn=Node(:,2); %xn : data absis dari seluruh
nodal
yn=Node(:,3); %yn : data ordinat dari
seluruh nodal

3 %Material Element Pada bagian ini dilakukan


%E : Modulus elastisitas pendefinisian dari elemen elemen
%I : Momen inersia batang yang ada pada struktur sesuai
E1=2.1e5; I1=2.133e-3; dengan posisi nodal yang telah
% (Element, Near, Far, E,I) ditentukan sebelumnya. Total dari
Element=[1 1 2 E1 I1; elemen yang terbentuk sebanyak 18
2 2 3 E1 I1; buah. Selain itu, juga dilakukan input
3 3 4 E1 I1; terhadap besar modulus elastisitas
4 4 5 E1 I1; sebesar 2,1 × 105 danjuga besar inersia
5 5 6 E1 I1; balok, yaitu 2,133 × 10-3. Pada kasus
6 6 7 E1 I1; ini besar dari EI dan I pada setiap
7 7 8 E1 I1; elemen bernilai sama
8 8 9 E1 I1;
9 9 10 E1 I1;
10 10 11 E1 I1;
11 11 12 E1 I1;
12 12 13 E1 I1;
13 13 14 E1 I1;
14 14 15 E1 I1;
15 15 16 E1 I1;
16 16 17 E1 I1;
17 17 18 E1 I1;
18 18 19 E1 I1];
E=Element(:,4);
I=Element(:,5);

4 %Rest :Boundary condition or Restraint Pada bagian ini, dimasukan kondisi


%(Rest, Ry, Mz) batas dari setiap reaksi perletakan
Rest=[1 1 1; yang ada. Kondisi batas yang
7 1 0; dimaksud melihat dari terkekang atau
13 1 0; tidaknya pada reaksi perletakan.
19 1 1]; Perletakan yang ada pada kasus
rangka batang berada pada nodal 1, 7,
13, dan 19. Pada nodal 1 dan 19
bernilai 1 1 yang menandakan

2
Yohanes Karuniawan
2006573733
terkekang pada arah Ry dan Mz.
Sementara iu pada nodal 7 dan 13
bernilai 1 0 yang mengartikan bahwa
pada arah Ry nodal terkekang serta
untuk Mz tidak terkekang.
5 %Nbne : Beban nodal ekuivalen anja Pada bagian ini dilakukan input
%(Nbne1, Nbne2, f1, m1, f2, m2) terhadap beban nodal ekuivalen pada
Nbne=[1 2 -9/2 -9/12 -9/2 9/12; setiap elemen yang mengalami gaya
2 3 -9/2 -9/12 -9/2 9/12; bbean terbagi merata. Pada kasus
3 4 -9/2 -9/12 -9/2 9/12; terdapat gaya beban terbagi merata
4 5 -9/2 -9/12 -9/2 9/12; sebesar 9 kn/m dari nodal 1 hingga 7
5 6 -9/2 -9/12 -9/2 9/12; serta beban merata sebesar 6 kn/m dari
6 7 -9/2 -9/12 -9/2 9/12; nodal 13 hingga 19. Pada bentang 7
13 14 -6/2 -6/12 -6/2 6/12; sampai dengan 13 tidak dilakukan
14 15 -6/2 -6/12 -6/2 6/12; perhitungan terhadap BNE sebab
15 16 -6/2 -6/12 -6/2 6/12; hanya terdapat gaya titik/point load.
16 17 -6/2 -6/12 -6/2 6/12;
17 18 -6/2 -6/12 -6/2 6/12;
18 19 -6/2 -6/12 -6/2 6/12];

6 %Ngie : Gaya internal ekuivalen anja Pada bagian ini dilakukan input
%(elemen, T1, M1, T2, M2) terhadap gaya internal ekuvalen local
Ngie=[1 -9/2 9/12 9/2 9/12; yang bertujuan untuk menghitung
2 -9/2 9/12 9/2 9/12; besar gaya dalam yang akan dilakuakn
3 -9/2 9/12 9/2 9/12; perhitungan nantinya. Gaya yang
4 -9/2 9/12 9/2 9/12; dhitung berdasarkan beban terbagi
5 -9/2 9/12 9/2 9/12; berata yang berada pada nodal 1
6 -9/2 9/12 9/2 9/12; hingga 7 serta 13 hingga 19. Untuk
13 -6/2 6/12 6/2 6/12; perhitungan dari matriks GIE ini
14 -6/2 6/12 6/2 6/12; mengikuti aturan rumus perhitungan
15 -6/2 6/12 6/2 6/12; berikut
16 -6/2 6/12 6/2 6/12;
17 -6/2 6/12 6/2 6/12;
18 -6/2 6/12 6/2 6/12];

3
Yohanes Karuniawan
2006573733
7 %fpoint : Gaya pada nodal Pada bagian ini dilakukan input
%(Nodal fy mz) terhadap gaya titik/point laod yang
fpoint=[10 -12 0]; berada pada nodal ke-10 sebesar 12 kn
arah kekiri sehingga memiliki tanda
negative. Pada nodal 10 juga tidak
terdapat momen sehingga dituliskan
nol pada kolom 3.
8 %% nE = size(Element, 1); berfungsi untuk
%PROCESS menghitung jumlah elemen pada
%Data inisial kolom pertama dari penamaan
nE=size(Element,1);%nE :jumlah element; variabel Element. Hasil perhitungan
nN=size(Node,1);%nN :jumlah nodal; ini dilambangkan dengan nE.
nF=size(Nbne,1);%nF :jumlah gaya
element; nN = size(Node, 1); berfungsi untuk
nI=size(Ngie,1);%nI :jumlah gaya internal menghitung jumlah nodal pada kolom
ekuivalen pertama dari penamaan variable Node.
un=2;%un :jumlah derajat kebebasan per Hasil perhitungan ini dilambangkan
nodal dengan nN.
Gdof=un*nN;%Gdof :jumlah derajat
kebebasan global nF = size(fpoint, 1); berfungsi untuk
U=zeros(Gdof,1); %Displacement Global menghitung jumlah gaya pada kolom
(matriks kosong) pertama daripenamaan variabel Node.
fbne=zeros(Gdof,1); %Beban nodal Hasil perhitungan ini dilambangkan
ekuivalen global (matriks kosong) dengan nF.
forces=zeros(Gdof,1); % Beban nodal
global (matriks kosong) un = 2; berfungsi untuk
mendefinisikan jumlah derajat
kebebasan per nodal yang berjumlah 2
untuk arah sumbu x dan arah sumbu y.

GDof = un*nN; berfungsi untuk


menghitung jumlah derajat kebebasan
keseluruhan dengan mengalikan
jumlah derajat kebebasan per nodal
dengan jumlah nodal keseluruhan

fbne = zeros(GDof,1); berfungsi untuk


mendefinisikan beban nodal ekuivalen
global dengan cara membuat matriks
kosong dengan jumlah baris yang
sama dengan jumlah derajat
kebebasan keseluruhan dan memiliki
jumlah kolom sebanyak 1

forces = zeros(GDof,1); berfungsi


untuk mendefinisikan beban nodal
global dengan cara membuat matriks
kosong dengan jumlah barisnya sama
dengan jumlah derajat kebebasan
keseluruhan dan memiliki jumlah

4
Yohanes Karuniawan
2006573733
kolom sebanyak 1
9 %Force applied Pada tahap ini dilakukan
for f=1:nF; pengaplikasian dari gaya yang akan
awb=Nbne(f,1);%awb : nodal awal digunakan dalam perhitungan
untuk beban nodal ekuivalen berdasarkan input yang telah
akb=Nbne(f,2);%akb : nodal akhir untuk dilakukan sebelumnya
beban nodal ekuivalen
%bne : kumpulan derajat kebebasan awb = Nbne(f,1); yang berarti
pada elemen yang diiterasi mendefinisikan nodal awal dari beban
bne= [un*awb-((un-1):-1:0),un*akb- nodal ekuivalen yang diambil dari
((un-1):-1:0)]; baris ke-f (f disesuaikan dengan loop
ke-berapa) dan kolom pertama dari
%elbne : beban nodal ekuivalen pada matriks Nbne
elemen yang diiterasi
akb = Nbne(f,2); untuk
elbne=[Nbne(f,3),Nbne(f,4),Nbne(f,5),Nbn mendefinisikan nodal akhir dari beban
e(f,6)]’; nodal ekuivalen yang diambil dari
baris ke-f (nilai f disesuaikan dengan
fbne(bne)=fbne(bne)+elbne; loop ke-berapa) dan kolom ke-2 dari
%penyusunan beban padal kondisi global matriks Nbne
end
bne =[un*awb-((un-1):- 1:0),un*akb-
((un-1):1:0)]; untuk mendefinisikan
kumpulan derajat kebebasan pada
elemen yang diiterasi

elbne=[Nbne(f,3),Nbne(f,4),Nb
ne(f,5),Nbne(f, 6)]'; untuk
mendefinisikan beban nodal ekuivalen
pada elemen yang dilakuakn iterasi

fbne(bne)=fbne(bne)+elbne; untuk
mendefinisikan susunan beban pada
kondisi global
end ;untuk mengakhiri perintah

10 for fp=1:size(fpoint,1); command forfp=1:size(fpoint,1);


Ifx=2*fpoint(fp,1)-1; %d.k gaya arah y
berarti nilai fp yang dimulai dari 1
Ify=2*fpoint(fp,1); %d.k gaya arah
rotasi naik sebesar interval jumlah dari

forces(Ifx)=fpoint(fp,2); %gaya arah y matriks fpoint pada kolom pertama.


forces(Ify)=fpoint(fp,3); %gaya arah Maka akan berlaku pengulangan
rotasi
end berikut:
F=forces+fbne; %penjumlahan gaya Ifx=2*fpoint(fp,1)-1; kode tersebut
dipakai untuk menghitung gaya arah x

5
Yohanes Karuniawan
2006573733
Ify=2*fpoint(fp,1); kode tersebut
dipakai untuk menghitung gaya arah y
forces(Ifx)=fpoint(fp,2); kode tersebut
dipakai untuk mendefinisikan gaya
arah y yang terletak pada baris ke-fp
(fp disesuaikan dengan loop ke-
berapa) dan kolom ke-2 dari matriks
fpoint
forces(Ify)=fpoint(fp,3); kode tersebut
dipakai untuk mendefinisikan gaya
arah rotasi yang terletak pada baris ke-
fp dan kolom ke-3 dari matriks fpoint
end; untuk mengakhiri perintah.
F=forces+fbne; Untuk menghitung
jumlah gaya
11 %Stiffness Pada tahap ini dilakuakn pembuatan
KG=zeros(Gdof);%Kekakuan global dari matrisk kekakuan balok dan juga
struktur (matriks kosong) kondisi batas yang sudah ditentukan
for i=1:nE pada proses input
aw=Element(i,2);%aw : nodal awal
elemen KG=zeros(GDof); Membuat matriks
ak=Element(i,3);%ak : nodal akhir kosong untuk matriks kekakuan global
elemen struktur dimana jumlah kolom dan
baris matriks sesuai dengan jumlah
derajat kebebasan seluruhnya (GDof)
yang telah dibuat di nomor 9 for
i=1:nE; digunakan untuk
mendefinisikan i dimulai dari angka 1
lalu naik sebesar interval nE

aw=Element(i,2);%aw : nodal awal


elemen untuk membuat nodal awal
elemen yang diambil dari baris ke-i
dan kolom ke-2 dari matriks elemen

ak=Element(i,3);%ak : nodal akhir


“Element” untuk membuat nodal akhir
elemen yang diambil dari baris ke-i
dan kolom kolom ke-3 dari matriks
“Element”
12 %Derajat kebebasan pada nodal – nodal dof = [un*aw-((un-1):-1:0),un*ak-
awal dan akhir ((un-1):-1:0)]; untuk menghitung
dof = [un*aw-((un-1):-1:0),un*ak-((un- derajat kebebasan pada nodal-nodal
1):-1:0)]; awal dan akhir

6
Yohanes Karuniawan
2006573733
Lx=xn(ak)-xn(aw);%panjang arah x
%K : Matriks kekakuan elemen anja Lx=xn(ak)-xn(aw);%panjang arah x
K=[ 12 6*Lx -12 6*Lx; Digunakan untuk menghitung jarak
6*Lx 4*(Lx^2) -6*Lx 2*(Lx^2); antar nodal, nodal yang diambil sesuai
-12 -6*Lx 12 -6*Lx; nilai pada matriks “xn” diambil pada
6*Lx 2*(Lx^2) -6*Lx 4*(Lx^2)]; fungsi “ak” dan “aw” yang telah
Kel=(E(i)*I(i)/(Lx^3))*K; %Kel = dibuat.
Kekakuan elemen
KG(dof,dof)=KG(dof,dof)+Kel; Setelah itu dibuat juga mengenai
%KG=Kekakuan global format matriks kekakuan elemen pada
end balok yang aman akan dipakai oleh
setiap elemen untuk perhitungan
berikutnya baik reaksi perletakan
maupun gaya dalam.

Kel=(E(i)*I(i)/(Lx^3))*K; %Kel =
Kekakuan elemen Digun akan untuk
menghitung nilai kekakuan elemen
sesuai rumus yang ada ▪
KG(dof,dof)=KG(dof,dof)+Kel;
%KG=Kekakuan global Untuk
membuat matriks kekakuan global
dijumlahkan seperti yang tertera end;
untuk mengakhiri perintah.

13 %Boundary Condition nDS = (un*Rest(:,1)*ones(un,1)'


nDS = (un*Rest(:,1)*ones(un,1)’-
(ones(size(Rest,1),1)*((un-1):-1:0)))';
(ones(size(Rest,1),1)*((un-1):-1:0)))’;
RSP = [Rest(:,2),Rest(:,3)]; untuk menghitung derajat kekakuan
iDS = nDS(logical(RSP’));
balok
iDE = setxor(iDS,(1:2*nN));
%nDS : dk yang terdapat di boundary RSP = [Rest(:,2),Rest(:,3)]; Untuk
condition
mengidentifikasi apakah reaksi
%RSP : identifikasi terkekang dan tidak
terkekang perletakan terkekang atau tidak
%iDS : d.k terkekang
terkekang
%iDE : d.k tidak terkekang
iDS = nDS(logical(RSP')); untuk
mendefinisikan apabila nodal tersebut
terkekang
iDE = setxor(iDS,(1:2*nN)); untuk
mendefinisikan apabila nodal tersebut
tidak terkekang

7
Yohanes Karuniawan
2006573733
14 %% Pada tahap ini akan dilakuakn
%Solution perhitungan mengenai dicpalcement
KS = KG(iDE,iDE); %KS : kekakuan yang ada pada setiap nodal pada
struktur yg tereduksi struktur balok:
Fn = F(iDE); % Fn : Gaya luar yg tereduksi
Un=KS\Fn; % Un : displasemen tidak sama KS = KG(iDE,iDE); Untuk
dengan nol menghitung matriks kekakuan struktur
%displacement yang telah tereduksi akibat kondisi
U(iDE)=Un; batas
disp(‘Displacement’)
[U] Fn = F(iDE); Untuk menghitung gaya
luar yang telah tereduksi

Un=KS\Fn; Untuk mendefinisikan


displacement

U(iDE)=Un; disp('Displacement') [U]


Untuk menghitung displacement yang
terjadi dan menampilkan hasilnya
15 %reaction Pada tahap ini dilakukan perhitungan
R=KG*U; terhadap rekasi perletakan dengan
Reaction=R(iDS)-fbne(iDS); mengkalikan kekakuan global dengan
disp(‘Reaction’) displacement.
[iDS Reaction]
R=KG*U; Reaction=R(iDS)-
fbne(iDS); disp('Reaction') [iDS
Reaction] Untuk menghitung reaksi
perletakan dan kemudian
menampilkan hasil reaksinya
16 fgie=zeros(nE,un*2); %gaya internal Pada tahap ini dilakukan perhitungan
ekuivalen tiap-tiap elemen terhadap gaya dalam.
%penyusunan gaya internal ekuivalen
for n=1:nI fgie=zeros(nE,un*2); untuk
mendefinisikan gaya internal
fgie(Ngie(n,1),1)=Ngie(n,2); ekuivalen tiap elemen
fgie(Ngie(n,1),2)=Ngie(n,3);
fgie(Ngie(n,1),3)=Ngie(n,4); kemudian juga dilakuakn penyusunan
fgie(Ngie(n,1),4)=Ngie(n,5); terhadao gaya internal ekuivalen
berdasarkan input data gaya beban
end merata

17 GIE=zeros(size(Element,1),2*un);%gaya GIE=zeros(size(Element,1),2*un);
dalam (matriks kosong) Untuk membuat matriks kosong yang
for i=1:size(Element,1) dapat mendefinisikan gaya dalam
aw=Element(i,2);%aw : nodal awal
elemen for i=1:size(Element,1) Untuk nilai i
ak=Element(i,3);%ak : nodal akhir yang dimulai dari 1 hingga sejumlah
elemen elemen yang ada (nilai variabel nE),
%Derajat kebebasan pada nodal – nodal maka akan berlaku pengulangan:
awal dan akhir
aw=Element(i,2); untuk

8
Yohanes Karuniawan
2006573733
ndof = [un*aw-((un-1):-1:0),un*ak-((un- mendefinisikan nodal awal elemen
1):-1:0)]; yang diambil dari baris ke-i (i
Lx=xn(ak)-xn(aw);%panjang arah x disesuaikan dengan loop ke-berapa)
K=[-12 -6*Lx 12 -6*Lx; dan kolom ke-2 dari matriks Element
6*Lx 4*(Lx^2) -6*Lx 2*(Lx^2);
-12 -6*Lx 12 -6*Lx; ak=Element(i,3); untuk
-6*Lx -2*(Lx^2) 6*Lx -4*(Lx^2)]; mendefinisikan nodal akhir dari
Kel=(E(i)*I(i)/(Lx^3))*K; %Kel = elemen yang diambil dari baris ke-i (i
Kekakuan elemen disesuaikan dengan loop ke-berapa)
Internal=Kel*U(ndof)+ [fgie(i,:’]; dan kolom ke-3 dari matriks Element
%Gaya dalam per elemen 1:0)]; untuk mendefinisikan derajat
GIE(i,:= GIE(i,:+Internal’;%Penyusunan kebebasan pada nodal awal dan akhir
matriks untuk gaya dalam
end Lx=xn(ak)-xn(aw); Untuk menghitung
disp(‘Internal Forces (Element T1 M1 T2 panjang balok arah x
M2)’)
jj=1:size(Element,1); Kemudian terdapat format matriks
[jj’ GIE] kekauan (K) yang mana digunakan
untuk menghitung besar gaya dalam
pada balok.

Kel=(E(i)*I(i)/(Lx^3))*K; Untuk
menghitung kekakuan elemen •
Internal=Kel*U(ndof)+ [fgie(i,:)'];
Untuk menghitung gaya dalam per
elemen

GIE(i,:)= GIE(i,:)+Internal'; untuk


menyusun matriks gaya dalam

end untuk mengakhiri perintah for


yang telah digunakan

disp('Internal Forces (Element T1 M1


T2 M2)') jj=1:size(Element,1); [jj'
GIE] Digunakan untuk menampilkan
susunan dari perhitungan gaya dalam
yan gsudah dihitung sebelumnya
18 %Gambar Kurva Defleksi clf
clf sk=0.5/max(abs(U));
sk=0.5/max(abs(U)); for e=1:nE
for e=1:nE aw=Element(e,2);
aw=Element(e,2); ak=Element(e,3);
ak=Element(e,3); x1=[xn(aw),xn(ak)];
x1=[xn(aw),xn(ak)]; y1=[yn(aw),yn(ak)]; y1=[yn(aw),yn(ak)];
plot(x1, y1,’b’) plot(x1, y1,’b’)
hold on; hold on;
end end

for e=1:nE for e=1:nE


aw=Element(e,2); aw=Element(e,2);

9
Yohanes Karuniawan
2006573733
ak=Element(e,3); ak=Element(e,3);
awx=2*aw-1;awy=2*aw-0; awx=2*aw-1;awy=2*aw-0;
akx=2*ak-1;aky=2*ak-0; akx=2*ak-1;aky=2*ak-0;
x2=[xn(aw),xn(ak)]; x2=[xn(aw),xn(ak)];
y2=[yn(aw)+sk*U(awx),yn(ak) y2=[yn(aw)+sk*U(awx),yn(ak)
+sk*U(akx)]; +sk*U(akx)];
plot(x2, y2,’-.or’) plot(x2, y2,’-.or’)
hold on; hold on;
end end
Kode tersebut digunakan untuk
for n=1:nN melakukan ploting gambar kurva
text (xn(n), yn(n), int2str(n), defleksi.
‘BackgroundColor’, [1 1 1])
end title (‘Bernoulli Beam – Yohanes
Karuniawan’)
title (‘Bernoulli Beam – Yohanes Dipakai untuk memberikan judul pada
Karuniawan’) kurva ataupun diagram yang akan
axis equal; axis tight; axis off; dibuat.
xlabel(‘sb x’)
ylabel(‘sb y’) axis equal; axis tight; axis off;
zlabel(‘sb z’) xlabel(‘sb x’)
hold off; ylabel(‘sb y’)
pause(1e-10); zlabel(‘sb z’)
hold off;
pause(1e-10);
Kode tersebut dipakai untuk
memberikan detail legenda pada
grafik untuk menandakan sumbu
sumbu pada grafik.
19 title (‘Bernoulli Beam – Yohanes Pada bagian ini akan dilakukan
Karuniawan) ploting terhadap gaya dalam lintang
axis tight; axis off; serta gaya dalam momen pada balok
xlabel(‘sb x’)
ylabel(‘sb y’) for e=1:nE
zlabel(‘sb z’) xin=[xn€ xn(e+1) xn(e+1) xn€];
hold off; yin=[0 0 -GIE(e,3) -GIE(e,1)];
pause(1e-10); patch(xin,yin,’b’)
end
%Grafik Gaya Dalam Lintang
figure(2) for e=1:nE
title ('Diagram Gaya Dalam Momen - xin=[xn€ xn(e+1) xn(e+1) xn€];
Yohanes Karuniawan') yin=[0 0 -GIE(e,4) -GIE(e,2)];
patch(xin,yin,’r’)
for e=1:nE end
xin=[xn€ xn(e+1) xn(e+1) xn€];
yin=[0 0 -GIE(e,3) -GIE(e,1)]; Kode tersebut dipakai untuk membuat
patch(xin,yin,’b’) plot grafik setiap elemen secara
end otomatis yang mana xin adala
koordinat x serta yin adalah koordiant
%Grafik Gaya Dalam Momen sumbu y. Kemudian dilakukan

10
Yohanes Karuniawan
2006573733
figure (3) pembautan titik titik yang kemudian
title ('Diagram Gaya Dalam Momen - dibuat patch. Kode diatas dipakai
Yohanes Karuniawan') untuk ploting gaya dalam lintnag dan
momen.
for e=1:nE
xin=[xn€ xn(e+1) xn(e+1) xn€];
yin=[0 0 -GIE(e,4) -GIE(e,2)];
patch(xin,yin,’r’)
end

Gambar kurva Defeleksi dan Struktur batang

Diagram Gaya Dalam Lintang Struktur Balok

Diagram Gaya Dalam Momen Struktur Balok

Tabulasi Hasil Perhitungan Matlab

11
Yohanes Karuniawan
2006573733
Tabulasi perhitungan Displacement pada balok
Hasil matlab Interpretasi
Displacement Pada hasil yang ditunjukkan nampak bahwa
besar dari displacement matriks dilambangkan
U= dengan matriks U yang mana sudah
didefinisikan apda bagian proses. Pada hasil
0 yang ditunjukkan oleh matlab dapat dilihat besar
0 dari dicplacement akibat gaya gaya arah vertical
-0.0260 berada pada urutan baris ganjil. Sementara itu,
-0.0425 displacemenet akimat momen berada apda baris
-0.0697 genap.
-0.0388
-0.0949 Maka dari itu urutan dari displacement ini dapat
-0.0090 dikatakan berselang seling antara Vn dan Ɵn.
-0.0857 Maka dapat diilustrasikan sebagai berikut
0.0268
-0.0460 V1
0.0486 Ɵ1
0 V2
0.0362 Ɵ2
0.0207 V3
0.0077 Ɵ3
0.0205 V4
-0.0054 Ɵ4
0.0151 Dst…
-0.0030
0.0152
0.0013
0.0140
-0.0057
0
-0.0241
-0.0307
-0.0324
-0.0572
-0.0179
-0.0633
0.0060
-0.0464
0.0259
-0.0173
0.0284
0
0

Tabulasi Perhitungan Reaksi Perletakan pada Balok


Hasil matlab Interpretasi

12
Yohanes Karuniawan
2006573733
Reaction Matriks hasil perhitunga reaksi perletakan
dilambangkan dengan reaction yang mana
ans = pembacaan nya, pada baris pertama adalah gaya
vertical pada nodal A, baris kedua adalah gaya
1.0000 29.7000 momen pada nodal A. Kemudian baris ketiga
2.0000 32.4000 dan keempat secara berturut turut daya vertical
13.0000 31.2000 pada nodal B dan Nodal C. Selanjutnya pada
25.0000 21.3000 baris kelima adalah gaya vertical pada nodal D
37.0000 19.8000 dan bariks keenam adalah momen pada nodal D.
38.0000 -21.6000
Kemudian pembacaan dari segi kolom jika pada
kolom 1 yang bernilai ganjil seperti 1, 3, 5, dst,
maka nilai pada kolom 2 pad baris yang sama
merupakan reaksi perletakan berupa gaya
vertical. Hal ini juga berlaku pada yang berniali
genap, yang mana jika kolom 1 berniali genap
seperti 1, 4, 6, dst maka nilai pada kolom 2
pada baris yang sama adalah reaksi perletakan
berupa gaya momen
Tabulasi Perhitungan Gaya Dalam pada Balok
Hasil matlab Interpretasi
Internal Forces (Element T1 M1 T2 Nilai pada hasil perhitunagn gaya dalam yang
M2) ada pada gambar disamping adalah niali yang
kemudian diplot pada diagram. Jika jarak antar
ans = nodal lebih kecil algi maka tabulasi nilai internal
forces akan semakin banyak pula.
1.0000 -29.7000 32.4000 -20.7000 7.2000
2.0000 -20.7000 7.2000 -11.7000 -9.0000
3.0000 -11.7000 -9.0000 -2.7000 -16.2000 Pembacaan dari hasil disamping adalah, pada
4.0000 -2.7000 -16.2000 6.3000 -14.4000 kolom 1 adalah nama dari elemen yang ditinjau,
5.0000 6.3000 -14.4000 15.3000 -3.6000 kolom 2 adalah gaya dalam vertical pada nodal
6.0000 15.3000 -3.6000 24.3000 16.2000
7.0000 -6.9000 16.2000 -6.9000 9.3000 awal, kolom 3 adalah gaya dalam momen pada
8.0000 -6.9000 9.3000 -6.9000 2.4000 nodal awal, kolom ke-4 adalah gaya dalam
9.0000 -6.9000 2.4000 -6.9000 -4.5000 vertical pada nodal akhir, dan kolom ke-5 adalah
10.0000 5.1000 -4.5000 5.1000 0.6000
11.0000 5.1000 0.6000 5.1000 5.7000 gaya dalam momen pada nodal akhir
12.0000 5.1000 5.7000 5.1000 10.8000
13.0000 -16.2000 10.8000 -10.2000 -2.4000
14.0000 -10.2000 -2.4000 -4.2000 -9.6000
15.0000 -4.2000 -9.6000 1.8000 -10.8000
16.0000 1.8000 -10.8000 7.8000 -6.0000
17.0000 7.8000 -6.0000 13.8000 4.8000
18.0000 13.8000 4.8000 19.8000 21.6000

2. Kasus Struktur Portal Miring

13
Yohanes Karuniawan
2006573733

No Kode Interpretasi
1 %% Sebagai keterangan awal Matlab dan
%................................ beberapa perintah untuk
%MATLAB code for Finite Element mempersiapkan lembar kerja baru
Analysis pada Matlab dengan cara menghapus
%Frame 2D Problem data yang telah terekam sebelumnya
%Yohanes Karuniawan - 2006573733 dari project Matlab yang sudah dibuat
%% sebelumnya
% clear memory Close all yang berfungsi untuk
close all %close all : menutup semua menutup jendela lainnya
"jendela" gambar Clear all yang berfungsi untuk
clear all %clear all : menghapus data pada menghapus data yang telah terekam
workspace sebelumnya
clc %clc : membersihkan layar Clc yang berfungsi untuk menghapus
commandwindow %memunculkan list command yang telah dibuat
commandwindow sebelumnya

2 %% Pada bagian ini akan didefinsikan


%INPUT letak dari setiap nodal yang akan
%Node : menunjukkan koordinat nodal dipakai dalam perhitungan struktur.
%(Nodal, xn, yn) Pada bagian rangka yang miring
Node = [1 0 0; diberikan jarak antara nodal yang
2 3/4 1; lebih rapat dibandingkan dengan
3 3/2 2; rangaka batang yang lurus. Hal ini
4 9/4 3; ditujukan agar hasil dari perhitungan
5 3 4; dapat lebih terliti dan membuat
6 4 4; perhitungan pada batang miring lebih
7 5 4; akurat. Setelah dilakukan perhitungan
8 6 4; jarak antara nodal didapatkan jumlah
9 7 4; nodal sebanyak 14. Arti arti xn pada
10 8 4; kode disamping adalah untuk
11 9 3.25; menunjukkan letak arah sumbu x dari
12 10 2.5; setiap nodal yang berada pada kolom
13 11 1.75; kedua dari susunan matriks kolom.
14 12 1]; Semenatara itu, yn pada kode
disamping adalah untuk menunjukkan
xn=Node(:,2); %xn : data absis dari seluruh letak arah sumbu y dari setiap nodal
nodal yang berada pada kolom ketiga dari
yn=Node(:,3); %yn : data ordinat dari susunan matriks kolom
seluruh nodal

14
Yohanes Karuniawan
2006573733
3 %Material Element Pada bagian ini akan didefinisikan
%E : Modulus elastisitas dari nilai modulus elasitas, momen
%I : Momen inersia inersia, dan luas penampang balok
%A : Luas penampang balok Dimasukan nilai dari EI sebesar 2 ×
E1=2e8; I1=3e-6;A1=6e-3; 108, I1 sebesar 3 × 10-6, dan A1
%(Element, Near, Far, E, I, A) sebesar 6 × 10-3. Selain itu juga
Element=[1 1 2 E1 I1 A1; dilakuakn pendefinisian dari setiap
2 2 3 E1 I1 A1; elemen para portal berdasarkan
3 3 4 E1 I1 A1; penamaan nodal yang telah dilakukan
4 4 5 E1 I1 A1; sebelumnya. Jika ditotalkan terdapat
5 5 6 E1 I1 A1; 13 elemen pada portal sebab terdapat
6 6 7 E1 I1 A1; 14 buat nodal. Pada kasus ini nilai
7 7 8 E1 I1 A1; dari E,I, dan A memiliki besar yang
8 8 9 E1 I1 A1; sama disepanjang struktur. Pada
9 9 10 E1 I1 A1; mariks yang dibuat modulus elastis E
10 10 11 E1 I1 A1; berada pada kolom 4, I berada pada
11 11 12 E1 I1 A1; kolom 5, dan luas permukaan berada
12 12 13 E1 I1 A1; pada kolom 6.
13 13 14 E1 I1 A1];
E=Element(:,4);
I=Element(:,5);
A=Element(:,6);

4 %Rest :Boundary condition or Restraint Pada bagian ini akan ditetukan


%Rest, Rx, Ry, Mz) kondisi batas dari reaksi perletakan
Rest=[1 1 1 1; yang ada. Terdapat reaksi perletakan
14 1 1 1]; berupa jepit pada nodal 1 dan 14.
Oleh karena perletakan yang ada
berupa jepit maka nodal 1 dan 14
terkekkang pada arah RX, RY, dan
MZ sehingga diberikan angka 1 1 1.
5 %Nbne : Beban nodal ekuivalen lokal Pada bagian ini akan dimasukan nilai
%(Nbne1, Nbne2, fx1, fy1, m1, fx2, fy2, beban nodal ekuivalen pada portal.
m2) Namun pada kasus ini tidak terdapat
Nbne=[2 3 0 0 0 0 0 0]; beban merata sehingga tidak ada
matriks BNE pada kasus ini. Selain
itu, gaya aksial (N) tidak dihitung
pula karena dianggap nol sebab
dikondisikan tidak ada gaya aksial
pada portal.

6 %Ngie : Gaya internal ekuivalen lokal Pada bagian ini akan dibuat matriks
%(elemen,N1, T1, M1, N2, T2, M2) gaya intenal ekuivalen (GIE) yang
Ngie=[5 0 0 0 0 0 0]; mana juga didasarkan pada beban
%fpoint : Gaya pada nodal merata pada portal. Oleh karena tidak
%(Nodal fx fy mz) terdapat gaya terbagi meraata maka
fpoint=[5 12 0 0]; tidak terdapat matriks GIE. Selain itu,
gaya aksial (N) tidak dihitung pula

15
Yohanes Karuniawan
2006573733
karena dianggap nol sebab
dikondisikan tidak ada gaya aksial
pada portal.

Kemudian juga dimasukkan nilai dari


gaya titik atau point load. Pada kasus
terdapat gaya sebesar 12 kn bergerak
kearah kanan portal pada nodal 5.
Oleh karena pada nodal 5 hanay ada
gaya arah x saja sehinnga fy dan mx
diberikan angka nol.
7 %% nE = size(Element, 1); berfungsi
%PROCESS untuk menghitung jumlah elemen
%Data inisial pada kolom pertama dari penamaan
nE=size(Element,1);%nE :jumlah element; variabel Element. Hasil perhitungan
nN=size(Node,1);%nN :jumlah nodal; ini dilambangkan dengan nE.
nF=size(Nbne,1);%nF :jumlah gaya element;
nI=size(Ngie,1);%nI :jumlah gaya internal nN = size(Node, 1); berfungsi untuk
ekuivalen menghitung jumlah nodal pada kolom
un=3;%un :jumlah derajat kebebasan per pertama dari penamaan variable
nodal Node. Hasil perhitungan ini
GDof=un*nN;%Gdof :jumlah derajat dilambangkan dengan nN.
kebebasan global
U=zeros(GDof,1); nF = size(fpoint, 1); berfungsi untuk
%Displacement Global (matriks menghitung jumlah gaya pada kolom
kosong) pertama daripenamaan variabel Node.
fbne=zeros(GDof,1); %Beban nodal Hasil perhitungan ini dilambangkan
ekuivalen global dengan nF.
(matriks kosong)
forces=zeros(GDof,1); % Beban nodal global un = 2; berfungsi untuk
(matriks kosong) mendefinisikan jumlah derajat
kebebasan per nodal yang berjumlah 2
untuk arah sumbu x dan arah sumbu
y.

GDof = un*nN; berfungsi untuk


menghitung jumlah derajat kebebasan
keseluruhan dengan mengalikan
jumlah derajat kebebasan per nodal
dengan jumlah nodal keseluruhan

fbne = zeros(GDof,1); berfungsi


untuk mendefinisikan beban nodal
ekuivalen global dengan cara
membuat matriks kosong dengan
jumlah baris yang sama dengan
jumlah derajat kebebasan keseluruhan
dan memiliki jumlah kolom sebanyak
1

forces = zeros(GDof,1); berfungsi

16
Yohanes Karuniawan
2006573733
untuk mendefinisikan beban nodal
global dengan cara membuat matriks
kosong dengan jumlah barisnya sama
dengan jumlah derajat kebebasan
keseluruhan dan memiliki jumlah
kolom sebanyak 1
8 %Force applied Pada tahap ini dilakukan
for f=1:nF; pengaplikasian dari gaya yang akan
awb=Nbne(f,1);%awb : nodal awal untuk digunakan dalam perhitungan
beban nodal ekuivalen berdasarkan input yang telah
akb=Nbne(f,2);%akb : nodal akhir untuk dilakukan sebelumnya
beban nodal ekuivalen
%bne : kumpulan derajat kebebasan pada awb = Nbne(f,1); yang berarti
elemen yang diiterasi mendefinisikan nodal awal dari beban
bne= [un*awb-((un-1):-1:0),un*akb-((un- nodal ekuivalen yang diambil dari
1):-1:0)]; baris ke-f (f disesuaikan dengan loop
%elbne : beban nodal ekuivalen pada ke-berapa) dan kolom pertama dari
elemen yang diiterasi matriks Nbne
elbne=[Nbne(f,3),Nbne(f,4),Nbne(f,5),
Nbne(f,6),Nbne(f,7),Nbne(f,8)]'; akb = Nbne(f,2); untuk
%penyusunan beban padal kondisi global mendefinisikan nodal akhir dari beban
fbne(bne)=fbne(bne)+elbne; nodal ekuivalen yang diambil dari
end baris ke-f (nilai f disesuaikan dengan
loop ke-berapa) dan kolom ke-2 dari
matriks Nbne

bne =[un*awb-((un-1):- 1:0),un*akb-


((un-1):1:0)]; untuk mendefinisikan
kumpulan derajat kebebasan pada
elemen yang diiterasi

elbne=[Nbne(f,3),Nbne(f,4),Nb
ne(f,5),Nbne(f, 6)]'; untuk
mendefinisikan beban nodal ekuivalen
pada elemen yang dilakuakn iterasi

fbne(bne)=fbne(bne)+elbne; untuk
mendefinisikan susunan beban pada
kondisi global
end ;untuk mengakhiri perintah

9 for fp=1:size(fpoint,1); command forfp=1:size(fpoint,1);


Ifx=un*fpoint(fp,1)-2;%d.k gaya arah x
berarti nilai fp yang dimulai dari 1
Ify=un*fpoint(fp,1)-1;%d.k gaya arah y
Ifmz=un*fpoint(fp,1);%d.k gaya arah naik sebesar interval jumlah dari
rotasi
matriks fpoint pada kolom pertama.
forces(Ifx)=fpoint(fp,2);%gaya arah x Maka akan berlaku pengulangan

17
Yohanes Karuniawan
2006573733
forces(Ify)=fpoint(fp,3);%gaya arah y berikut:
forces(Ifmz)=fpoint(fp,4);%gaya arah
Ifx=2*fpoint(fp,1)-1; kode tersebut
rotasi
end dipakai untuk menghitung gaya arah x
Ify=2*fpoint(fp,1); kode tersebut
dipakai untuk menghitung gaya arah y
forces(Ifx)=fpoint(fp,2); kode tersebut
dipakai untuk mendefinisikan gaya
arah y yang terletak pada baris ke-fp
(fp disesuaikan dengan loop ke-
berapa) dan kolom ke-2 dari matriks
fpoint
forces(Ify)=fpoint(fp,3); kode tersebut
dipakai untuk mendefinisikan gaya
arah rotasi yang terletak pada baris
ke-fp dan kolom ke-3 dari matriks
fpoint
end; untuk mengakhiri perintah.
F=forces+fbne; Untuk menghitung
jumlah gaya
10 F=forces+fbne;%penjumlahan gaya Pada tahap ini dilakuakn pembuatan
%Stiffness dari matrisk kekakuan balok dan juga
KG=zeros(GDof);%Kekakuan global kondisi batas yang sudah ditentukan
struktur (matriks kosong) pada proses input
for i=1:nE
aw=Element(i,2);%aw : nodal awal KG=zeros(GDof); Membuat matriks
elemen kosong untuk matriks kekakuan
ak=Element(i,3);%ak : nodal akhir elemen global struktur dimana jumlah kolom
%Derajat kebebasan pada nodal - nodal dan baris matriks sesuai dengan
awal dan akhir jumlah derajat kebebasan seluruhnya
dof = [un*aw-((un-1):-1:0),un*ak-((un- (GDof) yang telah dibuat di nomor 9
1):-1:0)]; for i=1:nE; digunakan untuk
Lx=xn(ak)-xn(aw);%panjang arah x mendefinisikan i dimulai dari angka 1
Ly=yn(ak)-yn(aw);%panjang arah y lalu naik sebesar interval nE
L=(Lx^2+Ly^2)^.5;%panjang elemen
c=Lx/L;s=Ly/L;%c=cos, s=sin aw=Element(i,2);%aw : nodal awal
elemen untuk membuat nodal awal
elemen yang diambil dari baris ke-i
dan kolom ke-2 dari matriks elemen

ak=Element(i,3);%ak : nodal akhir


“Element” untuk membuat nodal
akhir elemen yang diambil dari baris

18
Yohanes Karuniawan
2006573733
ke-i dan kolom kolom ke-3 dari
matriks “Element”

Lx=xn(ak)-xn(aw);%panjang arah x
Digunakan untuk menghitung jarak
antar nodal, nodal yang diambil sesuai
nilai pada matriks “xn” diambil pada
fungsi “ak” dan “aw” yang telah
dibuat

Ly=yn(ak)-yn(aw);%panjang arah y
Digunakan untuk menghitung jarak
antar nodal, nodal yang diambil sesuai
nilai pada matriks “yn” diambil pada
fungsi “ak” dan “aw” yang telah
dibuat
11 ka=E(i)*A(i)/L; Kode tersebut digunakan untuk
kb=12*E(i)*I(i)/L^3; menghitung dari perkalian antara
kc=6*E(i)*I(i)/L^2; matriks kekauan dan juga nilai
kd1=4*E(i)*I(i)/L;kd2=0.5*kd1; kekauan dari balok EI kemudian
dibagi dengan L.

12 K=[ka 0 0 -ka 0 0; Matriks K dan T dipakai untuk format


0 kb kc 0 -kb kc; matirks kekakuan elemen dan matriks
0 kc kd1 0 -kc kd2; transformasi. Nilai tersebut
-ka 0 0 ka 0 0; didapatkan melalui hasil perhitungan
0 -kb -kc 0 kb -kc; rumus.
0 kc kd2 0 -kc kd1];
%K : Kekakuan elemen
%T : matriks transformasi
T = [c s 0 0 0 0;
-s c 0 0 0 0;
0 0 1 0 0 0;
0 0 0 c s 0;
0 0 0 -s c 0;
0 0 0 0 0 1];

13 KEG=T'*K*T; %KEG=kekakuan elemen Kel=(E(i)*I(i)/(Lx^3))*K; %Kel =


sumbu global Kekakuan elemen
KG(dof,dof)=KG(dof,dof)+KEG; Kode tersebut dipakai untuk
%KG=Kekakuan global menghitung nilai matriks kekakuan
end lokal sesuai dengan rumus yang
berlaku.

KG(dof,dof)=KG(dof,dof)+Kel;
%KG=Kekakuan global
Kode tersebut dipakai untuk
menghitung nilai matriks kekakuan
global sesuai dengan rumus yang
berlaku.

19
Yohanes Karuniawan
2006573733

14 %Boundary Condition nDS = (un*Rest(:,1)*ones(un,1)'


nDS = (un*Rest(:,1)*ones(un,1)'-
(ones(size(Rest,1),1)*((un-1):-1:0)))';
(ones(size(Rest,1),1)*((un-1):-1:0)))';
RSP = [Rest(:,2),Rest(:,3),Rest(:,4)]; untuk menghitung derajat kekakuan
iDS = nDS(logical(RSP'));
balok
iDE = setxor(iDS,(1:un*nN));
%nDS : dk yang terdapat di boundary RSP = [Rest(:,2),Rest(:,3)]; Untuk
condition
mengidentifikasi apakah reaksi
%RSP : identifikasi terkekang dan tidak
terkekang perletakan terkekang atau tidak
%iDS : d.k terkekang
terkekang
%iDE : d.k tidak terkekang
iDS = nDS(logical(RSP')); untuk
mendefinisikan apabila nodal tersebut
terkekang
iDE = setxor(iDS,(1:2*nN)); untuk
mendefinisikan apabila nodal tersebut
tidak terkekang

15 %% Pada tahap ini akan dilakuakn


%Solution perhitungan mengenai dicpalcement
KS = KG(iDE,iDE); %KS : kekakuan yang ada pada setiap nodal pada
struktur yg tereduksi struktur balok:
Fn = F(iDE); % Fn : Gaya luar yg tereduksi
Un=KS\Fn; % Un : displasemen tidak sama KS = KG(iDE,iDE); Untuk
dengan nol menghitung matriks kekakuan
%displacement struktur yang telah tereduksi akibat
U(iDE)=Un; kondisi batas
disp('Displacement')
[U] Fn = F(iDE); Untuk menghitung gaya
luar yang telah tereduksi

Un=KS\Fn; Untuk mendefinisikan


displacement

U(iDE)=Un; disp('Displacement') [U]


Untuk menghitung displacement yang
terjadi dan menampilkan hasilnya
16 %reaction Pada tahap ini dilakukan perhitungan
R=KG*U; terhadap rekasi perletakan dengan
Reaction=R(iDS)-fbne(iDS); mengkalikan kekakuan global dengan
disp('Reaction') displacement.
[iDS Reaction]
R=KG*U; Reaction=R(iDS)-
fbne(iDS); disp('Reaction') [iDS
Reaction] Untuk menghitung reaksi
perletakan dan kemudian
menampilkan hasil reaksinya

20
Yohanes Karuniawan
2006573733
17 %Internal Forces Pada tahap ini dilakukan perhitungan
fgie=zeros(nE,un*2); %gaya internal terhadap gaya dalam.
ekuivalen tiap-tiap elemen
%penyusunan gaya internal ekuivalen fgie=zeros(nE,un*2); untuk
for n=1:nI mendefinisikan gaya internal
ekuivalen tiap elemen
fgie(Ngie(n,1),1)=Ngie(n,2);
fgie(Ngie(n,1),2)=Ngie(n,3); kemudian juga dilakuakn penyusunan
fgie(Ngie(n,1),3)=Ngie(n,4); terhadap gaya internal ekuivalen
fgie(Ngie(n,1),4)=Ngie(n,5); berdasarkan input data gaya beban
fgie(Ngie(n,1),5)=Ngie(n,6); merata.
fgie(Ngie(n,1),6)=Ngie(n,7);

end

18 disp('Internal Forces (Element N1 T1 M1 N2


T2 M2)') disp('Internal Forces (Element T1 M1
jj=1:size(Element,1);format T2 M2)') jj=1:size(Element,1); [jj'
[jj' GIE] GIE] Digunakan untuk menampilkan
susunan dari perhitungan gaya dalam
%Plot grafik struktur yan gsudah dihitung sebelumnya.
clf
% figure Selanjutnya dilakukan ploting
U(iDE)=Un; terhadapa kurva defleksi pada portal.
sk=0.5/max(abs(U));
for e=1:nE

aw=Element(e,2);
ak=Element(e,3);
x1=[xn(aw),xn(ak)]; y1=[yn(aw),yn(ak)];
plot(x1, y1,'b')
hold on;
end

19 for e=1:nE Pada tahap ini idlakuakn definisi


aw=Element(e,2); terhadap elemen dan juag dilakuakn
ak=Element(e,3); perhitungan terhadap besar x2 dengan
awx=3*aw-2;awy=3*aw-1; arah x sesuai dengan xn pada aw,
akx=3*ak-2;aky=3*ak-1; awx, akx. Kemudian juga dilakuak
perhitungan terhadap besar y2 dengan
x2=[xn(aw)+sk*U(awx),xn(ak) arah y sesuai dengan yn pada aw,
+sk*U(akx)]; awy, aky.
y2=[yn(aw)+sk*U(awy),yn(ak)
+sk*U(aky)];
plot(x2, y2,'-.r')
hold on;
end

20 for n=1:nN axis equal; axis tight; axis off;


text (xn(n), yn(n), int2str(n), xlabel(‘sb x’)

21
Yohanes Karuniawan
2006573733
'BackgroundColor', [1 1 1]) ylabel(‘sb y’)
end zlabel(‘sb z’)
hold off;
title ('Frame 2 Dimension - Yohanes pause(1e-10);
Karuniawan') Kode tersebut dipakai untuk
axis equal; axis tight; axis off; memberikan detail legenda pada
xlabel('sb x') grafik untuk menandakan sumbu
ylabel('sb y') sumbu pada grafik.
zlabel('sb z')
hold off;
pause(1e-10);

21 %% Pada bagian ini dilakukan plotying


%Gambar Diagram Gaya Dalam Momen terhadapa gaya dalam Moemen,
figure(2) Geser, dan Aksial pada portal.
for e=1:nE
aw=Element(e,2); Lx=xn(ak)-xn(aw);%panjang arah x
ak=Element(e,3); Digunakan untuk menghitung jarak
x1=[xn(aw),xn(ak)]; antar nodal, nodal yang diambil sesuai
y1=[yn(aw),yn(ak)]; nilai pada matriks “xn” diambil pada
plot(x1, y1,'b') fungsi “ak” dan “aw” yang telah
hold on; dibuat
end
scale = max(max(abs(GIE))); Ly=yn(ak)-yn(aw);%panjang arah y
for e=1:nE Digunakan untuk menghitung jarak
aw=Element(e,2); antar nodal, nodal yang diambil sesuai
ak=Element(e,3); nilai pada matriks “yn” diambil pada
Lx=xn(ak)-xn(aw); fungsi “ak” dan “aw” yang telah
Ly=yn(ak)-yn(aw); dibuat
L=(Lx^2+Ly^2)^.5;

c=Lx/L;s=Ly/L;
xin = [xn(aw) xn(ak)
(xn(ak)-GIE(e,6)*s/scale) (xn(aw)-
GIE(e,3)*s/scale)];
yin = [yn(aw) yn(ak)
(yn(ak)+GIE(e,6)*c/scale) (yn(aw)
+GIE(e,3)*c/scale)];
patch(xin,yin,'blue')
end
axis equal
for n=1:nN
text (xn(n), yn(n), int2str(n),
'BackgroundColor', [1 1 1])
end
title ('Kurva Gaya Dalam Momen- Yohanes
Karuniawan')
zlabel('sb z')
hold off;
pause(1e-10);

22
Yohanes Karuniawan
2006573733
%%
%Gambar Diagram Gaya Dalam Geser
figure(3)
for e=1:nE
aw=Element(e,2);
ak=Element(e,3);
x1=[xn(aw),xn(ak)];
y1=[yn(aw),yn(ak)];
plot(x1, y1,'b')
hold on;
end
scale = max(max(abs(GIE)));
for e=1:nE
aw=Element(e,2);
ak=Element(e,3);
Lx=xn(ak)-xn(aw);
Ly=yn(ak)-yn(aw);
L=(Lx^2+Ly^2)^.5;

c=Lx/L;s=Ly/L;
xin = [xn(aw) xn(ak)
(xn(ak)-GIE(e,5)*s/scale) (xn(aw)-
GIE(e,2)*s/scale)];
yin = [yn(aw) yn(ak)
(yn(ak)+GIE(e,5)*c/scale) (yn(aw)
+GIE(e,2)*c/scale)];
patch(xin,yin,'blue')
end
axis equal
for n=1:nN
text (xn(n), yn(n), int2str(n),
'BackgroundColor', [1 1 1])
end
title ('Kurva Gaya Dalam Geser- Yohanes
Karuniawan')
zlabel('sb z')
hold off;
pause(1e-10);
%%
%Gambar Diagram Gaya Dalam Aksial
figure(4)
for e=1:nE
aw=Element(e,2);
ak=Element(e,3);
x1=[xn(aw),xn(ak)];
y1=[yn(aw),yn(ak)];
plot(x1, y1,'b')
hold on;
end
scale = max(max(abs(GIE)));

23
Yohanes Karuniawan
2006573733
for e=1:nE
aw=Element(e,2);
ak=Element(e,3);
Lx=xn(ak)-xn(aw);
Ly=yn(ak)-yn(aw);
L=(Lx^2+Ly^2)^.5;

c=Lx/L;s=Ly/L;
xin = [xn(aw) xn(ak)
(xn(ak)-GIE(e,4)*s/scale) (xn(aw)-
GIE(e,1)*s/scale)];
yin = [yn(aw) yn(ak)
(yn(ak)+GIE(e,4)*c/scale) (yn(aw)
+GIE(e,1)*c/scale)];
patch(xin,yin,'blue')
end
axis equal
for n=1:nN
text (xn(n), yn(n), int2str(n),
'BackgroundColor', [1 1 1])
end
title ('Kurva Gaya Dalam Aksial- Yohanes
Karuniawan')
zlabel('sb z')
hold off;
pause(1e-10);

Gambar kurva Defeleksi Portal

Diagram Gaya Dalam Geser Struktur Portal

24
Yohanes Karuniawan
2006573733

Diagram Gaya Dalam Aksial Struktur Portal

Diagram Gaya Dalam Momen Struktur Portal

Tabulasi Hasil Perhitungan Matlab


Tabulasi perhitungan Displacement pada portal miring
Hasil matlab Interpretasi
Displacement Pada hasil yang ditunjukkan nampak
bahwa besar dari displacement
U= matriks dilambangkan dengan matriks
U yang mana sudah didefinisikan
0 apda bagian proses. Pada hasil yang

25
Yohanes Karuniawan
2006573733
0 ditunjukkan oleh matlab dapat dilihat
0 besar dari dicplacement akibat gaya
0.0044 gaya arah horizontal (Un) berada pada
-0.0033 urutan baris 1. Sementara itu,
-0.0079 displacement akibat arah gaya vertical
0.0139 (Vn) berada pada baris 2, dan
-0.0104 displacement akibat gaya momen
-0.0100 berada apda baris 3. Dan untuk
0.0226 seterusnay memiliki pola yang sama
-0.0169 dengan urutan sebelumnya.
-0.0064
0.0248 Maka dari itu urutan dari
-0.0186 displacement ini dapat dikatakan
0.0029 berselang seling antara Un, Vn dan
0.0248 Ɵn. Maka dapat diilustrasikan sebagai
-0.0115 berikut
0.0106
0.0248 U1
0.0012 V1
0.0143 Ɵ1
0.0248 U2
0.0156 V2
0.0138 Ɵ2
0.0248 U3
0.0276 V3
0.0094 Ɵ3
0.0248 U4
0.0330 V4
0.0008 Ɵ4
0.0213 Dst…
0.0283
-0.0091
0.0127
0.0169
-0.0126
0.0040
0.0053
-0.0096
0
0
0
Tabulasi Perhitungan Reaksi Perletakan pada Balok
Hasil matlab Interpretasi
Reaction Matriks hasil perhitunga reaksi
perletakan dilambangkan dengan
ans = reaction yang mana pembacaan nya,
Dimana pada baris pertama dan kedua
1.0000 -4.5830 dan ketiga menunjukkan secara
2.0000 -2.4396 berturut-turut RP horizontal, vertikal,
3.0000 5.1607 dan momen pada nodal pertama. Dan

26
Yohanes Karuniawan
2006573733
40.0000 -7.4170 ketiga baris terakhir menunjukkan
41.0000 2.4396 reaksi perletakan horizontal, vertikal,
42.0000 6.1468 dan momen pada nodal terakhir

Tabulasi Perhitungan Gaya Dalam pada Balok


Hasil matlab Interpretasi
Internal Forces (Element T1 M1 T2 M2) Nilai pada hasil perhitungan gaya
dalam yang ada pada gambar
ans = disamping adalah nilai yang
kemudian diplot pada diagram. Jika
1.0000 4.7015 -2.2027 5.1607 4.7015 -2.2027 2.4074
2.0000 4.7015 -2.2027 2.4074 4.7015 -2.2027 -0.3459
jarak antar nodal lebih kecil algi maka
3.0000 4.7015 -2.2027 -0.3459 4.7015 -2.2027 -3.0992 tabulasi nilai internal forces akan
4.0000 4.7015 -2.2027 -3.0992 4.7015 -2.2027 -5.8525 semakin banyak pula.
5.0000 -7.4170 2.4396 -5.8525 -7.4170 2.4396 -3.4129
6.0000 -7.4170 2.4396 -3.4129 -7.4170 2.4396 -0.9733
7.0000 -7.4170 2.4396 -0.9733 -7.4170 2.4396 1.4663 Pembacaan dari hasil disamping
8.0000 -7.4170 2.4396 1.4663 -7.4170 2.4396 3.9060 adalah, pada kolom ke-1
9.0000 -7.4170 2.4396 3.9060 -7.4170 2.4396 6.3456 menunjukkan elemen, kolom ke-2
10.0000 -7.3973 -2.4985 6.3456 -7.3973 -2.4985 3.2225
11.0000 -7.3973 -2.4985 3.2225 -7.3973 -2.4985 0.0994 menunjukkan gadal horizontal, kolom
12.0000 -7.3973 -2.4985 0.0994 -7.3973 -2.4985 -3.0237 ketiga gaya dalam vertikal di nodal
13.0000 -7.3973 -2.4985 -3.0237 -7.3973 -2.4985 -6.1468 awal, kolom ke-4 gaya dalam momen
di nodal awal, kolom ke-5.gaya dalam
horizontal di nodal akhir, pada kolom
ke-6.gaya dalam vertikal di nodal
akhir dan kolom ke-7 gaya dalam
momen nodal akhir.

3. Kasus Struktur Portal Tegak

27
Yohanes Karuniawan
2006573733

No Kode Interpretasi
1 %% Sebagai keterangan awal Matlab dan
%................................ beberapa perintah untuk
%MATLAB code for Finite Element mempersiapkan lembar kerja baru pada
Analysis Matlab dengan cara menghapus data
%Frame 2D Problem yang telah terekam sebelumnya dari
%Yohanes Karuniawan - 2006573733 project Matlab yang sudah dibuat
%% sebelumnya
% clear memory Close all yang berfungsi untuk
close all %close all : menutup semua menutup jendela lainnya
"jendela" gambar Clear all yang berfungsi untuk
clear all %clear all : menghapus data pada menghapus data yang telah terekam
workspace sebelumnya
clc %clc : membersihkan layar Clc yang berfungsi untuk menghapus
commandwindow %memunculkan list command yang telah dibuat
commandwindow sebelumnya

2 %% Pada bagian ini akan didefinsikan letak


%INPUT dari setiap nodal yang akan dipakai
%Node : menunjukkan koordinat nodal dalam perhitungan struktur. Pemilihan
%(Nodal, xn, yn) ajrak antar nodal dipilih sejarak 1 meter
Node = [1 0 0; antar nodal. Hal ini bertujuan agar gaya
2 0 1; yang dihasilkan lebih mendekati dari
3 0 2; aslinya. Setelah dilakukan perhitungan
4 0 3; jarak antara nodal didapatkan jumlah
5 0 4; nodal sebanyak 13. Arti arti xn pada
6 1 4; kode disamping adalah untuk
7 2 4; menunjukkan letak arah sumbu x dari
8 3 4; setiap nodal yang berada pada kolom
9 4 4; kedua dari susunan matriks kolom.
10 5 4; Semenatara itu, yn pada kode
11 5 3; disamping adalah untuk menunjukkan
12 5 2; letak arah sumbu y dari setiap nodal
13 5 1]; yang berada pada kolom ketiga dari
susunan matriks kolom
xn=Node(:,2); %xn : data absis dari seluruh
nodal
yn=Node(:,3); %yn : data ordinat dari
seluruh nodal

3 %Material Element Pada bagian ini akan didefinisikan dari


%E : Modulus elastisitas nilai modulus elasitas, momen inersia,
%I : Momen inersia dan luas penampang balok Dimasukan
%A : Luas penampang balok nilai dari EI sebesar 2 × 108, I1 sebesar

28
Yohanes Karuniawan
2006573733
E1=2e8; I1=3e-6;A1=6e-3; 3 × 10-6, dan A1 sebesar 6 × 10-3. Selain
%(Element, Near, Far, E, I, A) itu juga dilakuakn pendefinisian dari
Element=[1 1 2 E1 I1 A1; setiap elemen para portal berdasarkan
2 2 3 E1 I1 A1; penamaan nodal yang telah dilakukan
3 3 4 E1 I1 A1; sebelumnya. Jika ditotalkan terdapat 12
4 4 5 E1 I1 A1; elemen pada portal sebab terdapat 13
5 5 6 E1 I1 A1; buat nodal. Pada kasus ini nilai dari E,
6 6 7 E1 I1 A1; I, dan A memiliki besar yang sama
7 7 8 E1 I1 A1; disepanjang struktur. Pada mariks yang
8 8 9 E1 I1 A1; dibuat modulus elastis E berada pada
9 9 10 E1 I1 A1; kolom 4, I berada pada kolom 5, dan
10 10 11 E1 I1 A1; luas permukaan berada pada kolom 6.
11 11 12 E1 I1 A1;
12 12 13 E1 I1 A1];
E=Element(:,4);
I=Element(:,5);
A=Element(:,6);

4 %Rest :Boundary condition or Restraint Pada bagian ini akan ditetukan kondisi
%Rest, Rx, Ry, Mz) batas dari reaksi perletakan yang ada.
Rest=[1 1 1 1; Terdapat reaksi perletakan berupa jepit
13 1 1 1]; pada nodal 1 dan 13. Oleh karena
perletakan yang ada berupa jepit maka
nodal 1 dan 13 terkekkang pada arah
RX, RY, dan MZ sehingga diberikan
angka 1 1 1.
5 %Nbne : Beban nodal ekuivalen lokal Pada bagian ini akan dimasukan nilai
%(Nbne1, Nbne2, fx1, fy1, m1, fx2, fy2, beban nodal ekuivalen pada portal.
m2) Pada kasus ini terdapat gaya terbagi
Nbne=[5 6 0 -3/2 -3/12 0 -3/2 3/12; merata pada elemen 5 hingga 9.
6 7 0 -3/2 -3/12 0 -3/2 3/12; Matriks ini dibagai untuk menhitung
7 8 0 -3/2 -3/12 0 -3/2 3/12; reaksi perletakan dan displacement
8 9 0 -3/2 -3/12 0 -3/2 3/12; yang akan dihitung pada bagian proses.
9 10 0 -3/2 -3/12 0 -3/2 3/12];

6 %Ngie : Gaya internal ekuivalen lokal Pada bagian ini akan dibuat matriks
%(elemen,N1, T1, M1, N2, T2, M2) gaya intenal ekuivalen (GIE) yang
Ngie=[5 0 -3/2 3/12 0 3/2 3/12 mana juga didasarkan pada beban
6 0 -3/2 3/12 0 3/2 3/12 merata pada portal. Pada portal ini
7 0 -3/2 3/12 0 3/2 3/12 terdapat gaya terbagi merata pada
8 0 -3/2 3/12 0 3/2 3/12 elemen 5, 6, 7, 8, dan 9. Perhitungan
9 0 -3/2 3/12 0 3/2 3/12]; untuk N1 tidak dihitung dan dianggap 0

29
Yohanes Karuniawan
2006573733
%fpoint : Gaya pada nodal sebab dikondisikan tidak ada gaya
%(Nodal fx fy mz) aksial yang bekerja pada portal.
fpoint=[4 12 0 0];
Kemudian juga dimasukkan nilai dari
gaya titik atau point load. Pada kasus
terdapat gaya sebesar 12 kn bergerak
kearah kanan portal pada nodal 4. Oleh
karena pada nodal 4 hanya ada gaya
arah x saja sehinnga fy dan mx
diberikan angka nol.
7 %% nE = size(Element, 1); berfungsi untuk
%PROCESS menghitung jumlah elemen pada kolom
%Data inisial pertama dari penamaan variabel
nE=size(Element,1);%nE :jumlah element; Element. Hasil perhitungan ini
nN=size(Node,1);%nN :jumlah nodal; dilambangkan dengan nE.
nF=size(Nbne,1);%nF :jumlah gaya
element; nN = size(Node, 1); berfungsi untuk
nI=size(Ngie,1);%nI :jumlah gaya internal menghitung jumlah nodal pada kolom
ekuivalen pertama dari penamaan variable Node.
un=3;%un :jumlah derajat kebebasan per Hasil perhitungan ini dilambangkan
nodal dengan nN.
GDof=un*nN;%Gdof :jumlah derajat
kebebasan global nF = size(fpoint, 1); berfungsi untuk
U=zeros(GDof,1); menghitung jumlah gaya pada kolom
%Displacement Global pertama daripenamaan variabel Node.
(matriks kosong) Hasil perhitungan ini dilambangkan
fbne=zeros(GDof,1); %Beban nodal dengan nF.
ekuivalen global
(matriks kosong) un = 2; berfungsi untuk mendefinisikan
forces=zeros(GDof,1); % Beban nodal jumlah derajat kebebasan per nodal
global (matriks kosong) yang berjumlah 2 untuk arah sumbu x
dan arah sumbu y.

GDof = un*nN; berfungsi untuk


menghitung jumlah derajat kebebasan
keseluruhan dengan mengalikan jumlah
derajat kebebasan per nodal dengan
jumlah nodal keseluruhan

fbne = zeros(GDof,1); berfungsi untuk


mendefinisikan beban nodal ekuivalen
global dengan cara membuat matriks
kosong dengan jumlah baris yang sama
dengan jumlah derajat kebebasan
keseluruhan dan memiliki jumlah
kolom sebanyak 1

forces = zeros(GDof,1); berfungsi


untuk mendefinisikan beban nodal
global dengan cara membuat matriks

30
Yohanes Karuniawan
2006573733
kosong dengan jumlah barisnya sama
dengan jumlah derajat kebebasan
keseluruhan dan memiliki jumlah
kolom sebanyak 1
8 %Force applied Pada tahap ini dilakukan
for f=1:nF; pengaplikasian dari gaya yang akan
awb=Nbne(f,1);%awb : nodal awal digunakan dalam perhitungan
untuk beban nodal ekuivalen berdasarkan input yang telah dilakukan
akb=Nbne(f,2);%akb : nodal akhir untuk sebelumnya
beban nodal ekuivalen
%bne : kumpulan derajat kebebasan awb = Nbne(f,1); yang berarti
pada elemen yang diiterasi mendefinisikan nodal awal dari beban
bne= [un*awb-((un-1):-1:0),un*akb- nodal ekuivalen yang diambil dari baris
((un-1):-1:0)]; ke-f (f disesuaikan dengan loop ke-
%elbne : beban nodal ekuivalen pada berapa) dan kolom pertama dari
elemen yang diiterasi matriks Nbne
elbne=[Nbne(f,3),Nbne(f,4),Nbne(f,5),
Nbne(f,6),Nbne(f,7),Nbne(f,8)]'; akb = Nbne(f,2); untuk mendefinisikan
%penyusunan beban padal kondisi nodal akhir dari beban nodal ekuivalen
global yang diambil dari baris ke-f (nilai f
fbne(bne)=fbne(bne)+elbne; disesuaikan dengan loop ke-berapa)
end dan kolom ke-2 dari matriks Nbne

bne =[un*awb-((un-1):- 1:0),un*akb-


((un-1):1:0)]; untuk mendefinisikan
kumpulan derajat kebebasan pada
elemen yang diiterasi

elbne=[Nbne(f,3),Nbne(f,4),Nb
ne(f,5),Nbne(f, 6)]'; untuk
mendefinisikan beban nodal ekuivalen
pada elemen yang dilakuakn iterasi

fbne(bne)=fbne(bne)+elbne; untuk
mendefinisikan susunan beban pada
kondisi global
end ;untuk mengakhiri perintah

9 for fp=1:size(fpoint,1); command forfp=1:size(fpoint,1);


Ifx=un*fpoint(fp,1)-2;%d.k gaya arah x
berarti nilai fp yang dimulai dari 1 naik
Ify=un*fpoint(fp,1)-1;%d.k gaya arah y
Ifmz=un*fpoint(fp,1);%d.k gaya arah sebesar interval jumlah dari matriks
rotasi
fpoint pada kolom pertama. Maka akan
forces(Ifx)=fpoint(fp,2);%gaya arah x berlaku pengulangan berikut:
forces(Ify)=fpoint(fp,3);%gaya arah y
Ifx=2*fpoint(fp,1)-1; kode tersebut
forces(Ifmz)=fpoint(fp,4);%gaya arah
rotasi dipakai untuk menghitung gaya arah x

31
Yohanes Karuniawan
2006573733
end Ify=2*fpoint(fp,1); kode tersebut
dipakai untuk menghitung gaya arah y
forces(Ifx)=fpoint(fp,2); kode tersebut
dipakai untuk mendefinisikan gaya arah
y yang terletak pada baris ke-fp (fp
disesuaikan dengan loop ke-berapa)
dan kolom ke-2 dari matriks fpoint
forces(Ify)=fpoint(fp,3); kode tersebut
dipakai untuk mendefinisikan gaya arah
rotasi yang terletak pada baris ke-fp
dan kolom ke-3 dari matriks fpoint
end; untuk mengakhiri perintah.
F=forces+fbne; Untuk menghitung
jumlah gaya
10 F=forces+fbne;%penjumlahan gaya Pada tahap ini dilakuakn pembuatan
%Stiffness dari matrisk kekakuan balok dan juga
KG=zeros(GDof);%Kekakuan global kondisi batas yang sudah ditentukan
struktur (matriks kosong) pada proses input
for i=1:nE
aw=Element(i,2);%aw : nodal awal KG=zeros(GDof); Membuat matriks
elemen kosong untuk matriks kekakuan global
ak=Element(i,3);%ak : nodal akhir struktur dimana jumlah kolom dan
elemen baris matriks sesuai dengan jumlah
%Derajat kebebasan pada nodal - nodal derajat kebebasan seluruhnya (GDof)
awal dan akhir yang telah dibuat di nomor 9 for
dof = [un*aw-((un-1):-1:0),un*ak-((un- i=1:nE; digunakan untuk
1):-1:0)]; mendefinisikan i dimulai dari angka 1
Lx=xn(ak)-xn(aw);%panjang arah x lalu naik sebesar interval nE
Ly=yn(ak)-yn(aw);%panjang arah y
L=(Lx^2+Ly^2)^.5;%panjang elemen aw=Element(i,2);%aw : nodal awal
c=Lx/L;s=Ly/L;%c=cos, s=sin elemen untuk membuat nodal awal
elemen yang diambil dari baris ke-i dan
kolom ke-2 dari matriks elemen

ak=Element(i,3);%ak : nodal akhir


“Element” untuk membuat nodal akhir
elemen yang diambil dari baris ke-i dan
kolom kolom ke-3 dari matriks
“Element”

Lx=xn(ak)-xn(aw);%panjang arah x
Digunakan untuk menghitung jarak
antar nodal, nodal yang diambil sesuai
nilai pada matriks “xn” diambil pada

32
Yohanes Karuniawan
2006573733
fungsi “ak” dan “aw” yang telah dibuat

Ly=yn(ak)-yn(aw);%panjang arah y
Digunakan untuk menghitung jarak
antar nodal, nodal yang diambil sesuai
nilai pada matriks “yn” diambil pada
fungsi “ak” dan “aw” yang telah dibuat
11 ka=E(i)*A(i)/L; Kode tersebut digunakan untuk
kb=12*E(i)*I(i)/L^3; menghitung dari perkalian antara
kc=6*E(i)*I(i)/L^2; matriks kekauan dan juga nilai kekauan
kd1=4*E(i)*I(i)/L;kd2=0.5*kd1; dari balok EI kemudian dibagi dengan
L.

12 K=[ka 0 0 -ka 0 0; Matriks K dan T dipakai untuk format


0 kb kc 0 -kb kc; matirks kekakuan elemen dan matriks
0 kc kd1 0 -kc kd2; transformasi. Nilai tersebut didapatkan
-ka 0 0 ka 0 0; melalui hasil perhitungan rumus.
0 -kb -kc 0 kb -kc;
0 kc kd2 0 -kc kd1];
%K : Kekakuan elemen
%T : matriks transformasi
T = [c s 0 0 0 0;
-s c 0 0 0 0;
0 0 1 0 0 0;
0 0 0 c s 0;
0 0 0 -s c 0;
0 0 0 0 0 1];

13 KEG=T'*K*T; %KEG=kekakuan elemen Kel=(E(i)*I(i)/(Lx^3))*K; %Kel =


sumbu global Kekakuan elemen
KG(dof,dof)=KG(dof,dof)+KEG; Kode tersebut dipakai untuk
%KG=Kekakuan global menghitung nilai matriks kekakuan
end lokal sesuai dengan rumus yang
berlaku.

KG(dof,dof)=KG(dof,dof)+Kel;
%KG=Kekakuan global
Kode tersebut dipakai untuk
menghitung nilai matriks kekakuan
global sesuai dengan rumus yang
berlaku.

14 %Boundary Condition nDS = (un*Rest(:,1)*ones(un,1)'


nDS = (un*Rest(:,1)*ones(un,1)'-
(ones(size(Rest,1),1)*((un-1):-1:0)))';
(ones(size(Rest,1),1)*((un-1):-1:0)))';
RSP = [Rest(:,2),Rest(:,3),Rest(:,4)]; untuk menghitung derajat kekakuan
iDS = nDS(logical(RSP'));
balok
iDE = setxor(iDS,(1:un*nN));
%nDS : dk yang terdapat di boundary RSP = [Rest(:,2),Rest(:,3)]; Untuk
condition
mengidentifikasi apakah reaksi

33
Yohanes Karuniawan
2006573733
%RSP : identifikasi terkekang dan tidak perletakan terkekang atau tidak
terkekang
terkekang
%iDS : d.k terkekang
%iDE : d.k tidak terkekang iDS = nDS(logical(RSP')); untuk
mendefinisikan apabila nodal tersebut
terkekang
iDE = setxor(iDS,(1:2*nN)); untuk
mendefinisikan apabila nodal tersebut
tidak terkekang

15 %% Pada tahap ini akan dilakuakn


%Solution perhitungan mengenai dicpalcement
KS = KG(iDE,iDE); %KS : kekakuan yang ada pada setiap nodal pada
struktur yg tereduksi struktur balok:
Fn = F(iDE); % Fn : Gaya luar yg tereduksi
Un=KS\Fn; % Un : displasemen tidak sama KS = KG(iDE,iDE); Untuk menghitung
dengan nol matriks kekakuan struktur yang telah
%displacement tereduksi akibat kondisi batas
U(iDE)=Un;
disp('Displacement') Fn = F(iDE); Untuk menghitung gaya
[U] luar yang telah tereduksi

Un=KS\Fn; Untuk mendefinisikan


displacement

U(iDE)=Un; disp('Displacement') [U]


Untuk menghitung displacement yang
terjadi dan menampilkan hasilnya
16 %reaction Pada tahap ini dilakukan perhitungan
R=KG*U; terhadap rekasi perletakan dengan
Reaction=R(iDS)-fbne(iDS); mengkalikan kekakuan global dengan
disp('Reaction') displacement.
[iDS Reaction]
R=KG*U; Reaction=R(iDS)-
fbne(iDS); disp('Reaction') [iDS
Reaction] Untuk menghitung reaksi
perletakan dan kemudian menampilkan
hasil reaksinya
17 %Internal Forces Pada tahap ini dilakukan perhitungan
fgie=zeros(nE,un*2); %gaya internal terhadap gaya dalam.
ekuivalen tiap-tiap elemen
%penyusunan gaya internal ekuivalen fgie=zeros(nE,un*2); untuk
for n=1:nI mendefinisikan gaya internal ekuivalen
tiap elemen
fgie(Ngie(n,1),1)=Ngie(n,2);
fgie(Ngie(n,1),2)=Ngie(n,3); kemudian juga dilakuakn penyusunan
fgie(Ngie(n,1),3)=Ngie(n,4); terhadap gaya internal ekuivalen
fgie(Ngie(n,1),4)=Ngie(n,5); berdasarkan input data gaya beban
fgie(Ngie(n,1),5)=Ngie(n,6); merata

34
Yohanes Karuniawan
2006573733
fgie(Ngie(n,1),6)=Ngie(n,7);

end

18 disp('Internal Forces (Element N1 T1 M1


N2 T2 M2)') disp('Internal Forces (Element T1 M1
jj=1:size(Element,1);format T2 M2)') jj=1:size(Element,1); [jj' GIE]
[jj' GIE] Digunakan untuk menampilkan
susunan dari perhitungan gaya dalam
%Plot grafik struktur yan gsudah dihitung sebelumnya.
clf
% figure Selanjutnya dilakukan ploting
U(iDE)=Un; terhadapa kurva defleksi pada portal.
sk=0.5/max(abs(U));
for e=1:nE

aw=Element(e,2);
ak=Element(e,3);
x1=[xn(aw),xn(ak)];
y1=[yn(aw),yn(ak)];
plot(x1, y1,'b')
hold on;
end

19 for e=1:nE Pada tahap ini dilakukan definisi


aw=Element(e,2); terhadap elemen dan juga dilakukan
ak=Element(e,3); perhitungan terhadap besar x2 dengan
awx=3*aw-2;awy=3*aw-1; arah x sesuai dengan xn pada aw, awx,
akx=3*ak-2;aky=3*ak-1; akx. Kemudian juga dilakuak
perhitungan terhadap besar y2 dengan
x2=[xn(aw)+sk*U(awx),xn(ak) arah y sesuai dengan yn pada aw, awy,
+sk*U(akx)]; aky.
y2=[yn(aw)+sk*U(awy),yn(ak)
+sk*U(aky)];
plot(x2, y2,'-.r')
hold on;
end

20 for n=1:nN axis equal; axis tight; axis off;


text (xn(n), yn(n), int2str(n), xlabel(‘sb x’)
'BackgroundColor', [1 1 1]) ylabel(‘sb y’)
end zlabel(‘sb z’)
hold off;
title ('Frame 2 Dimension - Yohanes pause(1e-10);
Karuniawan') Kode tersebut dipakai untuk
axis equal; axis tight; axis off; memberikan detail legenda pada grafik
xlabel('sb x') untuk menandakan sumbu sumbu pada
ylabel('sb y') grafik.
zlabel('sb z')
hold off;

35
Yohanes Karuniawan
2006573733
pause(1e-10);

20 %% Pada bagian ini dilakukan plotting


%Gambar Diagram Gaya Dalam Momen terhadapa gaya dalam Moemen, Geser,
figure(2) dan Aksial pada portal.
for e=1:nE
aw=Element(e,2); Lx=xn(ak)-xn(aw);%panjang arah x
ak=Element(e,3); Digunakan untuk menghitung jarak
x1=[xn(aw),xn(ak)]; antar nodal, nodal yang diambil sesuai
y1=[yn(aw),yn(ak)]; nilai pada matriks “xn” diambil pada
plot(x1, y1,'b') fungsi “ak” dan “aw” yang telah dibuat
hold on;
end Ly=yn(ak)-yn(aw);%panjang arah y
scale = max(max(abs(GIE))); Digunakan untuk menghitung jarak
for e=1:nE antar nodal, nodal yang diambil sesuai
aw=Element(e,2); nilai pada matriks “yn” diambil pada
ak=Element(e,3); fungsi “ak” dan “aw” yang telah dibuat
Lx=xn(ak)-xn(aw);
Ly=yn(ak)-yn(aw);
L=(Lx^2+Ly^2)^.5;

c=Lx/L;s=Ly/L;
xin = [xn(aw) xn(ak)
(xn(ak)-GIE(e,6)*s/scale) (xn(aw)-
GIE(e,3)*s/scale)];
yin = [yn(aw) yn(ak)
(yn(ak)+GIE(e,6)*c/scale) (yn(aw)
+GIE(e,3)*c/scale)];
patch(xin,yin,'blue')
end
axis equal
for n=1:nN
text (xn(n), yn(n), int2str(n),
'BackgroundColor', [1 1 1])
end
title ('Kurva Gaya Dalam Momen- Yohanes
Karuniawan')
zlabel('sb z')
hold off;
pause(1e-10);
%%
%Gambar Diagram Gaya Dalam Geser
figure(3)
for e=1:nE
aw=Element(e,2);
ak=Element(e,3);
x1=[xn(aw),xn(ak)];
y1=[yn(aw),yn(ak)];
plot(x1, y1,'b')
hold on;

36
Yohanes Karuniawan
2006573733
end
scale = max(max(abs(GIE)));
for e=1:nE
aw=Element(e,2);
ak=Element(e,3);
Lx=xn(ak)-xn(aw);
Ly=yn(ak)-yn(aw);
L=(Lx^2+Ly^2)^.5;

c=Lx/L;s=Ly/L;
xin = [xn(aw) xn(ak)
(xn(ak)-GIE(e,5)*s/scale) (xn(aw)-
GIE(e,2)*s/scale)];
yin = [yn(aw) yn(ak)
(yn(ak)+GIE(e,5)*c/scale) (yn(aw)
+GIE(e,2)*c/scale)];
patch(xin,yin,'blue')
end
axis equal
for n=1:nN
text (xn(n), yn(n), int2str(n),
'BackgroundColor', [1 1 1])
end
title ('Kurva Gaya Dalam Geser- Yohanes
Karuniawan')
zlabel('sb z')
hold off;
pause(1e-10);
%%
%Gambar Diagram Gaya Dalam Aksial
figure(4)
for e=1:nE
aw=Element(e,2);
ak=Element(e,3);
x1=[xn(aw),xn(ak)];
y1=[yn(aw),yn(ak)];
plot(x1, y1,'b')
hold on;
end
scale = max(max(abs(GIE)));
for e=1:nE
aw=Element(e,2);
ak=Element(e,3);
Lx=xn(ak)-xn(aw);
Ly=yn(ak)-yn(aw);
L=(Lx^2+Ly^2)^.5;

c=Lx/L;s=Ly/L;
xin = [xn(aw) xn(ak)
(xn(ak)-GIE(e,4)*s/scale) (xn(aw)-

37
Yohanes Karuniawan
2006573733
GIE(e,1)*s/scale)];
yin = [yn(aw) yn(ak)
(yn(ak)+GIE(e,4)*c/scale) (yn(aw)
+GIE(e,1)*c/scale)];
patch(xin,yin,'blue')
end
axis equal
for n=1:nN
text (xn(n), yn(n), int2str(n),
'BackgroundColor', [1 1 1])
end
title ('Kurva Gaya Dalam Aksial- Yohanes
Karuniawan')
zlabel('sb z')
hold off;
pause(1e-10);

Gambar kurva Defeleksi Struktur Portal

Diagram Gaya Dalam Geser Struktur Portal

38
Yohanes Karuniawan
2006573733

Diagram Gaya Dalam Aksial Struktur Portal

Diagram Gaya Dalam Momen Struktur Portal

Tabulasi Hasil Perhitungan Matlab


Tabulasi perhitungan Displacement pada portal miring
Hasil matlab Interpretasi
Displacement Pada hasil yang ditunjukkan nampak
bahwa besar dari displacement matriks
U= dilambangkan dengan matriks U yang
mana sudah didefinisikan apda bagian
0 proses. Pada hasil yang ditunjukkan oleh

39
Yohanes Karuniawan
2006573733
0 matlab dapat dilihat besar dari
0 dicplacement akibat gaya gaya arah
0.0058 horizontal (Un) berada pada urutan baris
-0.0000 1. Sementara itu, displacement akibat arah
-0.0104 gaya vertical (Vn) berada pada baris 2,
0.0182 dan displacement akibat gaya momen
-0.0000 berada apda baris 3. Dan untuk seterusnay
-0.0131 memiliki pola yang sama dengan urutan
0.0296 sebelumnya.
-0.0000
-0.0083 Maka dari itu urutan dari displacement ini
0.0356 dapat dikatakan berselang seling antara
-0.0000 Un, Vn dan Ɵn. Maka dapat diilustrasikan
-0.0058 sebagai berikut
0.0356
-0.0062 U1
-0.0054 V1
0.0356 Ɵ1
-0.0092 U2
-0.0002 V2
0.0356 Ɵ2
-0.0066 U3
0.0050 V3
0.0356 Ɵ3
-0.0010 U4
0.0050 V4
0.0356 Ɵ4
-0.0000 Dst…
-0.0051
0.0241
-0.0000
-0.0158
0.0081
-0.0000
-0.0141
0
0
0
Tabulasi Perhitungan Reaksi Perletakan pada Balok
Hasil matlab Interpretasi
Reaction Matriks hasil perhitunga reaksi perletakan
dilambangkan dengan reaction yang mana
ans = pembacaan nya, Dimana pada baris
pertama dan kedua dan ketiga
1.0000 -4.5724 menunjukkan secara berturut-turut RP
2.0000 5.9228 horizontal, vertikal, dan momen pada
3.0000 8.5164 nodal pertama. Dan ketiga baris terakhir
37.0000 -7.4276 menunjukkan reaksi perletakan horizontal,
38.0000 9.0772 vertikal, dan momen pada nodal terakhir
39.0000 12.1700

40
Yohanes Karuniawan
2006573733

Tabulasi Perhitungan Gaya Dalam pada Balok


Hasil matlab Interpretasi
Internal Forces (Element N1 T1 M1 N2 T2 M2) Nilai pada hasil perhitungan gaya dalam
ans =
yang ada pada gambar disamping adalah
nilai yang kemudian diplot pada diagram.
1.0000 -5.9228 -4.5724 8.5164 -5.9228 -4.5724 3.9440 Jika jarak antar nodal lebih kecil algi maka
2.0000 -5.9228 -4.5724 3.9440 -5.9228 -4.5724 -0.6284
3.0000 -5.9228 -4.5724 -0.6284 -5.9228 -4.5724 -5.2008 tabulasi nilai internal forces akan semakin
4.0000 -5.9228 7.4276 -5.2008 -5.9228 7.4276 2.2269 banyak pula.
5.0000 -7.4276 -5.9228 2.2269 -7.4276 -2.9228 -2.1960
6.0000 -7.4276 -2.9228 -2.1960 -7.4276 0.0772 -3.6188
7.0000 -7.4276 0.0772 -3.6188 -7.4276 3.0772 -2.0416 Pembacaan dari hasil disamping adalah,
8.0000 -7.4276 3.0772 -2.0416 -7.4276 6.0772 2.5356
9.0000 -7.4276 6.0772 2.5356 -7.4276 9.0772 10.1128
pada kolom ke-1 menunjukkan elemen,
10.0000 -9.0772 -7.4276 10.1128 -9.0772 -7.4276 2.6852 kolom ke-2 menunjukkan gadal
11.0000 -9.0772 -7.4276 2.6852 -9.0772 -7.4276 -4.7424
12.0000 -9.0772 -7.4276 -4.7424 -9.0772 -7.4276 -12.1700
horizontal, kolom ketiga gaya dalam
vertikal di nodal awal, kolom ke-4 gaya
dalam momen di nodal awal, kolom ke-5
adalah gaya dalam horizontal di nodal
akhir, pada kolom ke-6.gaya dalam
vertikal di nodal akhir dan kolom ke-7
gaya dalam momen nodal akhir.

41

Anda mungkin juga menyukai