2 BALOK SEDERHANA DENGAN METODE KLASIK 2

Pemrograman Analisa Struktur Dasar dengan MATLAB

2
BALOK SEDERHANA DENGAN
METODE KLASIK
2.1. Statika
Statika adalah salah satu pendekatan dalam analisis struktur klasik yang paling awal
diaplikasikan, pada masa-masa dimana teknologi komputasi masih belum berkembang.
Dengan statika perhitungan struktur dapat dilakukan secara manual sehingga bersifat
praktis. Walaupun bersifat praktis, struktur yang dapat dianalisis dengan pendekatan
statika terbatas tipenya.
Statika bekerja berdasarkan tinjauan keseimbangan gaya dalam suatu sistem global.
Jumlah persamaan-persamaan yang dapat dibentuk dari tinjauan keseimbangan sama
dengan jumlah gaya-gaya reaksi pada tumpuan yang ingin diperoleh besarnya. Umumnya
beban-beban sudah diketahui terlebih dahulu sehingga menjadi masukan (input) dari
program. Keluaran (output) dari program yang pertama adalah gaya-gaya reaksi. Dari
keluaran pertama dapat juga diperoleh diagram gaya-gaya dalam. Dengan
mengaplikasikan ilmu kekuatan bahan (strength of material), tegangan-tegangan yang
bekerja pada struktur juga dapat diperoleh.
Perhitungan dengan pendekatan statika umumnya dilakukan secara manual, tetapi dapat
juga dilakukan dengan bantuan komputer melalui pemrograman. Perhitungan dengan

komputer membantu mempercepat dan memperhalus penggambaran diagram gaya-gaya
dalam. Walaupun demikian perhitungan dengan bantuan komputer dengan pendekatan
statika tidak begitu kompak dibanding dengan pendekatan elemen hingga. Hal ini dapat
dilihat setelah mengaplikasikan program-program yang ada di dalam buku ini.
Permasaahan struktur yang dapata diselesaikan dengan statika (statis tertentu) meliputi
permasalahan yang dapat diselesaikan dengan persamaan keseimbangan yaitu F = 0
dan M = 0. Permasalahan statis tertentu meilputi balok sederhana, balok kantilever dan
balok Gerber serta rangka batang statis tertentu.

20

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

2.2. Balok Sederhana
Masalah yang dapat diselesaikan dengan Statika adalah struktur balok sederhana. Ujungujung balok sederhana bertumpu di dua tumpuan. Sebelum membuat aplikasi program
balok sederhana perlu dianalisis permasalahan dan teknik solusinya.
Permasalahan dan solusinya perlu disusun dengan cara yang sistematis dan elegan untuk
dapat dibuat programnya yang terdiri dari

1. studi masukan (input )
2. tentukan lingkup balok sederhana
3. teknik solusi yang sistematis dan mudah diaplikasikan
4. menyusun keluaran (output)
Langkah pertama dalam menyusun program adalah dengan melakukan studi kecil
mengenai variabel-variabel input yang mungkin pada suatu permasalahan dengan lingkup
tertentu. Pada balok sederhana, lingkupnya dapat dibatasi hanya untuk balok sederhana
menerus lurus dengan perletakan pada ujung-ujungnya (tanpa kantilever) misalnya.
Untuk lingkup yang lebih luas misalnya dengan mengakomodasi kemungkinan adanya
kantilever pada salah satu atau kedua ujung pada masalah balok lurus. Untuk lingkup
yang lebih luas lagi yaitu dengan mengakomodasi kemungkinan bentuk balok yang tidak
menerus lurus berikut gaya-gaya yang mempunyai sudut dengan sumbu x misalnya dan
juga balok Gerber.
Pada pembahasan contoh pemrograman berikut lingkup bahasan meliputi balok
sederhana dengan kemungkinan adanya kantilever pada salah satu atau kedua ujung.
Balok dengan elemen-elemn tegak dan miring atau balok bidang tidak terlingkupi.
2.2.1. Analisis masukan (Input)
Input dari masalah balok sederhana meliputi variable-variabel input yang dapat
diklasifikasikan sebagai
A. Input geometri balok yang berhubungan dengan

 Panjang balok
 Lokasi (titik-titk) perletakan sendi dan rol
 Lokasi (titik-titk) gaya terpusat bekerja
 Lokasi (titik-titik) awal dan akhir gaya terdistribusi merata bekerja.
B. Input besar gaya terpusat atau terdistribusi yang bekerja
Input sebaiknya disusun dalam suatu format yang kompak dan sederhana. Panjang balok
misalnya, dapat diperoleh dari titik-titk perletakan sendi dan rol. Input tidak disusun
berdasarkan urutan koordinat. Input disusun berdasarkan gaya terpusat maupun gaya
terdistribusi yang bekerja yang karena setiap gaya mempunyai koordinatnya masingmasing. Sedangkan koordinat-koordinat yang ada tidak spesifik merujuk pada gaya
tertentu sehingga menjadi lebih rumit penyusunan informasinya. Sistem informasi yang
teridir dari gaya-gaya yang bekerja disusun sebagai berikut

21

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Gaya
xawal

