P rogram Komputer Ana lisis Ra n g ka Ruang
5.9 P rogram Komputer Ana lisis Ra n g ka Ruang
Prog ram k omputer sistem struk tur P01 tal Ruang d irancang berdasarkan bagan alir yang d i k embang k an oleh W illiam W eaver, Jr. & James M. G erc .. penulis buk u Afutrix Analysis of
Framed Stmcture (,)'econd Edition,
D. Van Nostrund, 1 980). Runcangan prog ram d ikem bang k an o leh mahasiswa S1 kelas A nalisa Struk tur I V, dan mahasiswa S2 k elas Metoda E lemen Hing g a, Prog ram Studi T eknik Sipil IT B.
Membuat kode program a nalisa stru ktu r untuk rangka ruang.
Prog ram yang d igunakan adalah T urbo Pascal for W indows v1.5 Dalam prog ram ini d ibuat/ l le:f i/ e pembantu (*.i nc) yang d ipang g il dengan procedure pada prog ram utama. Adapunfi le:f i le yang d iperlukan di dalam prog ram ini adalah:
1. main _JJro,pas : merupakan bad an prog ram uta m a
2. sdutarr. inc
: berisi prosedur input d ata
3. ldatarr. inc
: berisi input data dan pengkombinasian be ban titik
4. stijjiT. inc
: berisi perakitan matrik k ekakuan
5. hanfac. inc : berisi prosedur fakorisasi matrik
6. hansol. inc
: berisi penyelesaian vektor
7. resulrr. inc
: berisi penul isan basil perhitung an Sedang k an untuk input dan outputnya d iletakk an padaj i / e text (*.txt), yaitu:
I. datarr. txt
: ber isi input data struk tur dan pembebanan
: berisi laporan input beserta hasil perhitungan. Berdasarkan bagan alir yang t clah d iberikan. maka k od e prog ram secara keseluruhan dapat
2. report. txt
d isusun. Kode prog ram lengk<p scbagai berikut.
Source code dari
fi le main_ pro.pas
p rogram ANAL I S I S_RANGKA_RUANG ; u s e s w i nc r t ;
K , J , 1 R , 1 C , 1 1 , 1 2 , I 3 , I t em , T A
: i n teger ;
X , Y , Z , AC , AJ , AE , DJ , DF , XI , Y I
ma t r i k_real l ;
ma t r i k_::-e a l l ;
SFF , SM S , AML
mat: r i k_re a l 2 ;
mat r i k __ real l ;
i np u t _d a t a , a l pha
: cha r ;
a r s i p_da r a , a r s i p_has i l
: s r sdatarr . inc } ', $ 1 s t i f frr . inc } · $ 1 bcm fac . inc } ; s r l datarr . i nc }
i $ 1 hansol . inc }
f $ I resulrr . i nc } 3EG::: N
clrscr; w r i t. e l n
( '++++�++++t+++++++++++++++++++++++�++++++++++++++++++++++');
wr i t e l n
r, I
I' I;
writeln
I, I
PROGRAJ"' KO�lPUTER UNTUK RANGKA RUANG
I' I;
vni teln wr i t e l n
r, I I' I;
('+++++��+++++++++•·+++++++++++++++++++++++++++++++++++++++'); wri teln ('
,I;
w r i t e l n ( d ays [ dow ] , ' , ' , t g l : O , ' \ ' , bln : O , ' \ ' , thn : O I ; writeln;
( M em i l i h I n p u t D a t a ) wr i t e l n ( ' P i l i han Masukan da t a :
l . Manua l ( s a t u p e r s a tu ) 'I;
wriLeln ('
2 . Da r i Ars i p f i l e ' ) ;
wri teln (' , I;
i np u t _d a t a : = readkey ; writeln; whi l e n o t ( ( i nput_da t a = ' l ' ) o r ( i np u t __ cla t a = ' 2 ' 1 1 do
Begin w r i t e l n ( ' P i l i han anda s a l ah ' ) ; w r i t e l n ( ' S i l ahkan masukan p i l i h s n y s ng benar : ' I ;
r e ad l n ( i np u t_da t a ) ; writeln;
End ; if
l np1J t�_da ta= ' 1 '
then
Bey in Bey in
wr i t e l n ( ou t , ' I I'); wr i t e l n ( ou t , ' I HAS I L ANAL I S I S STRUKTUR RANGKA RUANG
I');
w r i t e l n ( ou t , '
I w r i t e l n ( ou t , ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ' ) ; I');
wr i t e l n ( ou t , '); w r i t e l n ( ou t , days [ dow ] , ' , ' , t g l :
0, ' \ ' , bln : O , ' \ ' , thn : O ) ; { Pros edur i n t i Program }
writeln; sdata4; stiff4;
f a k t o r i s a s i _ma t r i k ; ldata4; s o l us i_vek t o r_x ; result4;
{ Se l es a i }
i f i nput_da t a = ' 2 ' then c l o s e ( d t ) ;
c l o s e ( ou t ) ; wr i t e l n ( ' Program t e l ah s e l e s a i d i e k s e ku s i ' ) ; w r i t e l n ( ' H a s i l nya dap a t d i l i h a t pada f i l e ' , a r s i p_ha s i l ) ; wr i t e
( ' TERIMA KAS I H ' ) ; readkey ; END .
Source code dari file sdatarr. inc
Procedu r e sdata4 ; Begin
{ Judu l Outpu t } { Parame t e r S t ruktu r }
wr i t e l n ( ou t , ' PARAMETER STRUKTUR ' ) ; wr i t e l n ( ou t , ' M
E'); w r i. t e l n ;
i f i nput_da t a � ' l ' t h en Begin wr i t e l n ( '
S a t uan : kN -me t e r ' ) ;
wr i t e l n
('
Parame t e r S t ruktur ' ) ;
(M): ' ; readln ( M ) ; write
write
('
Juml ah e l emen
( N J ) : ' ) ; readln ( NJ ) ; )
('
Jum l ah t i t i k kump u l
write
( NR,J ) : ' ) ; readln ( NR,T ) ; write
('
Juml ah t i t i k p e l e takan
('
Jumlah reaks i p e l e t akan
( NR ) :
' ) ; read l n ( NR ) ; ' ) ; read l n ( E ) ;
Beg i n readln ( dt ) ; readln ( dt ) ; readln ( dt ) ; End ;
f o r J : � l to NJ do Begi n
c a s e i nput_da ta o f 'l'
Beg i n wr i te
( ' Koordinat t i t i k ' , J , ' ber t u ru t - t u r u t X ' , J , ' , Y ' , J , dan
z' 'J,'
readln ( X [ J ] , Y [ J ] , Z [ J ] ) ; End ;
'2' read l n ( dt , J , X [ J ] , Y [ J ] , Z [ J ] ) ; Encl ; w r i t e l n ( ou t , J : 7 , X [ ,J ] : 1 3 : 2 , Y [ J ] : 1 1 : 2 , Z [ J ] : 1 1 : 2 ) ; End ;
( In f o rmas i E l emen ) w r i t e l n ( ou t ) ; wr i te l n ( ou t ,
INFORMAS I ELEMEN ' ) ; w r i t e l n ( ou t , '
CY cz ' ) ; wr i te l n ;
E l emen
i f i npu t_da t a � ' l ' then w'ri t e l n ( ' I n f ormas i E l emen ' ) ;
i f i nput_da t a � ' 2 ' then Begi n readln ( d t ) ; reacl l n ( dt ) ; read l n ( d t ) ; End ; MD : � 2 *NDJ ; NB : � 0 ; for
I : � l t o M do Begin
c a s e i nput_d a t a o f '1'
Begin wri te
( ' Uj ung - u j ung e l emen ' , I , ' ( i - j ) ' I ; read l n ( JJ [ I ] , JK [ I ] ) ; wr i t e
' ) ; readln ( AX [ I ] ) ; End ;
( ' Luas penampang e l emen
',I, '
'2' read l n ( cl t ,
J [ I ] , ,JK [ I ] , AX [ I ] ) ; I, J
Encl ; NBI : � NDJ * ( ABS ( JK [ I ] - JJ [ I ] ) + 1 ) ;
i f NBI >NB then NB : �NBI ; XCL . - X [ JK [ I ] ] - X [ JJ [ I ] ] ; YCL : � Y [ JK [ I ] ] - Y [ JJ [ I ] ] ;
ZCL : � Z [ ,JK [ I ] ] - Z [ J J [ I ] ] ; EL [ I ] . - sqrt ( XC L * XCL + YCL * YCL + ZCL* ZCL ) ; CX [ I ] . - XCL / EL [ I ] ; CY [ I ] . - YCL / EL [ I ] ;
Begin read l n ( dt ) ; r e a d l n ( d t ) ; readln ( d t ) ; End ;
f o r I : = 1 to ND do JEL [ I ]
: = 0; for
1:=1 t o NEJ do Begin
c a s e i npu t _data o f
1 ' Beqin wri t e
' ) ; readln ( K ) ; write
I ' No . T i t i k Kumpul
I ' JRL1 , JRL2 , JRL3
' I ; readln ( JRL [ 3 *K-2 ] , JRL [ 3 *K-l ] ,
JRL [ 3 * K ] ) ;
End ; '2'
readln i d t , K , JRL [ ] * K - 2 ] , JRL [ 3 * K - l ] , JRL [ 3 * K ] ) ;
End ; wri t e l n ( ou t , K : 4 , JRL [ 3 * K - 2 ] : 9 , J EL [ 3 * K - 1 ] : 6 , ,JRL [ 3 * K ] : 6 ) ; End ;
( l ndeks Perp i ndahan T i t i k Kumpu l } N1: =0;
f o r J : = 1 t o ND do Beqin Nl : =N l +-JRL [ J J ;
i f JRL [ J ] > O then I D [ J ] : =N + N 1
e l s e I D [ J ] : = J- N 1 ; End ;
End ;
Source code dari file stiffrr.inc Pro cedure s t � f f 4 ; Beqin
(Inisialisasi}
f o r J : = 1 t o N do Beg i n for
K:=l t o N B do SFF [ ,T , Kj
End ; ( Kekakuan E l emen }
f o r I : = 1 to M do Beg i n SCM . - E * AX [ I ] / E L [ I ] ; S MS [ l , l ] . - SCM * CX [ I ] * CX f i ] ; SMS [1, 2]
SCM * CX [ I J *CY [ I ] ;
{ Uhah Ke Ma t r i ks K0kaua n T i t i k Kumpu l } IM[l]
3* ,T J [I ] ; IM[4]
i f I JRL [ I l ] <= 0 ) then Begin
f o r K : = J t o MD do Begin
I2 :=
I M [K] ;
i f ( JRL [ l 2 ] <= 0 ) then Beg i n IR := ID [ I l ] ; IC := ID[l2];
End ; End ; End ; End ; End;
Source code dari file /datarr. inc
Procedure l da t a 4 ; Beg i n
{ Pa rame t e r hehan } writeln (out); w r i t e l n ( ou t , ' PAFAMETER BEBAN ' ) ; wr i t e l n
( ou t , ' NLJ
NLM ' ) ;
writeln; writeln;
i f input_data= ' 1 ' then w r i t e l n ( ' Beban T i t i k Kumpu1 ' I;
i f i nput_data= ' 2 ' then Begin readln ( dt l ; read1n ( dt ) ; read1n ( dt ) ; End ;
f o r J : = 1 to NLJ do Begin case i nput_data o f '1'
Begin wri te
( ' T i t i k Kumpu1
' I ; readln ( K ) ;
write
( ' Beban Arah X,
Y , dan Z
read1n ( AJ [ 3 * K - 2 ] , AJ [ 3 * K- 1 ] , AJ [ 3 *K ]
I;
End ;
'2' readln ( dt , K , AJ [ 3 * K - 2 ] , AJ [ 3 * K- 1 ] , AJ [ 3 * K ] ) ; End ; wri te1n ( ou t , K : 7 , AJ [ 3 * K - 2 ] : 1 6 : 2 , AJ [ 3 * K- 1 ] : 9 : 2 , AJ [ 3 * K ] : 9 : 2 ) ; End ;
( Beban Bentang }
i f NLH < > O then Begin ( I n i s i a l i sa i LHL dan AHL }
wr i te l n ( ou t ) ; w r i t e 1 n ( ou t , ' GAYA UJUNG
ELEHEN TERKEKANG PENUH AKI BAT BE BAN
B ENTANG ' I;
w r i t e l n ( ou t ,
E l emen
AHL4 ANL5
AHL 6 ' I;
wri te l n ;
i f inpu t_dat a= ' 1 ' then w r i t e l n ( ' Gaya U j ung E 1 emen Terkekang Penuh Akibat Beban Ben t ang ' ) ;
i f i nput_da ta= ' 2 ' then Beg i n readln ( dt ) ; read1n ( dt ) ; read l n ( dt ) ; End ; for J : = 1 to NLH do
Begi n
c a s e i nput_d a t a o f
'1'
Begi n wr i te ( ' E 1 emen no .
' ) ; readl n ( I ) ;
Begi n for I : = 1 t o M do Begi n
I f LML [ I ] < > O then
Beg i n
CXZ : = SQRT ( CX [ I ] * CX [ I ]
CZ[I]*CZ[I]);
J 1 : = 3 *JJ [ I ] - 2 ; J2 : = 3 *JJ [ I ] - 1 ; J 3 : = 3 *JJ [ I ] ; K l : = 3 * JK [ I ] - 2 ; J 1 : = 3 * JK [ I ] - 1 ; K3 : = 3 * JK [ I ] ;
I f ( CXZ> = O . O O l ) then Beg i n AE [Jl]
- AE [ J l ] - CX [ I ] *AML [ l , I ]
+ ( CX [ I ] * CY [ I ] *AML [ 2 , I ] +C Z [ I ] *AML [ 3 , I ] ) / CXZ ;
AE [ ,J2 ]
- AE [ J 2 ] - CY [ I ] *AML [ l , I ] - C X Z * AML [ 2 , I ] ;
AE [ J 3 ]
- AE [ J3 ] - C Z [ I ] * AML [ l , I ] + ( CY [ I ] * CZ [ I ]
* AML [ 2 , I ] -CX [ I ] *AML [ 3 , I ] ) /CXZ ;
AE [ Kl ]
- AE [ Kl ] - CX [ I ] *AML [ 4 , I ]
( CX [ I ] * CY [ I ] *AML [ S , I ]
+ C Z [ I ] *AML [ 6 , I ] ) / CXZ ;
AE [ K2 ]
AE [ K2 ] - CY [ I ] *AML [ 4 , I ] - CXZ*AML [ S , I ] ;
AE [ K3 ]
- AE [ K3 ] - C Z [ I ] *AML [ 4 , I ] + ( CY [ I ] * CZ [ I ] *AML [ S , I ]
-CX [ I ] *AML [ 6 , I ] ) / CX Z ;
AE [ K l ] + CY [ I ] *AML [ S , I ] ;
AE [ K2 ]
- AE [ K 2 ] - CY [ I ] *AML [ 4 , I ] ;
End ; End ; End ; End ; ( Komb i n a s i Beban T i t i k Kumpul } for J : = 1 t o ND do
Beg in JR : = I D [ J ] ; AC [ J R ] : = AJ [ J ] +AE [ J ] ;
End ; End ;
Source code dari file banfac.inc
procedure faktor i s a s i _ma t r i k ;
Begin
SUM : = S FF [ I , J - I + l ] ;
f o r K : =J2 to I l do S UM : = SUM- S F F [ K , I -K + l ] * S F F [ K , J - K + l ] ; S F F [ l , J- I + l ] : = SUM ;
End ; End ; End ; SU11 : =
SFF [J, 1] ;
f o r K : =J2 to Jl do Beg i n TEMP : = SFF [ K , J - K + l ] / S F F [ K , l ] ; SUM : = SUM - TEM P * S F F [ K , J - K + l ] ; S F F [ K , J - K+ l ] : = TEMP ;
End ;
i f ( SUM< = O . O ) then Beg i n w r i t e l n ( ' Ma t r i k s Kekakuan T i dak Pos i t i f De f i ni t i f ' ' ) ; wr i te l n ( ' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ' ) ;
ha l t ( 1 ) ; End ; S FF [ J , l ] : = SUM ;
End ; End ;
Source code dari file banso/.inc
procedure s o l u s i _vektor_x ; Beg i n
for I : = l t o N do Begin
J : = I -NB+ l ;
i f ( I <=NB ) then J : = l ; SUM : = AC [ I ] ; Kl := I-1;
i f ( ,J < = K l ) then Beg i n
f o r K : =J to K l d o SUM : = SUM - S FF [ K , I -K + l ] * DF [ K ] ; End ; DF [ I ]
S UM ; End ;
Source code dari file resultrr.inc
procedure r e s u l t 4 ; Begin
{ Perpi ndahan T i t i k Kumpu l ) J:=N+1;
f o r K : = 1 to ND do Begin JE := ND -K + 1; i f JRL [ J E ] = O . O then beg i n J:=J-1; DJ [ JE ]
: = DF [ J ] ;
end else Beg L n
DJ [ J E ] . -
End ; End ; wr i te l n ( out ) ; w r i t e l n ( ou t , ' PERPINDAHAN T I T I K KUMPUL ' ) ; w r i t e l n ( ou t , ' T i t i k
( Ak s i U j ung E l emen } wr i t e l n ( ou t ) ; wr i t e l n ( ou t , ' AKS I UJUNG ELEMEN THD KOORD LOKAL ' ) ; w r i t e l n ( ou t , ' E l emen
AMS AM6 ' I; for 1 : � 1 to M do Begin
SCM : = E * AX I I ] / EL [ I ] ; AMD i l ] . - SCM* ( ( DJ [ J l ] - DJ [ K l ] ) * CX I I J + ( DJ I J 2 ] -DJ I K2 ] ) * CY [ I ] ) + ( DJ I J 3 ] -
DJ [ K 3 ] * C Z I I ] ) ; AMD I 4 ]
. - - AMD [ 1 ] ;
AMD I 2 ] . -0 .
0 ; AMD I 3 ]
. -0 . 0 ;
AMD I 5] . - 0 . 0 ; AMD [ 6 ]
.-0. 0;
f o r J : = l to MD do
Begin J l : = 3 * J - 2 ; J 2 : = 3 * J - 1 ; J3 : = 3 * J ; N l : = JRL [ Jl ]
JRL [ J 2 ] + JRL [ J 3 ] ;
i f N l < > O then wri t e l n ( ou t , J : 2 5 , AR [ J l ] : 9 : 2 , AR [ J 2 ] : 8 : 2 , AR [ J3 ] : 8 : 2 1 ;
End ; End ;
Contoh : File input: