You are on page 1of 24

LAPORAN TUGAS BESAR

SI-3211 ANALISIS STRUKTUR II


SEMESTER II TAHUN 2020/2021

Diajukan untuk memenuhi syarat kelulusan Mata Kuliah SI-3211 Analisis Struktur II

Dosen:
Erwin Lim S.T., M.S., Ph.D.
Asisten:
Vincentius yoshua Christianto – 15017102
Hafidz Rizky Firmansyah – 15017113

Disusun Oleh:
Raihan Anugrah
15018080

PROGRAM STUDI TEKNIK SIPIL


FAKULTAS TEKNIK SIPIL DAN LINGKUNGAN
INSTITUT TEKNOLOGI BANDUNG
BANDUNG
2021
Berikut adalah source code yang digunakan dalam menyusun program solver kasus Truss :

file = 'test.txt';
input = csvread(file);
jjoint = input(1,1); %jumlah joint%
joint = zeros(jjoint,2);
temp = 1; %variable dummy%
for i = 1:jjoint;
joint(i,1)=input(1+temp,1);
joint(i,2)=input(1+temp,2);
temp = temp + 1;
end
temp = temp + 1;
jsendi = input(temp,1);
sendi = zeros(jsendi,3);%matriks sendi%

for i = 1:jsendi; %ngisi matriks sendi%


sendi(i,1)=input(1+temp,1);
sendi(i,2)=input(1+temp,2);
sendi(i,3)=input(1+temp,3);
temp = temp + 1;
end
temp = temp + 1;
jmaterial = input(temp,1);
material = zeros(jmaterial,1);%matriks material%

for i = 1:jmaterial; %ngisi matriks material%


material(i,1)=input(1+temp,1);
temp = temp + 1;
end

temp = temp + 1;
jsection = input(temp,1);
section = zeros(jsection,1);%matriks section%

for i = 1:jsection; %ngisi matriks section %


section(i,1)=input(1+temp,1);
temp = temp + 1;
end
temp = temp + 1;
jmember = input(temp,1);
member = zeros(jmember,4);%matriks member%

for i = 1:jmember; % ngisi matriks member%


member(i,1)=input(1+temp,1);
member(i,2)=input(1+temp,2);
member(i,3)=input(1+temp,3);
member(i,4)=input(1+temp,4);
temp = temp + 1;
end
temp = temp + 1;
jload = input(temp,1);
load = zeros(jload,3);%matriks load%
for i = 1:jload; %ngisi matriks load%
load(i,1)=input(1+temp,1);
load(i,2)=input(1+temp,2);
load(i,3)=input(1+temp,3);
load(i,4)=input(1+temp,4);
temp = temp + 1;
end
%-----hitung NDOF-----%
jrestrain = 0; %jumlah sendi restraint%

for i = 1:jsendi;
if sendi(i,2) == 1;
jrestrain=jrestrain+1;
else
jrestrain=jrestrain;

end
if sendi(i,3) == 1;
jrestrain=jrestrain+1;
else
jrestrain=jrestrain;
end
end
NDOF=(jjoint*2)-jrestrain;
%-----buat structure numering----%
sn = zeros(jjoint*2,1);
k = NDOF; %patokan nilai untuk reaction force%
h = 0; %patokan nilai untuk dof%
for i = 1:jjoint;
test = 0;
for j = 1:jsendi;
if sendi(j,1) == i;
test = test + 1;
if sendi(j,2) == 1;
k = k+1;
sn(((i-1)*2)+1)=k;
else
h= h+1
sn(((i-1)*2)+1)=h
end

if sendi(j,3) == 1;
k=k+1;
sn(((i-1)*2)+2)= k;
else
h= h+1
sn(((i-1)*2)+2)=h
end
end
end
if test == 0;
h =h+1;
sn(((i-1)*2)+1) = h;
h =h+1;
sn(((i-1)*2)+2) = h;
end
end

%------bikin matriks kekuan struktur------%