xakhir
Dimana, P/q : gaya yang bekerja, xawal : koordinat awal,
xakhir : koordinat akhir
Untuk gaya terpusat xakhir dibaut nol. Untuk gaya reaksi RA dan RB yang belum diketahui
juga dibuat nol sehingga sistem informasi input dapat di susun dengan kompak seperti
yang ditunjukkan pada Tabel 2-1.
Tabel 2-1. Studi input

Kasus
P1

q1
x2

(b)

q1
x2

x1 = 0


P1

x1 = 0

x2

P2

q2

x3
q1

x2

Gaya

xA (awal)


xB (akhir)

RA
RB
P1
q1

x1
x3
x2
x1

0
0
0
x3

Gaya

xA (awal)


xB (akhir)

RA

x1

0

RB

x4

0

P1

x2

0


P2

x3

0

q1

x1

x4

x3
P1

x1 = 0

Input


x3

q1

x4

P1

P2

x4

P2

x5

x6

RB  q


x3

q2

x2

x3

Gaya

xA (awal)

xB (akhir)

RA

x1

0


RB

x6

0

P1

x3

0

P2

x5

0

q1

x\2

x4

RA

x1

0

RB

x6

0

P1

x1

0

P2

x3

0

P3

x5

0

q1

x\1

x5


 xqiA  xqiB  
q
(
xq

xq
)
xq



i
iB
iA
iA

n
2




Gaya
xA (awal) xB (akhir)
i 1
P ( xs 2  xs1 )
3

x4

x5

22

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Input geometri maupun input magnitud gaya dapat disusun lebih sistematis dengan
menyusunnya dalam suatu tabel. Dari tabel yang ada, sistem informasi input diolah
menjadi 33bentuk matriks dimana untuk gaya-gaya reaksi yang belum diketahui diisikan
dengan angka nol.
Ujung-ujung balok sederhana bertumpu di dua tumpuan tetapi dapat juga bertumpu
sedemikian sehingga sebagian balok dalam poisisi mangganjur (ada kantilever) . Untuk
dapat menyelesaikan semua kasus maka dibuat suatu gambar model yang mencakup
semua kemungkinan masalah balok sederhana. Model umum untuk lingkup bahasan
diatas diambil dari model geometri yang paling kompleks, dalam hal ini balok sederhana
dengan dua kantilever pada ujung-ujungnya.
P1

x2

P2

x3

q2

q1

x4

q3

qk

x5

x1 = 0

Input : Gaya-gaya dan posisinya
P/qxawalx2akhirRAxs10RBxs20P1xp10 :
::
::
:Pjxpj0q1xq1Axq1B:
:
:
::
:qixqiAxqiB

Pj

xn

Matriks Input(a)
:

(a)

Gaya =2-. Satu Gaya Terdistrtibusi
Gambar
(a) dominan bentang utama (b)
dominan bentang kantilever

xq2
xq1
xS1
xS2
x1 = 0
xq2
q1
xq1
xS2
x1 = 0
Gambar 2-2. Model umum input
kasus
xS1
2.2.2. Penyusunan Algoritma program
23

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Untuk mempermudah pemrograman, maka perlu dirumuskan formulasi yang berlaku
umum untuk lingkup kasus balok sederhana dengan asusmisi-asumsi yang telah
dijelaskan di atas.
P1

xP1

xS1

xS1

xS2

x1 = 0

P1

xP1

xS2

x1 = 0

(a)

Gambar 2-3. Satu Gaya Terpusat (a) bentang utama (b) bentang kantilever

Reaksi perletakan akibat satu gaya terpusat dititik manapun bekerja pada suatu balok
sederhana adalah sebagai berikut
MA = 0
P1.(xp1-xs1) - RB.(xs2-xs1) = 0

R B  P1 



( xp1  xs1 )
.P1
( xs 2  xs1 )

.........
(2.1-a)

MB = 0
-P1.(xs2-xp1) + RA.(xs2-xs1) = 0

R A P1 



( xs 2  xp1 )
.P1 .........(2.1-b)
( xs 2  xs1 )

Akibat sejumlah n gaya terpusat, formulasi umumnya dapat dinotasikan sebagai berikut
( xp1 
( xs 2 
( xs 
 2
( xs 2 

RB  P 
R A P

xs1 )
( xp 2 
.P1 
xs1 )
( xs 2 
xp1 )
( xs 2 
.P1 
xs1 )
( xs 2 

( xp n 
xs1 )
P2  .......... .......... 
xs1 )
( xs 2 
xp 2 )
( xs 2 
P2  .......... .......... 
xs1 )
( xs 2 

xs1 )
Pn
xs1 )
xpn)
Pn
xs1 )

Dalam bentuk yang lebih ringkas
n

R A  P 
i 1

xq1

( xs 2  xpi )
.Pi
( xs 2  xs1)
xq2

n
( xpi  xs1 )
R B  P 
.Pi
i 1q( xs 2  xs1 )
1

xS1

xS2

x1 =Structral
0
(a)
Bandung
Engineering
e-School

.........(2.2-a)

i = 1,2,...........n

xq1

xq2
.........(2.2-b)

i = 1,2,...........n

xS1
x1 = 0

xS2
(a)