s = zeros(NDOF,NDOF);
for i = 1:jmember;
jb = member(i,1);
je = member (i,2);
E = material(member(i,3),1);
A = section(member(i,3),1);
xb = joint(jb,1);
yb = joint(jb,2);
xe = joint(je,1);
ye = joint(je,2);
panjang = sqrt((xe-xb)^2+(ye-yb)^2);
z = E*A/panjang;
cos =(xe-xb)/panjang;
sin =(ye-yb)/panjang;
Kmember = zeros(4,4); %matriks kekakuan member%
z1 = z*((cos^2));
z2 = z*sin*cos;
z3 = z*((sin^2));
kmember(1,1) = z1;
kmember(1,2) = z2;
kmember(1,3) = -z1;
kmember(1,4) = -z2;
kmember(2,1) = z2;
kmember(2,2) = z3;
kmember(2,3) = -z2;
kmember (2,4)= -z3;
kmember(3,1) = -z1;
kmember(3,2) = -z2;
kmember(3,3) = z1;
kmember(3,4) = z2;
kmember(4,1) = -z2;
kmember(4,2) = -z3;
kmember(4,3) = z2;
kmember(4,4)= z3;

for i=1:4; %nyusun matriks S dari matriks kekakuan struktur%


if i <= 2;
c = (jb-1)*2+i;
else
c = (je-1)*2 + (i-2);
end
n1=sn(c,1);
if n1 <= NDOF;
for j=1:4;
if j <= 2;
d = (jb-1)*2+j;
else
d = (je-1)*2 + (j-2);
end
n2 = sn(d,1);
if n2 <= NDOF;
s(n1,n2)=s(n1,n2)+ kmember(i,j);

end
end
end
end
end
%-------Load vector-----%
p = zeros(NDOF,1);
for i = 1:jload;
a = load(i,1); %joint tempat beban%
b = (a-1)*2 + 1; % struktur numering x%
c = (a-1)*2 + 2 ;% struktur numering y%
n3= sn(b,1);
n4= sn(c,1);
if n3 <= NDOF;
p(n3,1)= p(n3,1) + load(i,2);
end
if n4 <= NDOF;
p(n4,1)= p(n4,1) + load(i,3);
end
end
%--------joint displacement----%
inverse=inv(s);
d= inverse*p;
%---------Dasar penamaan untuk display displacement dan reaction force%
penamaan = strings(jjoint*2,1);
for i = 1:(jjoint*2);
if rem(i,2)== 0; %ngecek genap ato engga kalo genap arah y%
arah = " arah y)";
if sn(i,1) <= NDOF;
penamaan(i,1)= " (joint "+(i/2)+ arah;
else
penamaan(i,1)= " (sendi pada joint " +(i/2)+ arah;
end
else arah= " arah x)";
if sn(i,1) <= NDOF;
penamaan(i,1)= " (joint "+round(i/2)+ arah;
else
penamaan(i,1)= " (sendi pada joint " +round(i/2)+ arah;
end
end
end

msg = "berikut adalah perpindahan pada joint :";


namad=strings(NDOF,1); %penamaan untuk displacement%
q = 0; %dummy%
for i = 1:jjoint*2;
if sn(i,1)<= NDOF;
q= q + 1;
namad(q,1)= penamaan(i,1);
end
end
disp(msg);
disp(d+" mm" +namad);
%--------Cari member force dan support reaction----%
reaction=zeros((jjoint*2)-NDOF,1);
for i = 1:jmember; %Property member%
jb = member(i,1);
je = member (i,2);
E = material(member(i,3),1);
A = section(member(i,3),1);
xb = joint(jb,1);
yb = joint(jb,2);
xe = joint(je,1);
ye = joint(je,2);
panjang = sqrt((xe-xb)^2+(ye-yb)^2);
z = E*A/panjang;
cos =(xe-xb)/panjang;
sin =(ye-yb)/panjang;
Kmember = zeros(4,4); %matriks kekakuan member%
z1 = z*((cos^2));
z2 = z*sin*cos;
z3 = z*((sin^2));
kmember(1,1) = z1;
kmember(1,2) = z2;
kmember(1,3) = -z1;
kmember(1,4) = -z2;
kmember(2,1) = z2;
kmember(2,2) = z3;
kmember(2,3) = -z2;
kmember (2,4)= -z3;
kmember(3,1) = -z1;
kmember(3,2) = -z2;
kmember(3,3) = z1;
kmember(3,4) = z2;
kmember(4,1) = -z2;
kmember(4,2) = -z3;
kmember(4,3) = z2;
kmember(4,4)= z3;

%-----susun vector displacement member global----%


u = zeros(4,1);
a= member(i,1); % joint begin%
n1= sn((a-1)*2+1);
n2= sn((a-1)*2+2);
if n1 <= NDOF;
u(1,1)= d(n1,1);
else u(1,1) = 0;
end
if n2 <= NDOF;
u(2,1)= d(n2,1);
else u(2,1) = 0;
end
b= member (i,2);% joint end%
n3= sn((b-1)*2+1);
n4= sn((b-1)*2+2);
if n3 <= NDOF;
u(3,1)= d(n3,1);
else u(3,1) = 0;
end
if n4 <= NDOF;
u(4,1)= d(n4,1);
else u(4,1) = 0;
end
%------force matriks global dan ngisi matriks reaksi----%
fglob = kmember*u;
if n1 > NDOF;
reaction(n1-NDOF)=reaction(n1-NDOF)+ fglob(1,1);
end
if n2 > NDOF;
reaction(n2-NDOF)=reaction(n2-NDOF)+ fglob(2,1);
end
if n3 > NDOF;
reaction(n3-NDOF)=reaction(n3-NDOF)+ fglob(3,1);
end
if n4 > NDOF;
reaction(n4-NDOF)=reaction(n4-NDOF)+ fglob(4,1);
end
%-------Force matriks lokal----%
transformasi = [cos,sin,0,0;-sin,cos,0,0;0,0,cos,sin;0,0,-sin,cos];
flok = transformasi*fglob; %---force lokal---%
if flok(1,1)> 0; %---penamaan--%
msg1="(tekan)";
elseif flok(1,1) ==0;
msg1="";
else
msg1="(tarik)";
end
msg2 = "local force member " + i + " : " + msg1;
disp(msg2);
disp(flok + " KN");
end
disp("berikut adalah reaction force yang terjadi :");
%penamaan%
namaforce=strings(jrestrain,1); %penamaan untuk force%
q = 0; %dummy%
for i = 1:jjoint*2;
if sn(i,1)> NDOF;
q= q + 1;
namaforce(q,1)= penamaan(i,1);
end
end
disp(reaction +" KN"+ namaforce );
clc % biar ga numpang tindih hasilnya%
Soal 1 :

Hasil dari matlab :

berikut adalah perpindahan pada joint :

"-0.0375 mm (joint 2 arah x)"

"-0.18107 mm (joint 2 arah y)"

"-0.075 mm (joint 3 arah x)"

"-0.43713 mm (joint 3 arah y)"

"0.075 mm (joint 4 arah x)"

"-0.18107 mm (joint 4 arah y)"

local force member 1 : (tekan)

"30 KN"

"0 KN"

"-30 KN"

"0 KN"

local force member 2 : (tekan)


"30 KN"

"0 KN"

"-30 KN"

"0 KN"

local force member 3 : (tarik)

"-42.4264 KN"

"0 KN"

"42.4264 KN"

"0 KN"

local force member 4 :

"0 KN"

"0 KN"

"0 KN"

"0 KN"

local force member 5 : (tekan)

"42.4264 KN"

"0 KN"

"-42.4264 KN"

"0 KN"

local force member 6 : (tarik)

"-60 KN"

"0 KN"

"60 KN"

"0 KN"

berikut adalah reaction force yang terjadi :

"60 KN (sendi pada joint 1 arah x)"


"30 KN (sendi pada joint 1 arah y)"

"-60 KN (sendi pada joint 5 arah x)"