Gambar 2-4. Satu Gaya Terdistrtibusi (a) dominan bentang utama (b) dominan bentang
kantilever

24

Pemrograman Analisa Struktur Dasar dengan MATLAB

Reaksi perletakan akibat gaya terbagi rata yang bekerja pada satu segmen adalah
MA = 0
( xq1 A  xq1 A ) 

q1 ( xq1B  xq1 A )  xq1 A 
  RB .( xs 2  xs1 ) 0
2


( xq1 A  xq1B ) 

q1 ( xq1B  xq1 A )  xq1 A 

2

.........(2.3-a)


RB  q1 
( xs 2  xs1 )
MB = 0

( xq1 A  xq1B )  

 q1 ( xq1B  xq1 A )  xs 2   xq1 A 
   R A .( xs 2  xs1 ) 0
2




( xq1 A  xq1B )  

q1 ( xq1B  xq1 A )  xs 2   q1 A 

2




R A q1 
( xs 2  xs1 )
b)

.........(2.3-

Dalam bentuk yang lebih ringkas

R A q

RB q


xq  xqiB

qi ( xqiB  xqiA )  xs 2   xqiA  iA
2



( xs 2  xs1 )
i 1
n


 xqiA  xqiB
q
(
xq

xq
)
xq


i
iB
iA
iA

n
2



( xs2  xs1 )
i 1









i = 1,2,...........n

.........(2.4-a)
i
=
25

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

1
,
2
,
.
.
.
.
.
.
.
.
.
.
.
n

.........(2.4-b)
RA dan RB yang diperoleh dari penjumlahan akibat gaya-gaya terpusat dan gaya-gaya
terdistribusi yang bekerja sepanjang balok dapat dirumuskan sebagai

m

R A 
i 1

xq  xqiA 

n ( xs  xp )
qi ( xqiB  xqiA )  xqiA  iA
2
j


2

  ( xs  xs .Pj
j 1
2
1)
( xs 2  xs1 )
i = 1,2,....m & j = 1,2,....n

......................(2.5-a)
m

R B 
i 1

( xqiA  xqiB ) 

n ( xp  xs )
qi ( xqiB  xqiA )  xqiA 
j
1
 
.Pj
2

 
i 1 ( xs 2  xs1 )
( xs 2  xs1 )
i = 1,2,....m & j = 1,2,....n

......................(2.5-b)

2.3. Penyusunan program
Penyusunan program
balok sederhana akan
diuraikan dengan mengambil suatu contoh
kasus yang ditunjukkan Gambar 2-5 dibax1 = 0
wah ini

q2 = 50 kgf/m

x2 = 2 m

x3 = 4 m

P1 = 500 kgf

q1 = 100 kgf/m

x4 = 8 m
26

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Gambar 2-5. Contoh Kasus balok sederhana

2.3.1. Input data geometri dan beban
Input data geometri dan beban dikemas dalam bentuk matriks seperti yang telah
dijelaskan di atas
Input : Gaya-gaya dan posisinya

Matriks Input :

P/qxawalx2akhirRA00RB8050040500210

Gaya =

008

>> Gaya = [ 0 0 0 ; 0 8 0 ; 500 4 0 ; 50 0 2 ; 100 0 8 ] Enter

Gambar 2-6. Eksekusi matriks Gaya dan hasilnya

2.3.2. Mengolah matriks input

27

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Matriks gaya harus dipilah terlebih dahulu untuk membedakan antara informasi yang
berisi dua gaya reaksi dengan gaya-gaya aksi (beban-beban). Dua gaya berikut
koordinatnya pada dua baris teratas memberikan informasi koordinat-koordinat
perletakan xs1 dan xs2. Dalam MATLAB pengambilan data xs1 dan xs2 adalah sebagai
berikut
>> xs1= Gaya (1,2) ; xs2 = Gaya (2,2) ; Enter
>> xs1 Enter
>> xs2 Enter
Operasi dalam MATLAB untuk menghilangkan baris pertama dan kedua dari matriks Gaya dan
menghasilkan matriks G yang hanya berisi informasi tentang gaya-gaya aksi. Sebelum Matriks
Gaya dihapus dua baris pertamanya terlebih dahulu didefinisikan matriks G = Gaya sehingga
setelah dihapus hanya matriks G nya saja atau matriks Gaya tetap tidak berubah. Syntax
penghapusan baris pertama dan kedua dari matriks G adalah
>> G = Gaya ; Enter
>> G (1,:) = [ ] Enter
>> G (1,:) = [ ] Enter

28

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Gambar 2-7. Eksekusi koordinat perletkan dan matriks G

2.3.3. Menghitung Gaya Reaksi
Untuk menghitung gaya rekasi RA akibat gaya P1ambil gaya ke-1 dari matriks informasi
gaya (G) yang telah hilang kandungan gaya-gaya reaksinya dengan terlebih dahulu
mengambil kolom ke-1 yang berisi informasi gaya ke-1 yang bekerja. Kemudian baru
mengambil baris gaya yang pertama, berturut-turut dengan syntax
>> gg1 = G (1,: )

% gg : vektor baris yang identik dengan baris ke-1 dari Matriks G Enter

>> g1 = gg1(1)

% g1 : elemen ke 1 dari vektor baris gg (Besar Gaya ke-1)

Enter

Selanjutnya dalah menetukan koordinat tempat gaya bekerja
>> xg1a = gg1(2)

% g1 : elemen ke 2 dari vektor baris gg 1(posisi gaya awal)

Enter
29

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

>> xg1b = gg1(3)

% g1 : elemen ke 3 dari vektor baris gg 1(posisi gaya akhir)

Enter

Gambar 2-8. Eksekusi masing-masing gaya dan koordinatnya serta hasilnya

Kemudian tentukan komponen RA akibat gaya tersebut di atas. Terdapat dua
kemungkinan formulasi komponen RA yaitu gaya dapat berupa gaya terpusat atau
terdistribusi yang ditentukan oleh unsur-unsur pada kolom ke 3 dari matriks informasi.
conditionalnya adalah sebagai berikut




Jika xg1b = 0
maka komponen RA & RB dihitung sesuai persamaan 2.5-a.
Kalau tidak maka
komponen RA & RB dihitung sesuai persamaan 2.5-b
Selesai

Dalam MATLAB syntaxnya berikut adalah sebagai berikut Hasil eksekusi untuk Gaya
ke-1 ditunjukkan Gambar dibawah
30

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

2-9. Eksekusi
hasilnya
Jika terdapat 3 gaya yang bekerja maka,Gambar
berturut-turut
syntaxreaksi
yangperletakan
diketikkan
pada
jendela perintah selanjutnya adalah

gg2 = G (2,: )
% gg : vektor baris yang identik dengan baris ke-1 dari Matriks G
g2 = gg2(1)
; % g1 : elemen ke 1 dari vektor baris gg (Besar Gaya ke-1)
xg2a = gg2(2) ; % g1 : elemen ke 2 dari vektor baris gg 1(posisi gaya awal)
xg2b = gg2(3) ; % g1 : elemen ke 3 dari vektor baris gg 1(posisi gaya akhir)
if xg2b==0
Ra2=(xg2a-xs1)*g2/(xs2-xs1)
Rb2=(xs2-xg2a)*g2/(xs2-xs1)
else
Ra2=(g2*(xg2b-xg2a)*(xg2a+(xg2a+xg2b)/2))/(xs2-xs1)
Rb2=(g2*(xg2b-xg2a)*(xs2-(xg2a+(xg2a+xg2b)/2)))/(xs2-xs1)
end
Hasil eksekusi untuk gaya ke-2 ditunjukkan pada Gambar dibawah
31

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Gambar 2-10. Eksekusi gaya ke-2 dan posisinya serta hasilnya

Dan untuk gaya ke-3, analog dengan gaya ke-1 dan ke-2
gg3 = G (3,: ) ; % gg : vektor baris yang identik dengan baris ke-1 dari Matriks G
g3 = gg3(1)
; % g1 : elemen ke 1 dari vektor baris gg (Besar Gaya ke-1)
xg3a = gg3(2) ; % g1 : elemen ke 2 dari vektor baris gg 1(posisi gaya awal)
xg3b = gg3(3) ; % g1 : elemen ke 3 dari vektor baris gg 1(posisi gaya akhir)
if xg3b==0
Ra3=(xg3a-xs1)*g3/(xs2-xs1)
Rb3=(xs2-xg3a)*g3/(xs2-xs1)
else
Ra3=(g3*(xg3b-xg3a)*(xg3a+(xg3a+xg3b)/2))/(xs2-xs1)
Rb3=(g3*(xg3b-xg3a)*(xs2-(xg3a+(xg3a+xg3b)/2)))/(xs2-xs1)
end
%
Hasil eksekusi untuk gaya ke-3 ditunjukkan pada Gambar dibawah

32

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Gambar 2-11. Eksekusi gaya ke-3 dan posisinya serta hasilnya

Ketiga proses dengan perintah terpisah tersebut diatas dapat diringkas dengan membuat
loop dengan syntax MATLAB sebagai berikut
nn=size(G); n=nn(1)
for i=1:3
gg = G (i,: ) % gg : vektor baris yang identik dengan baris ke-i dari Matriks G
g = gg(1)
% g : elemen ke 1 dari vektor baris gg (Besar Gaya ke-i)
xga = gg(2)
% xga : elemen ke 2 dari vektor baris gg (posisi gaya awal)
xgb = gg(3)
% xgb : elemen ke 3 dari vektor baris gg (posisi gaya akhir)
if xgb==0
Ra=(xga-xs1)*g/(xs2-xs1)
Rb=(xs2-xga)*g/(xs2-xs1)
else
Ra=(g*(xgb-xga)*(xga+(xga+xgb)/2))/(xs2-xs1)
Rb=(g*(xgb-xga)*(xs2-(xga+(xga+xgb)/2)))/(xs2-xs1)
end
end
33

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Hasil eksekusi loop untuk ketiga gaya ditunjukkan Gambar dibawah ini

Gambar 2-12-a. Eksekusi dan hasil semua gaya dan posisinya denganl loop

34

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

35

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Gambarprogram
2-12.b. Eksekusi
dan hasil
semuaprogram
gaya dandengan
posisinyaloop
denganl
Dibandingkan
tanpa loop
di atas,
jauhloop
lebih singkat,
apalagi bila loop dilakukan puluhan, ratusan bahkan ribuan kali. Hanya saja, teks diatas
akan menyebabkan nilai-nilai yang dicari seperti gg, g, xga, xgb serta R A dan RB hasil
loop ke-1 (i =1) akan pada selalu terhapus oleh nilai gg, g, xga, xgb serta RA dan RB hasil
loop ke-2 dan akan terhapus lagi pada loop selanjutnya.

Untuk kasus loop yang besar misalnya puluhan atau lebih maka tidak mungkin
menjumlahkan dengan cara sederhana di atas yang dilakukan diluar loop. Oleh karena itu
perlu dikembangkan teknik untuk menjumlahkan unsur-unsur R A maupun RB justru
dengan memanfaatkan loop yang ada.
Salah satu sifat dari loop adalah nilai suatu variabel akan selalu terbarui seperti yang
ditunjukkan pada contoh loop di atas dimana nilai RA atau RB selalu terbarui. Berdasarkan
sifat ini maka nilai total RA dapat diperoleh dengan memberikan harga awal RAs = 0
untuk kemudian melengkapi loop dengan syntax Ras= Ras + Ra , sehingga loop menjadi
Ras = 0 ; Rbs = 0 ;
for i = 1: n

gg = Gaya (:,i) ; g = gg (1) ; xga = gg (2) ; xgb =gg (3) ;
If xgb = = 0
Ra = (xga – xs1)*g/(xs2 – xs1) ;
Rb = (xs2 – xga)*g/(xs2 – xs1) ;
Else
Ra = ( g*(xgb- xga)*( xga+( xga +xgb)/2) ) / (xs2-xs1) ;
Ra = ( g*(xgb- xga)*(xs2-( xga+( xga +xgb)/2)) ) / (xs2-xs1) ;
End
Ras= Ras + Ra
Rbs= Rbs + Rb
end
Gambar 2-13. Barisan syntax untuk memprogram gaya-gay reaksi

Pada i=1, Ras(i=1) diperoleh dari penjumlahan Ras awal (initial) yang bernilai 0 dengan
Ra(i=1) sehingga diperoleh
Ras(i = 1) = Ras(awal) + Ra(i=1)
=
0 + Ra(1)
Pada i=2 diperoleh nilai baru Ra(i=2) untuk kemudian dijumlahkan dengan Ras terakhir
Ras(i=1) menghasilkan
Ras(i = 2) = Ras(i=1)
= Ra(1)

+ Ra(i=2)
+ Ra(2)

Begitu selanjutnya sampai Ras(n) sedemikian sehingga
36

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Ras(i = n) = Ra(1)+Ra(2)................................................+Ra(n)
Kelemahan algoritma diatas adalah nilai RA atau RB akibat masing-masing gaya yang
tidak dapat dipanggil kembali setelah loop tereksekusi. Hasil akhir adalah nilai Ras yang
merupakan nilai penjumlahan dan hasil akhir RA pada i=1 atau RA (i = n)
Keterbatasan di atas dapat diatasi dengan menyusun vektor nilai-nilai R A akibat masingmasing gaya dengan terlebih dahulu merubah RA dan RB awal menjadi vektor dengan
panjang yang sama dengan jumlah gaya(n) sehingga RAs = RBs =[ 0 0 ...............0 ]
dimana dimensi vektor nol RAs = RBs adalah 1 x n dan menyisipi teks perhitungan RA
dengan RA (i)
Ras = zeros(1,n) ; Rbs = zeros(1,n) ;
for i = 1: n

gg = Gaya (:,i) ; g = gg (1) ; xga = gg (2) ; xgb =gg (3) ;
if xgb = = 0
Ra(i) = (xga – xs1)*g/(xs2 – xs1) ;
Rb(i) = (xs2 – xga)*g/(xs2 – xs1) ;
else
Ra(i) = ( g*(xgb- xga)*( xga+( xga +xgb)/2) ) / (xs2-xs1) ;
Ra(i) = ( g*(xgb- xga)*(xs2-( xga+( xga +xgb)/2)) ) / (xs2-xs1) ;
end
Ras = Ras + Ra (i)
Rbs = Rbs + Rb(i)
end
Gambar 2-14. Barisan syntax untuk memprogram gaya-gaya reaksi dalam bentuk vektor

2.3.4. Jendela Editor dan M-File
Untuk operasi aljabar atau operasi matematika lainnya yang sederhana dan hanya terdiri
dari beberapa baris dapat disusun sekaligus dieksekusi pada jendela perintah. Untuk
menyusun suatu program yang lebih panjang dan rumit perlu bantuan jendela editor yang
berfungsi sebagai tempat suatu program disusun.
Hasil penyusunan program atau sub program disimpan pada suatu file dalam MATLAB
yang disebut M-File. Jendela editor dibuka melalui tombol file seperti yang ditunjukkan
Gambar 2-15.
Jendela editor dafaultnya terpisah dari jendela-jendela default dari MATLAB. Jendela
editor dapat dibuat tidak terpisah dengan mnegklik tanda disebelah kiri tanda x (close)
dipjok kanan atas jendela. Tampilan jendela-jendela bersifat pilihan sesuai rasa
kenyamanan masing-masing pengguna.

37

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Gambar 2-15. Membuka jendela editor sekaligus M-File kosong (blank)

Dengan adanya jendela editor, penyusunan serta proses edit dapat dilakukan diluar
jendela perintah sehingga memberi kemudahan untuk menyususn progam-program yang
panjang. Setelah jendela dibuka, barisan teks-teks program dapat disusun seperti yang
ditunjukkan Gambar 2-16.
Penyusunan dalam satu M-File dalam jendela editor memungkinkan program dapat diedit
setiap saat tanpa harus mengulang eksekusi program setiap ada perubahan pemrograman.
Untuk memudahkan penelusuran program jika ada masalah ada baiknya program disusun
berdasarkan blok-blok seperti blok judul, blok awalan, blok input, blok pengolahan input,
blok nilai-nilai, vektor-vektor dan matriks-matriks awal, blok subtansi program serta blok
plotting diagram-diagram. Pada setiap barisan-barisan perlu diberi komentar-komentar
yang tentunya tidak dieksekusi. Pada MATLAB komentar tidak dieksekusi dengan
mengawalinya dengan mengetikkan % atau dengan mengklik menandai barisan-barisan
yang akan dikomentari untuk kemudian mengklik tombol edit  comment pada jendela
editor.

38

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Gambar 2-16. Menyusun program pada M-file dalam jendela editor

Hasil penyusunan input dapat disimpan (save as) dalam bentuk M-file dengan nama
sesuai dengan yang diinginkan, misalnya balok_statika. Perlu digaris bawahi disini
bahwa nama dari M-File yang disimpan yaitu balok-coba bukan nama judul program
yang tercantum pada bagian atas barisan teks-teks program pada jendela editor. Prosedur
penyimpanan adalah dengan mengklik tombol File  save as pada jendela edior.
Rangkaian yang disusun dalam jendela editor dan disimpan sebagi M-File dapat
diseksekusikan pada jendela perintah dengan beberapa cara. Yang paling sederhana
adalah dengan mengetikkan nama M-file balok_coba pada jendela perintah.

39

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

Gambar 2-17. Mengeksekusi M-File pada jendela editor di jendela perintah

Cara lainnya adalah dengan mengcopy semua atau sebagian teks yang ada dalam suatu
M-File untuk kemudian mempastenya pada jendela perintah. Cara yang kedua biasanya
digunakan untuk melakukan pemeriksaan suatu bagian dari teks program yang panjang
dan kompleks.
2.3.5. Menghitung gaya-gaya dalam
Gaya-gaya dalam dapat ditinjau pada setiap penampang pada balok dimana pada model
balok yang 1D penampang-penampang direpresentasikan oleh titik-titik disepanjang
balok. Jumlah titik disepanjang balok adalah tidak berhingga (kontinu) sehingga perlu
40

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

diambil sejumlah titik diskrit untuk merepresentasikan diagram gaya-gaya dalam.
Tentunya, semakin banyak titik yang diambil akan semakin halus pendekatan terhadap
diagram kontinunya.
Seperti halnya pada proses menghitung gaya-gaya reaksi, dibutuhkan formulasi umum
untuk menghitung gaya-gaya dalam akibat gaya-gaya terpusat maupun terdistribusi.

x

xp
xp

P1

x

x > xp

xqA
xqA

x

q1

xqA

x

xqA

xqB

0000

xS1

xS1

xS2

x1 = 0

xS2

x1 = 0

Gambar 2-18. Rentang-rentang formulasi gaya-gaya dalam akibat satu gaya terpusat dan
satu segmen gaya terdistribusi

Momen :

Momen akibat satu gaya terpusat
x  xp
x > xp

M X  R A .x
M X  R A .x  P( x  xp1 )




Momen akibat satu gaya terdistribusi
x  xq

M X  R A .x



( x  xq1 A ) 

M X  R A .x  q( x  xq1 )  xq1 

2


( xq A  xq B ) 

M X  R A .x  q ( xq A  xq1 ) x   x 

2



xqA < x  xqB 
x > xqA
Geser :



Geser akibat satu gaya terpusat
x  xp
x > xp




V X RA
VX RA  P

Momen akibat satu gaya terdistribusi
xq1A < x  xqB 

R A X  R A  q( x  xq1 )

xq1A < x  xqB 

M X  R A .  q ( x  xq1 )

41

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

x > xq

( xq A  xq B ) 

M X  R A .x  q( xq A  xq1 ) x   x 

2





Gaya-gaya dalam dihitung sebanyak jumlah titik yang diambil. Jika balok dibagi menjadi
m pias maka jumlah titik untuk mengevaluasi gaya-gaya dalam adalah m+1 titik. Input
program perlu ditambah dengan mendefinisikan
m
: jumlah interval evaluasi gaya dalam
m +1 : jumlah titik evaluasi gaya-gaya dalam
Pola perhitungan gaya dalam mengikuti pola perhitungan gaya-gaya reaksi. Gaya dalam
pada suatu titik merupakan penjumlahan dari gaya-gaya dalam akibat masing-masing
gaya terpusat dan terdistribusi. Jika terdapat n gaya yang bekerja dan terdapat m+1 titik
evaluasi maka ada m+1 perhitungan gaya dalam yang masing-masing merupakan
penjumlahan dari n gaya seperti yang ditunjukkan Tabel 2-2 dibawah ini
Tabel 2-2. Gaya reaksi dan gaya dalam akibat gaya-gaya aksi yang bekerja
No.

1
2
:
:
n

Gaya
Aksi
G ke-1
G ke-2
:
:
G ke-n
∑G

Gaya
Reaksi
RA/RB ke-1
RA/RB ke-1
:
:
RA/RB ke-n
∑RA/∑RB

1

2

M
M11
M21
:
:
Mn1

V
V11
V21
:
:
Vn1

M
M12
M22
:
:
Mn2

∑M1

∑V1

∑M2

Evaluasi pada titik ke
..............
..............
V
.
.............
V12
V22 . . . . . . . . . . . . . .
..............
:
..............
:
Vn2 . . . . . . . . . . . . . .
∑V2 . . . . . . . . . . . . . .

m+1

M
M1m+1
M2m+1
:
:
Mnm+1

V
V1m+1
V2m+1
:
:
Vnm+1

∑Mm+1

∑Vm+1

Tabel 2-2 menunjukkan bahwa untuk satu kasus balok sderhana hanya terdapat
 satu gaya aksi total (∑G)
 dan masing-masing juga satu Gaya-gaya reaksi total ( ∑RA & ∑RB )
tetapi terdapat

m+1 gaya-gaya dalam total (∑M1 &∑V1, ∑M2 & ∑V2, . . . . . . . , ∑Mm+1 & ∑Vm+1).
Pertama akan disajikan algoritma program untuk perhitungan gaya-gaya dalam pada satu titik

evaluasi, misalnya gaya-gaya dalam total pada titik evaluasi ke-1 akibat dari n gaya yaitu
∑M1 dan ∑V1. Baru kemudian program diekspansikan untuk menghitung gaya-gaya dalam pada
semua titik-titik evalausi yang telah ditentukan (∑M1 &∑V1, ∑M2 & ∑V2, . . . . . . . , ∑Mm+1 &
∑Vm+1).

RA(i) akibat dari tiap loop harus diketahui supaya momen atau geser akibat tiap gaya
dapat dihitung untuk kemudian baru dijumlahkan seperti halnya gaya reaksi RA dan RB.
Oleh karena itu perhitungan momen dan geser akibat suatu gaya disisipkan dalam loop.
Misalnya yang dihitung hanya gaya dalam pada satu titik akibat gaya terpusat maka
terdapat dua kemungkinan formulasi gaya dalamnya. Sedangkan gaya dalam pada satu
titik akibat gaya terdistribusi maka terdapat 3 (tiga) kemungkinan formulasi gaya
42

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

dalamnya sehingga didalam conditional (loop induk) yang ada perlu dibuat sub
conditional (loop anak) sebagai berikut

Loop Induk


Jika xgB = 0
RA & RB dihitung sesuai persamaan 2.5-a.
Loop anak
 Jika x  xp
momen dihitung sesuai persamaan 2.6-a
geser dihitung sesuai persamaan 2.7-a
 Jika Untuk x > xp
maka momen dihitung sesuai persamaan 2.6-b
geser dihitung sesuai persamaan 2.7-a
 Selesai

ya

ya

x≤
xp
tidak

xgB
=0

 Kalau tidak
RA & RB dihitung sesuai persamaan 2.5-b

tidak

Loop anak
 jika x  xqA
momen dihitung sesuai persamaan 2.6-c
geser dihitung sesuai persamaan 2.7-c
 jika Untuk x > xqA dan x < xqB
maka momen dihitung sesuai persamaan 2.6-d
geser dihitung sesuai persamaan 2.7-d
o jika tidak
momen dihitung sesuai pers. 2.6-e
geser dihitung sesuai pers. 2.7-e
 selesai

ya
x≤
xqA
tidak

ya
x≤
xqB
tidak

\

 Selesai
Jika gaya-gaya yang bekerja teridiri dari gaya ke-i dimana i= 1,2,...........,n Untuk
menyajikan hasil perhitungan RA(i), RB(i), Mx(i), Vx(i), akibat tiap-tiap gaya dari n gaya
maka perlu disusun vektor hasil perhitungan semua loop dimana
RA(i) = [ RA(1),
RB(i) = [ RA(1),
Mx(i) = [ RA(1),
Vx(i) = [ RA(1),

RA(2),.........................RA(n) ]
RA(2),........................ RA(n) ]
RA(2),........................ RA(n) ]
RA(2),........................ RA(n) ]

dimana
RA(i) : Gaya reaksi di perletakanA akibat gaya ke-i
43

Bandung Structral Engineering e-School

Pemrograman Analisa Struktur Dasar dengan MATLAB

RB(i) : Gaya reaksi di perletakanA akibat gaya ke-i
Mx(i) : Momen pada titik x (hanya ada satu titik evaluasi) akibat gaya ke-1
Vx(i) : Geser pada titik x (hanya ada satu titik evaluasi) akibat gaya ke-1
File Balok_statika disisipi syntax sebagai berikut
Misalnya ditentukan untuk satu nilai x

(m =1)

% Nilai-nilai, vektor-vektor dan matriks-matriks awal
%
Mxs =0 ;
Vxs = 0 ;
Ras = 0 ; Rbs = 0 ;
%
%-------------------------------------------------------------------% Perhitungan Gaya-gaya rekasi dan gaya-gaya dalam
%
nn=size(G);
n=nn(1)
% Nilai-nilai,
vektor-vektor dan matriks-matriks awal
for
i
=
1:
n
%
gg = Gaya (:,i)
; =g zeros(n.1);
= gg (1) ; xga = gg (2) ; xgb =gg (3) ;
Mxs =zeros(n,1)
;
Vxs
if
xgb
=
=
0
Ras =zeros(n,1) ;
Rbs = zeros(n,1);
Ra = (xga – xs1)*g/(xs2 – xs1) ;
%
Rb = (xs2 – xga)*g/(xs2 – xs1) ;
%-------------------------------------------------------------------% Perhitungan Gaya-gaya
if x  rekasi
xga dan gaya-gaya dalam
%
Mx = Ra*x ;
nn=size(G); n=nn(1)
Vx = Ra
for i = 1: n
else
gg = Gaya (:,i) ; Mx
g =
= Ra*x
gg (1)
; xga
= gg; (2) ; xgb =gg (3) ;
– g*(x
–xga)
if xgb = = 0
Vx = Ra – g ;
Ra = (xga
end – xs1)*g/(xs2 – xs1) ;
else Rb = (xs2 – xga)*g/(xs2 – xs1) ;
Ra = ( g*(xgb-xga)*(xga+(xga+xgb)/2))/(xs2-xs1)
;
if x  xga
Ra = ( g*(xgb-xga)*(xs2-(xga+(xga
+xgb)/2)))/(xs2-xs1)
;
Mx(i) = Ra*x ;
if x  Vx(i)
xga = Ra
else Mx = Ra*x ;
Vx
= Ra
Mx(i)
= Ra*x – g*(x –xga) ;
elseif Vx(i) = Ra – g ;
Mx = Ra*x – g*(x –xga) *(xga+(x-xga)/2;
end
Vx = Ra – g*(x –xga) ;
else
else
Ra = ( g*(xgb-xga)*(xga+(xga+xgb)/2))/(xs2-xs1) ;
= Ra*x – g*(xgb –xga) *(x-xa-+xgb)/2;
Ra = Mx
( g*(xgb-xga)*(xs2-(xga+(xga
+xgb)/2)))/(xs2-xs1) ;
= Ra – g*(xgb –xga) ;
if x Vx xga
end
Mx(i) = Ra*x ;
end
Vx(i) = Ra
Ras = Ras + Ra
elseif
Rbs = Rbs + Rb
Mx(i)= Ra*x – g*(x –xga) *(xga+(x-xga)/2;
Mxs = Mxs+Mx
Vx(i) = Ra – g*(x –xga) ;
Vxs = Vxs+Vx else
end
Mx(i) = Ra*x – g*(xgb –xga) *(x-xa-+xgb)/2;
Vx(i) = Ra – g*(xgb –xga) ;
Untuk mengetahui
harga-harga RA dan RB dari setiap gaya pada loop maka
end
Gambar 2-19.
Blok program gaya dalam akibat n gaya untuk satu titik evalausi
end
Ras = Ras + Ra’
Rbs = Rbs + Rb’
Mxs = Mxs + Mx’
44
Vxs = Vxs + Vx’

Bandung
Structral Engineering e-School
end

Gambar 2-20. Blok program gaya dalam akibat n gaya untuk satu titik evalausi

Pemrograman Analisa Struktur Dasar dengan MATLAB

%-------------------------------------------------------------------% Nilai2, vektor2 dan matriks2 awal
%
Mxs =zeros((m+1),1)' ; Vxs =zeros((m+1),1)' ;
Ras = 0 ; Rbs = 0 ;
%-------------------------------------------------------------------% Perhitungan Gaya-gaya rekasi dan gaya-gaya dalam
%
nn=size(G); n=nn(1)
for i = 1: n
gg = Gaya (:,i) ; g = gg (1) ; xga = gg (2) ; xgb =gg (3) ;
if xgb = = 0
Ra = (xga – xs1)*g/(xs2 – xs1) ;
Rb = (xs2 – xga)*g/(xs2 – xs1) ;
for j = 1: point
x = (j-1)*intv;
Xx(j)=x;
if x < xga
Mx(i,j) = Ra*x ;
Vx(i,j) = Ra
;
else
Mx(i,j) = Ra*x-g*(x-xga);
Vx(i,j) = Ra-g
;
end
end
else

Ra = ( g*(xgb-xga)*(xga+(xga+xgb)/2))/(xs2-xs1) ;
Ra = ( g*(xgb-xga)*(xs2-(xga+(xga +xgb)/2)))/(xs2-xs1) ;
for j = 1: point
x = (j-1)*intv;
Xx(j)=x;
if x xga & x