"0 KN (sendi pada joint 5 arah y)"

Hasil Dari program SAP (urutan penomoran sama seperti pada matlab) :

Displacement :

Gaya dalam :
Reaction force :

Hasil dari matlab sama percis dengan hasil pada SAP sehingga Error = 0

Soal NO 2

Konversi satuan ke metric :

500 lb = 2.2241KN

80000 ksi = 551580800.04 Kpa

4 ft = 1219.2 mm

7 ft = 2133,6

8 inch^2 = 0.00516128 mm^2


Hasil dari matlab :

berikut adalah perpindahan pada joint :

"-0.00148 mm (joint 1 arah x)"

"-2.5551e-05 mm (joint 1 arah y)"

local force member 1 : (tekan)

"1.7578 KN"

"-1.1102e-16 KN"

"-1.7578 KN"

"1.1102e-16 KN"

local force member 2 : (tekan)

"0.059662 KN"

"0 KN"

"-0.059662 KN"

"0 KN"

local force member 3 : (tarik)

"-1.6308 KN"

"-1.1102e-16 KN"

"1.6308 KN"

"1.1102e-16 KN"

berikut adalah reaction force yang terjadi :

"1.243 KN (sendi pada joint 2 arah x)"

"1.243 KN (sendi pada joint 2 arah y)"

"0 KN (sendi pada joint 3 arah x)"

"0.059662 KN (sendi pada joint 3 arah y)"

"0.98115 KN (sendi pada joint 4 arah x)"

"-1.3026 KN (sendi pada joint 4 arah y)"

Hasil dari program SAP (urutan penomoran sama seperti pada matlab) :
Joint displacement :

Member forces :

Joint reaction :
Pada soal no 2 ada perbedaan angka saat 4 angka dibelakang koma, hal ini terjadi karna perbedaan
pembulatan saja

Soal NO 3 :

Keterangan member :

member begin joint end joint


1 1 2
2 2 3
3 3 4
4 4 5
5 5 6
6 6 7
7 7 8
8 8 9
9 1 10
10 10 11
11 11 12
12 12 13
13 13 14
14 14 9
15 2 10
16 3 11
17 4 15
18 5 12
19 6 16
20 7 13
21 8 14
22 10 3
23 3 15
24 11 15
25 15 5
26 5 16
27 16 13
28 16 7
29 7 14
Hasil program matlab :

berikut adalah perpindahan pada joint :

"1.08 mm (joint 2 arah x)"

"-12.2943 mm (joint 2 arah y)"

"2.16 mm (joint 3 arah x)"

"-17.3927 mm (joint 3 arah y)"

"3.24 mm (joint 4 arah x)"

"-21.8706 mm (joint 4 arah y)"

"4.32 mm (joint 5 arah x)"

"-22.4357 mm (joint 5 arah y)"

"5.4 mm (joint 6 arah x)"

"-21.8706 mm (joint 6 arah y)"

"6.48 mm (joint 7 arah x)"

"-17.3927 mm (joint 7 arah y)"

"7.56 mm (joint 8 arah x)"

"-12.2943 mm (joint 8 arah y)"

"8.64 mm (joint 9 arah x)"

"5.43467 mm (joint 10 arah x)"

"-12.1893 mm (joint 10 arah y)"

"6.78857 mm (joint 11 arah x)"

"-16.9727 mm (joint 11 arah y)"

"4.32 mm (joint 12 arah x)"

"-22.4357 mm (joint 12 arah y)"

"1.85143 mm (joint 13 arah x)"

"-16.9727 mm (joint 13 arah y)"

"3.20533 mm (joint 14 arah x)"

"-12.1893 mm (joint 14 arah y)"

"4.47148 mm (joint 15 arah x)"

"-21.7656 mm (joint 15 arah y)"

"4.16852 mm (joint 16 arah x)"

"-21.7656 mm (joint 16 arah y)"


local force member 1 : (tarik)

"-720 KN"

"0 KN"

"720 KN"

"0 KN"

local force member 2 : (tarik)

"-720 KN"

"0 KN"

"720 KN"

"0 KN"

local force member 3 : (tarik)

"-720 KN"

"0 KN"

"720 KN"

"0 KN"

local force member 4 : (tarik)

"-720 KN"

"0 KN"

"720 KN"

"0 KN"

local force member 5 : (tarik)

"-720 KN"

"0 KN"

"720 KN"

"0 KN"
local force member 6 : (tarik)

"-720 KN"

"0 KN"

"720 KN"

"0 KN"

local force member 7 : (tarik)

"-720 KN"

"0 KN"

"720 KN"

"0 KN"

local force member 8 : (tarik)

"-720 KN"

"0 KN"

"720 KN"

"0 KN"

local force member 9 : (tekan)

"833.5466 KN"

"-5.684342e-14 KN"

"-833.5466 KN"

"5.684342e-14 KN"

local force member 10 : (tekan)

"714.4685 KN"

"-1.705303e-13 KN"

"-714.4685 KN"

"1.705303e-13 KN"

local force member 11 : (tekan)


"822.8571 KN"

"0 KN"

"-822.8571 KN"

"0 KN"

local force member 12 : (tekan)

"822.8571 KN"

"0 KN"

"-822.8571 KN"

"0 KN"

local force member 13 : (tekan)

"714.4685 KN"

"1.136868e-13 KN"

"-714.4685 KN"

"-1.136868e-13 KN"

local force member 14 : (tekan)

"833.5466 KN"

"3.979039e-13 KN"

"-833.5466 KN"

"-3.979039e-13 KN"

local force member 15 : (tarik)

"-120 KN"

"0 KN"

"120 KN"

"0 KN"

local force member 16 : (tarik)

"-240 KN"
"0 KN"

"240 KN"

"0 KN"

local force member 17 : (tarik)

"-120 KN"

"0 KN"

"120 KN"

"0 KN"

local force member 18 :

"0 KN"

"0 KN"

"0 KN"

"0 KN"

local force member 19 : (tarik)

"-120 KN"

"0 KN"

"120 KN"

"0 KN"

local force member 20 : (tarik)

"-240 KN"

"0 KN"

"240 KN"

"0 KN"

local force member 21 : (tarik)

"-120 KN"

"0 KN"
"120 KN"

"0 KN"

local force member 22 : (tekan)

"119.0781 KN"

"-1.98952e-13 KN"

"-119.0781 KN"

"1.98952e-13 KN"

local force member 23 : (tekan)

"119.0781 KN"

"6.536993e-13 KN"

"-119.0781 KN"

"-6.536993e-13 KN"

local force member 24 : (tarik)

"-238.1562 KN"

"-1.278977e-13 KN"

"238.1562 KN"

"1.278977e-13 KN"

local force member 25 : (tarik)

"-119.0781 KN"

"1.98952e-13 KN"

"119.0781 KN"

"-1.98952e-13 KN"

local force member 26 : (tarik)

"-119.0781 KN"

"2.629008e-13 KN"

"119.0781 KN"
"-2.629008e-13 KN"

local force member 27 : (tarik)

"-238.1562 KN"

"-8.526513e-14 KN"

"238.1562 KN"

"8.526513e-14 KN"

local force member 28 : (tekan)

"119.0781 KN"

"-2.629008e-13 KN"

"-119.0781 KN"

"2.629008e-13 KN"

local force member 29 : (tekan)

"119.0781 KN"

"3.694822e-13 KN"

"-119.0781 KN"

"-3.694822e-13 KN"

berikut adalah reaction force yang terjadi :

"-1.023182e-12 KN (sendi pada joint 1 arah x)"

"420 KN (sendi pada joint 1 arah y)"

"420 KN (sendi pada joint 9 arah y)"

Hasil dari program SAP (urutan penomoran sama seperti pada matlab):

Joint displacement :
Member force :
Reaction force :

Hasil pada matlab sama persis dengan hasil pada SAP sehingg error yang terjadi = 0 %

You might also like