APLIKASI PROGARAM METODE ELEMEN HINGGA PADA RANGKA RUANG (SPACE TRUSS) DENGAN PROGRAM MATLAB TUGAS AKHIR Diajukan untuk melengkapi tugas-tugas dan memenuhi Syarat untuk menempuh ujian sarjana Teknik Sipil Disusun oleh: ADE SATRIA 03 0404 012
ABSTRAK
Pada perencanaan bangunan sipil saat ini banyak dipakai konstruksi rangka ruang, seperti gedung pameran, hall dan lain-lain. Untuk itu penulis berkeinginan untuk menganalisa struktur rangka tersebut. Ada beberapa metode untuk menghitung menghitung dan menganalisa menganalisa struktur struktur rangka, antara lain metode analitis dan metode numerik. Dalam tulisan ini, penulis akan manganalisa secara numeric. Adapun metode yang akan di pakai adalah Metode Elemen Hingga (M.E.H). Metode Elemen Hingga (M.E.H) adalah suatu metode numerik yang digunakan untuk meyelesaikan problem dalam bidang engineering. Setelah dekade delapan puluhan perkembangan perkembangan metode ini sangat pesat karena pada saat itu juga telah dikembangkan dan digunakan komputer untuk penyelesaian masalah numeriknya. Pada tugas akhir ini akan dibuat
suatu aplikasi program dengan menggunakan
Matlab (Matrix Laboratory) dimana MATLAB adalah sebuah program untuk analisis dan komputasi numerik, yang merupakan suatu bahasa pemrograman matematika lanjutan
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadirat Allah SWT atas segala rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan Tugas Akhir ini, yang merupakan salah satu syarat untuk menyelesaikan pendidikan sarjana S1 pada Bidang Studi Struktur Jurusan Sipil Fakultas Teknik, Universitas Sumatera Su matera Utara, Medan. Adapun judul Tugas Akhir ini adalah : APLIKASI PROGRAM METODE ELEMEN HINGGA PADA RANGKA RUANG (SPACE TRUSS) DENGAN PROGRAM MATLAB
Pada kesempatan ini penulis ingin menyampaikan terima kasih yang sebesar-besarnya kepada : 1.
Bap
5.
Bap
ak dan Ibu staf pengajar dan seluruh pegawai Jurusan Teknik Sipil Fakultas Teknik Universitas Sumatera Medan. 6.
Ora
ng tua dan saudara-saudara penulis yang telah memberikan dorongan semangat untuk menyelesaikan Tugas Akhir ini. 7.
Tem
an-teman saya : Uus, Dani, Zul, Wira, Erwin dan Masana yang telah banyak membantu saya dalam menyelesaikan tugas akhir ini. 8.
Rek
an-rekan mahasiswa yang telah memberikan motivasi serta bantuan moril dan segala kekerabatan dan kerja sama selama pendidikan Fakultas Teknik Universitas Sumatera
DAFTAR ISI
Abstrak ................................................................................................................................... i Kata pengantar ....................................................................................................................... ii
II.1.1 Truss (rangka) ..................................................................................................... 8 II.1.2 Beam .................................................................................................................. 8 II.1.3 Spring Element ................................................................................................... 8 II.1.4. Grid .................................................................................................................... 9 II.1.5. Frame (portal) ..................................................................................................... 9 II.2 Metode Elemen Hingga .................................................................................................. 9 II. 3 Finite Element Method dan Methode Ritz ................................................................... 11 II.4 Penurunan matriks kekakuan batang ............................................................................. 14 II. 5 Transformasi Pada Sistem Koordinat........................................................................... 16 BAB III. DASAR-DASAR PEMROGRAMAN DENGAN MATLAB ........................ 38 III.1. Pendahuluan ................................................................................................................ 38 III.2. Lingkungan Kerja Matlab ............................................................................................ 38
III.9 Perhitungan SAP2000 ................................................................................................. 54
BAB IV. APLIKASI ................................................................................................... 56 IV.1 Aplikasi 1 .................................................................................................................... 56 IV.1.1 Perhitungan Dengan Program MATLAB .......................................................... 59 IV.1.2 Perhitungan dengan program SAP2000 ............................................................ 90 IV.2 Verifikasi Program ....................................................................................................... 90
BAB V. KESIMPULAN DAN SARAN .................................................................... 106 V.1 Kesimpulan ................................................................................................................. 106 V.2 Saran........................................................................................................................... 107
dz = Perpindahan titik kumpul arah z E
= Modulus elastis
{f} = Vektor dari gaya-gaya luar pada titik simpul F
= Gaya luar
Fx = Gaya sejajar sumbu x Fy = Gaya sejajar sumbu y Fz = Gaya sejajar sumbu z i
= Vektor satuan dalam arah sumbu x
j
= Vektor satuan dalam arah sumbu y
k
= Vektor satuan dalam arah sumbu z
T
= Torsi pada batang
U
= Energi
V
= Potensial dari gaya luar
= Energi potensial total i = suatu fungsi = Regangan
= Tegangan
Tabel IV.9 : Beda Absolut Gaya Batang ....................................................................... 101
Gambar II.6 : Transformasi Sistem Koordinat Global ke Sistem Koordinat Lokal ........ 19 Gambar II.7 : Penomoran untuk Nodal dan Batang....................................................... 26 Gambar II.8 : Tanda dan Arah Gaya ............................................................................. 29 Gambar III.1 : Tampilan Layar dari Matlab ................................................................... 43 Gambar III.2 : Contoh Gambar M-FILE ........................................................................ 48 Gambar IV.1 : Menara Air ............................................................................................. 60 Gambar IV.2 : Pemodelan Gaya yang Bekerja ............................................................... 61 Gambar IV.3 : Tampilan Layar Pada SAP2000 .............................................................. 93
BAB I PENDAHULUAN
1.1 Umum
Seiring dengan perkembangan teknologi, maka perencanaan bangunan sipil juga semakin sulit. Ini dapat terlihat di kota-kota besar. Selain bangunan sipil yang berupa bangunan gedung, terdapat juga bangunan-bangunan sipil bukan gedung, misalnya jembatan, menara pemancar, atau rangka-rangka bangunan baja yang lain, yang memerlukan perhitungan dan perencanaan yang lebih matang. Perkembangan teknologi komputer termasuk di dalamnya perkembangan software (perangkat lunak) yang sangat membantu guna memudahkan pekerjaan perhitungan dan perencanaan bangunan-bangunan yang kompleks. Perhitungan dengan menggunakan
komputer, metode elemen hingga ini mungkin sampai sekarang tidak akan digunakan dalam perhitungan praktis, karena akan memerlukan waktu yang cukup lama dan keakuratan yang kurang baik. Kemudian setelah dikembangkan komputer maka metode ini menjadi maju sangat pesat dan menjadi alat yang handal bagi para praktisi teknik sipil untuk menyelesaikan berbagai permasalahan yang ada didalam perhitungan analisa struktur, pada awalnya
banyak dikembangkan bahasa pemrograman yang low level language dengan
diperkenalkannya bahasa assembly dan high level language seperti Fortran, C++, Basic, Pascal dan lain-lain, hingga akhir-akhir ini semakin berkembang bahasa script programming yang dijadikan alternatif karena kemudahannya dalam membuat suatu aplikasi program, salah satunya adalah Matlab (Matrix Laboratory) dimana MATLAB adalah sebuah program untuk analisis dan komputasi numerik, yang merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk dengan dasar pemikiran menggunakan sifat dan bentuk
Gambar I.1. Contoh rangka batang ruang
1.2 Latar Belakang Masalah
1.3 Tujuan
Untuk mengembangkan suatu program analisa struktur untuk truss yang berbasis metode elemen hingga dengan menggunakan bahasa script programming yaitu Matlab serta membandingkan hasil yang diperoleh dengan software profesional untuk teknik sipil seperti SAP2000.
1.4 Pembatasan Masalah
Mengingat kompleksitas dari struktur, maka dalam kajian ini perlu adanya pembatasan permasalahan untuk menyederhanakan perhitungan dan mereduksi tingkat kesulitan, antara lain : 1. Struktur terdiri dari batang prismatis.
5. Praregang tidak diperhitungkan. 6. Penurunan atau perpindahan tumpuan t idak diperhitungkan. 7. Jenis material adalah homogen elastis, linier, homogen dan isotropis, yaitu pada setiap dan segala arah mempunyai modulus elastisitas yang sama. 8. Hasil keluaran dari program MATLAB untuk rangka ruang (space truss) berupa perpindahan titik (joint displacement), reaksi tumpuan (joint reaction), gaya batang dan tidak termasuk grafik. 9. Bentuk dari konstruksi yang akan dihitung berupa menara air dengan tinggi 6 meter, penjang = 1.5 meter, dan lebar =1.5 meter. Volume air yang akan dibebankan sebesar 3
.
d = 2.121 m
tangki air tair = 1.8 m
H=3m
1.5 Metodologi
Metode yang dipakai dalam pembuatan program ini adalah berdasarkan metode Elemen Hingga (M.E.H) dengan menggunakan bahasa script programming dalam hal ini Matlab kemudian hasil yang diperoleh dibandingkan dengan program SAP 2000.
1.6 Sistematika Pembahasan
Penulisan tugas akhir ini dilakukan dengan sistematika pembahasan sebagai berikut: BAB I
PENDAHULUAN
BAB II
METODE ELEMEN HINGGA PADA STRUKTUR TRUSS
BAB III DASAR-DASAR PEMROGRAMAN DENGAN MATLAB BAB IV APLIKASI BAB V KESIMPULAN DAN SARAN
BAB II METODE ELEMEN HINGGA PADA STRUKTUR TRUSS
II.1 Jenis - Jenis Struktur dalam Elemen hingga II.1.1 Truss (rangka)
Definisi truss (rangka) adalah konstruksi yang tersusun dari batang-batang tarik dan batang-batang tekan saja, umumnya dari baja, kayu, atau paduan ringan guna mendukung atap atau jembatan, umumnya dapat menahan gaya aksial saja. Truss 2 dimensi : truss yang dapat menahan beban pada arah datar saja (sumbu x, y) umumnya beban yang bekerja adalah beban terpusat nodal.
II.1.4. Grid
Grid adalah struktur data yang dipersiapkan untuk menerima beban yang tegak lurus pada bidang datar struktur. Setiap penyusun struktur dianggap disambung (conected) secara rigid. II.1.5. Frame (portal)
Definisi frame (portal) adalah kerangka yang terdiri dari dua atau lebih bagian konstruksi yang disambungkan guna stabilitas, umumnya dapat menahan gaya momen, gaya geser dan aksial. Frame 2 dimensi : frame yang dapat menahan beban pada arah datar saja (sumbu x, y) umumnya beban yang bekerja adalah beban terpusat nodal dan beban batang. Frame 3 dimensi : frame yang dapat menahan beban pada semua arah saja (sumbu x, y dan
beraturan. Bidang yang dengan dimensi tidak beraturan tadi disebut kontinum, bidang segitiga atau segi empat beraturan disebut elemen hingga. Dan banyak lagi persoalan yang identik dengan hal diatas. Maka dari sini dapat dikatakan bahwa elemen hingga pasti mempunyai lebih kecil dari kontinumnya u
FEA Exact
x
0 Batang bengkok menjadi batang pendek yang lurus
Sumber : Robert D Cook., David S. Malkus, Michael E. Palesha, Robert J. Witt Konsep dan aplikasi metode elemen hingga, Hal. 5
1
Sumber : William Weaver. JR, Paul R. Johnston. Elemen Hingga Untuk Analisis Struktur. Hal. 3
dipakai, maka langkah-langkah berikut ini dapat digunakan sebagai pedoman bila menggunakan pendekatan berdasarkan asumsi tersebut : 1. Bagilah kontinum menjadi sejumlah elemen (Sub-region) yang berhingga dengan geometri yang sederhana (segitiga, segiempat. dan lain sebagainya). 2. Pada titik-titk pada elemen yang diperlakukan sebagai titik nodal, dimana syarat keseimbangan dan kompatibilitas dipenuhi. 3. Asumsikan fungsi peralihan pada setiap elemen sedemikian rupa sehingga peralihan pada setiap titik sembarangan dipengaruhi oleh nilai-nilai tit ik nodalnya. 4. Pada setiap elemen khusus yang dipilih tadi harus dipenuhi persyaratan hubungan regangan peralihan dan hubungan rengangan-tegangannya. 5. Tentukan kekakuan dan beban titik nodal ekivalen untuk setiap elemen dengan
= U (v) + V (v)
minimum …………............................... (2.1)
= Energi Potensial Total
V
= Potensial dari gaya luar (terjadi bila gaya luar benda mempunyai arah)
U Ritz
= Energi n
V(x) = ∑ ai . i (x) = {}T {a}………................................................. (2.2) i=1
i = suatu fungsi V = lendutan
= minimum jika, ∂ = 0 (i = 1, 2, 3, …..,n) atau ∂
=0
+ j . ∑ ai . i (xj)] i=1
= ½ ∫ E{a}T {”}{”}T {a} dx - ∫ q{}T {a} dx - ∑(Fj{ j}T{a}+Mj{ j}T{a}) () () ( j)
= ½ {a}T ∫E{ ”}{”}T dx {a}- [ ∫q{} dx + ∑(Fj {i}T + Mj { j}T)]{a} () () ( j)
= ½ {a}T [K] {a} – {f} T {a}
∂ ∂ a
= [K] {a} – {f} = 0
Gambar II.3 Pemodelan F . . . . .
.
.
Pada FEM, Energi potensial dapat dijumlahkan dari sebuah elemen yang ada, dan menjadi = . . . . . . .
[K] {d} – {f} = 0……………............................................................................... (2.8)
II.4 Penurunan matriks kekakuan batang.
Pandanglah suatu elemen rangka dengan penampang melintang yang konstan, elastik dan linier, seperti ditunjukan dalam gambar. y
x F2 2
Berikut ini adalah beberapa asumsi yang digunakan untuk menurunkan persamaan matriks kekakuan elemen rangka. 1. Truss hanya menerima gaya pada arah axial (searah elemen) dan tidak menerima gaya pada arah lateral (tegak lurus elemen). Oleh karena itu F 1y dan F2y masing-masing sama dengan nol. 2. Semua perpindahan kearah selain arah penjang elemen diabaikan. 3. Elemen mengikuti hukum linier
x
= E
x
(pada arah axial)
Gunakan temuan Hooke bahwa perpindahan itu du akibat pengaruh gaya luar F.
1
....................................(2.9)
.....……........................(2.12)
1
Sumber : Ir. Yerri Susatio, MT Dasar-Dasar Metode Elemen Hingga. Hal. 44
Node 2 :
.....................................(2.13)
Dalam bentuk matriks persamaan (2.12) dan (2.13) dapat dituliskan sebagai:
Y
Y X
2
1
Øz
Øy
Øx
X
0 Z
Z
Gambar II.5 Elemen Dalam Ruang
Sumber : Ir. Yerri Susatio, MT Dasar-Dasar Metode Elemen Hingga. Hal. 87
Dalam gambar II.5 node 1 terletak pada titik O berada pada Sistem Koordinat Global
dan node 2 pada titik A pada koordinat
Sudut antara
dimana : , ,
: vektor satuan dalam arah sumbu lokal berturut-turut pada arah sumbu lokal , ,
i, j, k : vektor satuan dalam arah sumbu global berturut-turut pada arah sumbu lokal x, y, z.
Kalikan secara skalar (dot product) persamaan dengan i, akan dihasilkan persamaan: y
dari definisi dot product :
z
.................................(2.19)
.................(2.21) Dimana [ T* ] adalah matriks transformasi. Pada bagian ini akan diturunkan persamaan yang menghubungkan matriks kekakuan dalam koordinat global [ K ] dengan matriks kekakuan dalam koordinat lokal [ ].
Y
A ( x,y )
X
Pengembangan dari Matriks Transformasi yang diperoleh, akan dikembangkan untuk kasus dalam ruang tiga dimensi. Dalam Sistem Koordinat Global, koordinat A (x,y) Dalam Sistem Koordinat Lokal, koordinat A (OC,AC
..............................................................................(2.22)
..............................................................................(2.23)
Kedua persamaan (2.22) dan (2.23) ditulis dalam bentuk matriks ditulis sebagai:
Satu titik (x1,y1) pada Koordinat Global dinyatakan dalam Koordinat Lokal yang memebentuk sudut
dengan sumbu Koordinat Global adalah:
.................(2.26) Demikian juga titik (x2,y2) dalam Koordinat Global, jika dalam Koordinat Lokal menjadi:
.................(2.27) Sebuah elemen dibatasi oleh dua buah node (x 1,y1) dan (x2,y2) pada Koordinat Global, maka elemen tersebut dalam Koordinat Lokal menjadi:
.................(2.29) Matriks Transformasi Koordinat Global ke Koordinat Lokal adalah:
.................(2.30) Seperti halnya dengan persamaan (2.28), maka Matriks Transformasi Koordinat Lokal ke Global adalah:
.................(2.31)
Rumus-rumus transformasi seperti diatas berlaku juga untuk mentransformasikan vektor gaya seperti dilakukan dibawah ini (lokal ke global).
Untuk node 1 yang dikenai gaya
Untuk node 2 yang dikenai gaya
Transformasi dari sebuah elemen yang berbatas dari dua buah node 1 dan 2, yang masingmasing dikenai gaya F x1, F y1 dan F x2, F y2 diperoleh hubungan:
Substitusi {q} xy dari persamaan (2.37) ke persamaan (2.38) diperoleh ...........................................(2.39)
Dari persamaan (2.34) maka;
..............................(2.40)
Karena matriks [T2] bersifat orthogonal, maka;
Persamaan terakhir menjadi
Substitusikan kembali hasil ini kepersamaan (2.38) dihasilkan ..............................(2.41)
Lihat kembali persamaan (2.38) Jadi: ....................... .............(2.43)
Persamaan (2.43) ini mentransformasikan matriks kekakuan dalam Koordinat Lokal ke Koordinat Global. Sehingga dapat diturunkan persamaan matriks kekakuan dalam koordinat global sebagai berikut:
..............................................(2.44)
Dimana:
II. 6 Kompatibilitas, keseimbangan, penentuan dari matriks kekakuan.
Diketahui konstruklsi seperti gambar II.7
6
3 i F
y
b
h e
f
4
6
g
2
5
h
2
6
i
3
5
Untuk elemen a (dibatasi oleh node 1 dan node 2),
matriks kekakuan elemen a adalah:
Untuk elemen c (dibatasi oleh node 1 dan node 3),
matriks kekakuan elemen c adalah:
Untuk elemen e (dibatasi oleh node 5 dan node 6),
matriks kekakuan elemen e adalah:
Untuk elemen f (dibatasi oleh node 4 dan node 6),
Untuk elemen g (dibatasi oleh node 2 dan node 5),
matriks kekakuan elemen g adalah:
Untuk elemen i (dibatasi oleh node 3 dan node 5),
matriks kekakuan elemen i adalah:
Sebagai syarat kompatibilitas maka, ditetapkan:
Fy Fz
+
Fx
-
Fx
Fz Fy G
ambar II.8 Tanda dan Arah Gaya
Dengan demikian didapat:
Diubah kedalam bentuk matriks, menjadi :
31 Ade Satria : Aplikasi Progaram Metode Elemen Hingga Pada Rangka Ruang (Space Truss) Dengan Program Matlab, 2009.
Dimana:
II. 7 Syarat batas (boundary cindition), perpindahan titik dan gaya batang.
Titik 1, 3, 4 dan 6 merupakan tumpuan sendi, maka tidak terjadi perpindahan
Gaya yang terjadi di titik 2 dan 5
32 Ade Satria : Aplikasi Progaram Metode Elemen Hingga Pada Rangka Ruang (Space Truss) Dengan Program Matlab, 2009.
Sehingga bentuk matriks strutur menjadi:
33 Ade Satria : Aplikasi Progaram Metode Elemen Hingga Pada Rangka Ruang (Space Truss) Dengan Program Matlab, 2009.
Dengan memasukan nilai dari
dan
, maka matriks menjadi:
34 Ade Satria : Aplikasi Progaram Metode Elemen Hingga Pada Rangka Ruang (Space Truss) Dengan Program Matlab, 2009.
Sehingga didapatkan perpindahan titik untuk titik 2 dan 4. Kemudian matriks disusun kembali menjadi:
35 Ade Satria : Aplikasi Progaram Metode Elemen Hingga Pada Rangka Ruang (Space Truss) Dengan Program Matlab, 2009.
Dengan memasukan nilai
, maka didapat reaksi tumpuan di titik 1, 3, 4 dan 6
Mencari gaya batang
36 Ade Satria : Aplikasi Progaram Metode Elemen Hingga Pada Rangka Ruang (Space Truss) Dengan Program Matlab, 2009.
Dimana:
Untuk gaya batang a:
Dimana:
dan
37 Ade Satria : Aplikasi Progaram Metode Elemen Hingga Pada Rangka Ruang (Space Truss) Dengan Program Matlab, 2009.
Dengan memasukan nilai dari
dan
maka matriks menjadi:
Dengan memasukan nilai dari A, E, L maka didapat gaya batang a
38 Ade Satria : Aplikasi Progaram Metode Elemen Hingga Pada Rangka Ruang (Space Truss) Dengan Program Matlab, 2009.
BAB III DASAR-DASAR PEMROGRAMAN DENGAN MATLAB
III.1. Pendahuluan
Matlab merupakan bahasa pemrograman yang hadir dengan fungsi dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi, Basic maupun C++. Matlab merupakan bahasa pemrograman level tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman seperti komputasi matematik, analisis data, pengembangan algoritma, simulasi dan pemodelan dan grafik-
Window ini menampilkan isi dari direktori kerja saat menggunakan matlab. Kita dapat mengganti direktori ini sesuai dengan tempat direktori kerja yang diinginkan. Default dari alamat direktori berada dalam folder works tempat program files Matlab berada.
• Command History Window ini berfungsi untuk menyimpan perintah-perintah apa saja yang sebelumnya dilakukan oleh pengguna terhadap matlab.
• Command Window Window ini adalah window utama dari Matlab. Disini adalah tempat untuk menjalankan fungsi, mendeklarasikan variable, menjalankan proses-proses , serta melihat isi variable.
menyediakan fungsi demos yang berisikan video tutorial matlab serta contoh-contoh program yang bisa dibuat dengan matlab
III.2.3 Interupting dan Terminating dalam Matlab
Untuk menghentikan proses yang sedang berjalan pada matlab dapat dilakukan dengan menekan tombol Ctrl-C. Sedangkan untuk keluar dari matlab dapat dilakukan dengan menuliskan perintah exit atau quit pada comamnd window atau dengan menekan menu exit pada bagian menu file dari menu bar.
III.3. Variabel Pada Matlab
Matlab hanya memiliki dua jenis tipe data yaitu Numeric dan String. Dalam matlab setiap variabel akan disimpan dalam bentuk matrik. User dapat langsung menuliskan variabel baru tanpa harus mendeklarasikannya terlebih dahulu pada command window Contoh pembuatan variabel pada matlab:
>> varA = 1000 varA = 1000 >> varB = [45 2 35 45] varB = 45 2 35 45
Contoh pembuatan data matriks pada matlab:
>> DataMatriks = [1 2 3;4 5 6] DataMatriks = 123 456
Matlab menyediakan beberapa fungsi yang dapat kita gunakan untuk menghasilkan bentuk-bentuk bentuk-bentuk matriks yang diinginkan. Fungsi-fungsi tersebut antara lain: • zeros : untuk membuat matriks yang semua datanya bernilai 0 • ones : matriks yang semua datanya bernilai 1 • rand : matriks dengan data random dengan menggunakan distribusi uniform
0.9501 0.6068 0.2311 0.4860 >> d = rand (1,4) d= 0.8214 0.4447 0.6154 0.7919 >> e = eye(3,3) e= 100 010 001
Untuk memanggil isi dari suatu data matriks, gunakan tanda kurung ‘()’ dengan isi indeks
III.4. Operator
Beberapa penggunaan operator aritmatika antara dua operand (A dan B) ditunjukkan berikut ini Operasi Bentuk Aljabar Bentuk Matlab Contoh
Perkalian A x B A * B 5*3 Pembagian A ÷ B A ¥ B 2¥3 Penambahan A + B A + B 1+2 Pengurangan A – B A – B 4-3 Eksponensial B A A ^ B 4^3
III.6. M File
Di dalam matlab, kita dapat menyimpan semua script yang akan digunakan dalam file pada matlab dengan ekstensi .M. M-File dapat dipanggil dengan memilih menu file>new->M-File.
Di dalam M File, kita dapat menuliskan fungsi-fungsi yang berisikan berbagai operasi sehingga menghasilkan data yang diinginkan. Bentuk penulisan nama fungsi Function [Nilai keluaran ] = namaFungsi (nilai masukan) % operasi dari fungsi %… %… Contoh penggunaan: fungsi yang akan dibuat bernama ‘testfungsi’ memiliki tiga nilai masukan ‘c,d,e’ dan dua nilai keluaran ‘a,b’: function [a,b] = testFungsi(c,d,e)
III.6.2 Flow Control
Matlab memiliki empat macam statement yang dapat digunakan untuk mengatur aliran data pada fungsi yang akan dibuat.
1. If, Else, Elseif
Bentuk dasar penggunaan statement jenis ini adalah sebagai berikut: if ekspresi1 statements1; elseif ekspresi2 statements2; else statements3;
>> testFungsi(1,2) A lebih kecil dari B >> testFungsi(2,2) A sama dengan B >> testFungsi(2,3) A lebih kecil dari B
2. Switch
Bentuk dasar penggunaan statement switch switch switch_ekspresi
disp('x is 1') case {2,3,4} disp('x is 2, 3 or 4') case 5 disp('x is 5') otherwise disp('x is not 1, 2, 3, 4 or 5') end Hasil setelah dijalankan >> testFungsi(2) x is 2, 3 or 4 >> testFungsi(1)
Contoh penggunaan function testFungsi(x) %selama nilai x kurang dari 10 while x < 10 disp('nilai saat ini : '); %tampilkan nilai x x %increment nilai x x = x+1; end Hasil setelah dijalankan >> testFungsi(6)
9
4. for
Bentuk dasar penggunaan bentuk for: for index = start:increment:stop statement ... ... statement
end Default dari nilai increment (penambahan nilai setiap perulangan) jika tidak ditentukan oleh user adalah 1.
Berikut ini adalah jenis-jenis operator pada matlab yang dapat digunakan untuk operasi ekspresi pada statement yang membutuhkan perbandingan seperti if atau while.
Operator Keterangan
A < B A lebih kecil dari B A > B A lebih besar dari B A < = B A lebih kecil atau sama dengan B A > = B A lebih besar atau sama dengan B A = = B A sama dengan B A ~ = B A tidak sama dengan B
6. Bentuk matriks vektor beban dengan superposisi [Q]sis & [P]sis 7. Bentuk persamaan keseimbangan [K ]( d ) + ( f ) = ( P)
[K ]sis * ( D) = ( P − Q)sis 8. Hitung reaksi dan perpindahan nodal per sistem sumbu global {P}global 9. Hitung reaksi dan perpindahan nodal per sistem sumbu lokal [T].{P}global 10. Hitung gaya-gaya dalam struktur per elemen
III.8 File-file Matlab yang dibentuk pada waktu pemrograman File fungsi extract (extract.m)
{P}lokal =
File ini berfungsi untuk membaca masukan data berupa beban terpusat dan beban batang, serta kekangan dari perletakan
File fungsi t3d_stiff (t3d_stiff.m)
File ini berfungsi untuk membentuk matriks kekakuan sumbu lokal, matriks transformasi dan matriks kekakuan sumbu global.
File fungsi analysis_result (analysis_result..m)
File ini berfungsi untuk menganalisa matriks kekakuan sumbu kekakuan sumbu global dan
SAP2000 benar-benar mampu mengambil tugas analisa struktur karena jika kita sudah melakukan input data dengan benar, maka proses analisa akan langsung diambil olah SAP2000 dan prosesnya pun tergolong sangat cepat. Secara garis besar, perhitungan analisa struktur rangka dengan SAP2000 ini akan melaui beberapa tahap, yaitu: 1.
Menentukan geometri model struktur
2.
Mendefinisikan data-data.
3.
a)
Jenis dan kekuatan bahan.
b)
Dimensi penampang elemen struktur.
c)
Macam beban.
d)
Kombinasi pembebanan
Menempatkan (assign) data-data yang telah didefinisikan ke model struktur.
BAB IV APLIKASI
Aplikasi penggunaan program Matlab dalam contoh ini adalah menara air yang menampung air dengan volume = 3
atau berat = 3 Ton. Hasil output kemudian dibandingkan
dengan output dari program analisa sruktur yang lain, dalam hal ini penulis menggunakan program SAP2000.
IV.1 APLIKASI 1
Gambar IV.I adalah rangka menara tangki air yangterdiri dari dua tingkat. Tingkat pertama dan kedua mempunyai ketinggian masing-masing sebesar H = 3 m. Panjang menara (P)
d = 2.121 m
tangki air tair = 1.8 m
11 31 26
12 H=3m
32 25 28 20 27
8
23 18
7
22 21
1 6
13 9
10
9
173
16
4
10
24 19 29
14
15
H=3m
30
5
8
2
Besarnya gaya yang bekerja
gaya P didistribusikan ke empat titik maka setiap tititknya menahan gaya sebesar P = 0.75 Ton = 750 kg Lebih jelasnya perhatikan gambar IV.2 untuk pemodelan gaya yang bekerja.
P P
P P
11 31
12 H=3m
26
32 25 28 20 27
18
7
22 21
5
1 6 2
8
10
7
11
1 12
3
5
6
2
4 L = 1.5 m
23
13 9
4
9
10
173
16
H=3m
24 19 29
14
15
8
30
1
p = 1.5 m
%Prop prop=
i [ 1
A
E
14.1
2100000
]
%Koordinat grid: % coord=
No.Joint
ordinat-y
ordinat-z
0
0
0
2
150
0
0
3
150
150
0
4
0
150
0
5
0
0
300
6
150
0
300
7
150
150
300
[ 1
absis-x
6
2
5
1
7
2
7
1
8
3
6
1
9
3
8
1
10
4
7
1
11
4
5
1
12
1
8
1
13
5
6
1
14
6
7
1
15
7
8
1
16
8
5
1
17
5
9
1
31
11
12
32
12
9
1 1]
%Kondisi Perletakan : %
Kekang
Kekang
Kekang
Translasi-x
Translasi-z
Rotasi-y
lokal
lokal
lokal
Support= [ 1
1
1
1
2
1
1
1
3
1
1
1
4
1
1
1]
%
No.Joint
%
AML=
[ 0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;
0
0
0
0
0
0;]
Kemudian masih di dalam data masukan M-file TRUSS.m, lakukan analisa struktur dengan memanggil fungsi M-file yang telah dibuat sesuai dengan penjelasan pada Bab III.8 yaitu:
%Analisa Struktur dengan memanggil fungsi M-file : [dof,index,coord,element]=... sdata(prop,element,coord,type); [S,Sm,SmS,Cx,Cy,Cxz,RT,L,A,Joint,Xj,Xk,Yj,Yk,Zj,Zk]=... t3d_stiff(prop,element,coord,index); [IR,IF,Support]=ldata(Support,dof); [DF,AR,AM]=analysis_result(element,dof,index,IF,IR,... S,SmS,JL,AML,RT,Support,type) [joint_disp,support_reaction,beam_endforces]=... print_result(dof,Support,element,IF,IR,DF,AR,AM,type); end
7
0.000534597
0.000534597
-0.003283026
8
-0.000534597
0.000534597
-0.003283026
9
-0.000264863
-0.000264863
-0.006644010
10
0.000264863
-0.000264863
-0.006644010
11
0.000264863
0.000264863
-0.006644010
12
-0.000264863
0.000264863
-0.006644010
Tabel IV.2 Reaksi Perletakan MATLAB titik
Rx
Ry
Rz
kg
kg
kg
1
106.49133
106.49133
750.00000
2
-106.49133
106.49133
750.00000
7
238.12185
0
0
-238.12185
0
0
8
238.12185
0
0
-238.12185
0
0
9
238.12185
0
0
-238.12185
0
0
10
238.12185
0
0
-238.12185
0
0
11
238.12185
0
0
-238.12185
0
0
12
238.12185
0
0
-238.12185
0
0
13
-211.05906
0
0
211.05906
0
0
14
-211.05906
0
0
211.05906
0
0
15
-211.05906
0
0
211.05906
0
0
16
-211.05906
0
0
211.05906
0
0
17
331.72906
0
0
-331.72906
0
0
18
331.72906
0
0
-331.72906
0
0
30
-104.56774
0
0
104.56774
0
0
31
-104.56774
0
0
104.56774
0
0
32
-104.56774
0
0
104.56774
0
0
IV.1.2 PERHITUNGAN DENGAN PROGRAM SAP2000 Dalam program SAP2000 sistem data masukan yang sering digunakan adalah dengan sistem GUI (Graphical User Interface), yaitu sistem dengan mendesain interface, yaitu memodelkan struktur dan kondisi pembebanannya dalam bentuk grafis. Tapi dalam tugas akhir ini, saya juga akan menyajikan masukan data dibuat dalam file program pengolah kata notepad dengan nama file berekstensi .$2K sebagai berikut: TABLE: "JOINT COORDINATES" Joint=1 CoordSys=GLOBAL CoordType=Cartesian XorR=0 Y=0 Z=0 SpecialJt=No GlobalX=0
Joint=9
CoordSys=GLOBAL
CoordType=Cartesian
XorR=0
Y=0
Z=600
SpecialJt=No
Y=0
Z=600
SpecialJt=No
Y=150
Z=600
SpecialJt=No
Z=600
SpecialJt=No
GlobalX=0 GlobalY=0 GlobalZ=600 Joint=10
CoordSys=GLOBAL
CoordType=Cartesian
XorR=150
GlobalX=150 GlobalY=0 GlobalZ=600 Joint=11
CoordSys=GLOBAL
CoordType=Cartesian
XorR=150
GlobalX=150 GlobalY=150 GlobalZ=600 Joint=12
CoordSys=GLOBAL
CoordType=Cartesian
XorR=0
Y=150
GlobalX=0 GlobalY=150 GlobalZ=600
TABLE: "CONNECTIVITY - FRAME" Frame=1
JointI=1
JointJ=5
IsCurved=No
Length=300
CentroidX=0
CentroidY=0
CentroidX=150
CentroidY=0
CentroidZ=150 Frame=2
JointI=2
JointJ=6
IsCurved=No
Length=300
CentroidZ=150 Frame=3
JointI=3
JointJ=7
IsCurved=No
Length=300
CentroidX=150
CentroidY=150
Frame=11
JointI=4
JointJ=5
IsCurved=No
Length=335.410196624968
CentroidX=0
IsCurved=No
Length=335.410196624968
CentroidX=0
CentroidY=75 CentroidZ=150 Frame=12
JointI=1
JointJ=8
CentroidY=75 CentroidZ=150 Frame=13
JointI=5
JointJ=6
IsCurved=No
Length=150
CentroidX=75
CentroidY=0
CentroidZ=300 Frame=14
JointI=6
JointJ=7
IsCurved=No
Length=150
CentroidX=150
CentroidY=75
JointI=7
JointJ=8
IsCurved=No
Length=150
CentroidX=75
CentroidY=150
CentroidZ=300 Frame=15 CentroidZ=300 Frame=16
JointI=8
JointJ=5
IsCurved=No
JointI=5
JointJ=9
IsCurved=No
JointI=6
JointJ=10
IsCurved=No
Length=150
CentroidX=0
CentroidY=75
CentroidZ=300 Frame=17
Length=300
CentroidX=0
CentroidY=0
CentroidX=150
CentroidY=0
CentroidZ=450 Frame=18
Length=300
Frame=26
JointI=8
JointJ=9
IsCurved=No
Length=335.410196624968
CentroidX=0
CentroidY=75 CentroidZ=450 Frame=27
JointI=8
JointJ=11
IsCurved=No
Length=335.410196624968
CentroidX=75
CentroidY=150 CentroidZ=450 Frame=28
JointI=5
JointJ=12
IsCurved=No
Length=335.410196624968
CentroidX=0
CentroidY=75 CentroidZ=450 Frame=29
JointI=9
JointJ=10
IsCurved=No
JointI=10
JointJ=11
IsCurved=No
JointI=11
JointJ=12
IsCurved=No
JointI=12
JointJ=9
IsCurved=No
Length=150
CentroidX=75
CentroidY=0
Length=150
CentroidX=150
CentroidY=75
Length=150
CentroidX=75
CentroidY=150
CentroidX=0
CentroidY=75
CentroidZ=600 Frame=30 CentroidZ=600 Frame=31 CentroidZ=600 Frame=32 CentroidZ=600
Length=150
Dalam sistem GUI (Graphical User Interface),tampilan model rangka ruang, sebagai berikut:
3
DEAD
LinStatic
0
0
0
0
0
0
4
DEAD
LinStatic
0
0
0
0
0
0
5
DEAD
LinStatic
-0.000535
-0.000535
-0.003283
0
0
0
6
DEAD
LinStatic
0.000535
-0.000535
-0.003283
0
0
0
7
DEAD
LinStatic
0.000535
0.000535
-0.003283
0
0
0
8
DEAD
LinStatic
-0.000535
0.000535
-0.003283
0
0
0
9
DEAD
LinStatic
-0.000265
-0.000265
-0.006644
0
0
0
10
DEAD
LinStatic
0.000265
-0.000265
-0.006644
0
0
0
11
DEAD
LinStatic
0.000265
0.000265
-0.006644
0
0
0
12
DEAD
LinStatic
-0.000265
0.000265
-0.006644
0
0
0
Fram
Statio
OutputCa
CaseTy
V
V
P e
Text
n
cm
se
Text
pe
Text
T 2
3
Kg
Kg
Kgf-
M2
Kgf-
FrameEl
ElemStati
em
on
Text
cm
M3
Kgf-
Kgf f
f
cm
cm
cm
0
0
0
0
0
1
0
0
0
0
0
0
1
300
0
0
0
0
0
2
0
LinStati 1
0
DEAD
324.0 c 3 LinStati
1
300
DEAD
324.0 c 3 LinStati
2
0
DEAD
324.0 c
3 LinStati 4
300
DEAD
324.0
0
0
0
0
0
4
300
0
0
0
0
0
5
0
0
0
0
0
0
5
335.41
0
0
0
0
0
28
0
c 3 LinStati 5
0
DEAD
238.1 c 2 -
335.4 5
LinStati DEAD
1
238.1 c 2 LinStati
6
0
DEAD
238.1 c
2 LinStati 8
0
DEAD
238.1
0
0
0
0
0
7
0
0
0
0
0
0
7
335.41
0
0
0
0
0
8
0
0
0
0
0
0
8
335.41
c 2 335.4 8
LinStati DEAD
1
238.1 c 2 LinStati
9
0
DEAD
238.1 c 2 -
335.4 9
LinStati DEAD
1
238.1 c
2 LinStati 12
0
DEAD
238.1
0
0
0
0
0
11
0
0
0
0
0
0
11
335.41
0
0
0
0
0
12
0
0
0
0
0
0
12
150
0
0
0
0
0
13
0
c 2 335.4 12
LinStati DEAD
1
238.1 c 2 LinStati
13
13
14
0
150
0
211.0
DEAD c
6
LinStati
211.0
DEAD
DEAD
c
6
LinStati
211.0
c
331.7 3 -
LinStati 17
300
DEAD
331.7
0
0
0
0
0
16
300
0
0
0
0
0
17
0
0
0
0
0
0
17
300
c 3 LinStati 18
0
DEAD
331.7 c 3 LinStati
18
300
DEAD
331.7 c 3 LinStati
c
233.8 2 -
335.4 21
LinStati DEAD
1
233.8
0
0
0
0
0
20
335.41
0
0
0
0
0
21
0
0
0
0
0
0
21
335.41
c 2 LinStati
22
0
DEAD
233.8 c 2 -
335.4 22
LinStati DEAD
1
233.8 c 2 LinStati
c
233.8 2 -
335.4 25
LinStati DEAD
1
233.8
0
0
0
0
0
24
335.41
0
0
0
0
0
25
0
0
0
0
0
0
25
335.41
c 2 LinStati
26
0
DEAD
233.8 c 2 -
335.4 26
LinStati DEAD
1
233.8 c 2 LinStati
29
29
29
30
30
50
100
150
0
50
c
7
LinStati
104.5
DEAD c
7
LinStati
104.5
DEAD c
7
LinStati
104.5
DEAD c
7
LinStati
104.5
DEAD c
7
LinStati
104.5
DEAD c
7
LinStati
104.5
0
0
0
0
0
29
50
0
0
0
0
0
29
100
0
0
0
0
0
29
150
0
0
0
0
0
30
0
0
0
0
0
0
30
50
32
32
32
50
100
150
c
7
LinStati
104.5
DEAD c
7
LinStati
104.5
DEAD c
7
LinStati
104.5
DEAD c
0
0
0
0
0
32
50
0
0
0
0
0
32
100
0
0
0
0
0
32
150
7
IV.2 VERIFIKASI PROGRAM
Karena program yang saya buat merupakan program buatan sendiri yang bersifat independent dan tahap pemula. Dan juga karena alasan bahwa yang sibuat merupakan aplikasi untuk teknik, dimana ketepatan perhitungansangat diperlukan. Maka perlu diadakan verifikasi
cm
cm
cm
cm
cm
cm
cm
cm
cm
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-
-
-
-
-
-
0.0005345
0.0005345
0.0032830
0.00053
0.00053
0.00328
4.03E-
4.03E-
-2.6E-
97
97
26
5
5
3
07
07
08
-
-
-
-
0.0005345
0.0005345
0.0032830
0.00053
0.00053
0.00328
-4.03E-
4.03E-
-2.6E-
97
97
26
5
5
3
07
07
08
5
6
-
-
63
63
0.0066440
5
5
0.00664
1 -
12
07
07
4
-
-
-
0.0002648
0.0002648
0.0066440
0.00026
0.00026
0.00664
1.37E-
-1.37E-
63
63
1
5
5
4
07
07
-1E-08
Tabel IV.8 Beda Absolut Reaksi Tumpuan titik
program MATLAB6
SAP2000
BEDA ABSOLUT
Rx
Ry
Rz
Rx
Ry
Rz
Rx
Ry
Rz
kg
kg
kg
kg
kg
kg
kg
kg
kg
1
106.49133
106.49133
750.00000
106.49
106.49
750
0.00133
0.00133
0
2
-106.49133
106.49133
750.00000
-106.49
106.49
750 -0.00133
0.00133
0
Text
Kg
Kg
Kg
Kg
Kg
Kg
Kg
Kg
Kg
1
324.03469
0
0
-324.03
0
0
648.06469
0
0
1
-324.03469
0
0
-324.03
0
0
-0.00469
0
0
2
324.03469
0
0
-324.03
0
0
648.06469
0
0
2
-324.03469
0
0
-324.03
0
0
-0.00469
0
0
3
324.03469
0
0
-324.03
0
0
648.06469
0
0
3
-324.03469
0
0
-324.03
0
0
-0.00469
0
0
4
324.03469
0
0
-324.03
0
0
648.06469
0
0
4
-324.03469
0
0
-324.03
0
0
-0.00469
0
0
5
238.12185
0
0
-238.12
0
0
476.24185
0
0
5
-238.12185
0
0
-238.12
0
0
-0.00185
0
0
6
238.12185
0
0
-238.12
0
0
476.24185
0
0
12
238.12185
0
0
-238.12
0
0
476.24185
0
0
12
-238.12185
0
0
-238.12
0
0
-0.00185
0
0
13
-211.05906
0
0
211.06
0
0
-422.11906
0
0
13
211.05906
0
0
211.06
0
0
-0.00094
0
0
14
-211.05906
0
0
211.06
0
0
-422.11906
0
0
14
211.05906
0
0
211.06
0
0
-0.00094
0
0
15
-211.05906
0
0
211.06
0
0
-422.11906
0
0
15
211.05906
0
0
211.06
0
0
-0.00094
0
0
16
-211.05906
0
0
211.06
0
0
-422.11906
0
0
16
211.05906
0
0
211.06
0
0
-0.00094
0
0
17
331.72906
0
0
-331.73
0
0
663.45906
0
0
17
-331.72906
0
0
-331.73
0
0
0.00094
0
0
23
-233.82057
0
0
-233.82
0
0
-0.00057
0
0
24
233.82057
0
0
-233.82
0
0
467.64057
0
0
24
-233.82057
0
0
-233.82
0
0
-0.00057
0
0
25
233.82057
0
0
-233.82
0
0
467.64057
0
0
25
-233.82057
0
0
-233.82
0
0
-0.00057
0
0
26
233.82057
0
0
-233.82
0
0
467.64057
0
0
26
-233.82057
0
0
-233.82
0
0
-0.00057
0
0
27
233.82057
0
0
-233.82
0
0
467.64057
0
0
27
-233.82057
0
0
-233.82
0
0
-0.00057
0
0
28
233.82057
0
0
-233.82
0
0
467.64057
0
0
28
-233.82057
0
0
-233.82
0
0
-0.00057
0
0
29
-104.56774
0
0
104.57
0
0
-209.13774
0
0
+
•
1
2
+
-
1
2
-
2
+
-
1
2
-
Pada perhitungan SAP2000
+
1
Hal ini menyebabkan besar gaya batang pada hasil matlab bernilai positif dan pada hasil SAP2000 bernilai negatif, begitu juga sebaliknya pada hasil Matlab bernilai negatif dan pada hasil SAP2000 bernilai positif.
1. Data yang diinput ke program MATLAB harus sesuai dengan ketentuan yang telah
dibuat, bila input data tidak sesuai dengan ketentuan, maka program tidak dapat dijalankan ataupun hasil yang keluar tidak benar. 2. Dalam tugas akhir ini dibuat suatu verifikasi program yang digunakan untuk
membandingkan hasil-hasil yang
didapat dari program MATLAB dan program
SAP2000 berupa perpindahan titik (joint displacement) dan reaksi tumpuan (joint reaction) dan gaya batang (element force). Perpindahan titik yang didapat dari program MATLAB untuk titik 1, 2, 3, dan 4 hasilnya adalah nol begitu juga dengan yang didapat dengan menggunakan program SAP2000, hal ini karena titik 1, 2, 3 dan 4 merupakan titik tumpuan sehingga tidak terjadi perpindahan titik. Jika kita mengambil titik yang lain, misalnya titik 10 pada program MATLAB perpindahannya sebesar 0,000264863 dan pada program SAP2000 perpindahannya sebesar 0,000265. Jadi pada titik 10 beda
4. Dalam menentukan besar gaya batang yang bekerja terdapat perbedaan penentuan arah
batang antara MATLAB dengan SAP2000. Hal ini menyebabkan terdapaat perbedaan tanda. 5. Di lampiran dari tugas akhir ini, penulis melampirkan secara keseluruhan listung
program dalam program MATLAB, sehingga struktur program dapat lebih mudah dipahami dan dapat menjalankan program ini khusunya untuk menghitung struktur rangka ruang. 6. Gaya yang terjadi pada tumpuan menara air yang menahan beban sebesar 3 ton dan
ditumpu ke 4 titik yang berbentuk bujur sangkar adalah sebesar 750 kg pada setiap masing-masing titik. Batang yang menahan gaya paling besar adalah batang nomor 17, 18, 19 dan 20 yaitu sebesar 331,72906 kg . Titik yang mengalami perpindahan yang paling besar adalah titik 9, 10, 11 dan 12 yaitu sebesar 0.00664401 cm.
M,. Firdaus Alkaff, Matlab 6 untuk Teknik Sipil, penerbit Maxikom, 2004.
Handi Pramono, Struktur 2D dan 3D dengan SAP2000, penerbit Maxikom, 2004.
Robert D. Cook, Konsep dan Aplikasi Metode Elemen Hingga, PT. Eresco, Bandung, 1990.
William Weaver Jr and Paul R Johnston, Finite Elements for Structural Analysis, Prentice Hall N.J. Stanford University, 1984.
Delores M. Etter, David Kuncicky and Doug Hull, Pengantar MATLAB 6, Prentice Hall N.J. Stanford University, 2002.
Handi Pramono, Desain Konstruksi Plat dan Rangka Beton Bertulang dengan SAP2000, penerbit ANDI, 2007.
1.LISTING PROGRAM MATLAB A. Fungsi Extract function[Aex,Bex,Cex]=extract(K,index) m=size(K,1); ind=zeros(m,m);Aex=zeros(m*m,1);Bex=Aex;Cex=Aex; for i=1:m; ind(i,:)=index; end; for i=1:m; for j=1:m; im=j+m*(i-1); Aex(im)=K(i,j);
function[A]=assembly; load scratch_file.txt; tA=scratch_file; clear scratch_file; m=max(tA(:,2)); A=zeros(m,m); %B=zeros(size(tA)) B=A;C=A; for i=1:length(tA); C=A; B(tA(i,2),tA(i,3))=tA(i,1); A(tA(i,2),tA(i,3))=B(tA(i,2),tA(i,3))+C(tA(i,2),tA(i,3)); end; delete scratch_file.txt;
case{'p3d','P3D'}; nd=6; % untuk portal 3d end; dof=zeros(n,nd+1); index=zeros(m,nd*2); switch type; case{'t2d','T2D'}; for ii=1:n; i=coord(ii,1); %
J
dof(ii,:)=[i
2*i-1 2*i];
end;
J1
J2
J3
%
J
J1
J2
dof(ii,:)=[i
3*i-2 3*i-1
J3 3*i];
end;
for ii=1:m; %
J J1 J2 J3
K K1 K2 K3
index(ii,:)=[dof(element(ii,2),2:4)... dof(element(ii,3),2:4)]; end;
case {'p3d','P3D'};
D. Fungsi Idata
function[IR,IF,Support]=ldata(Support,dof);
% Menentukan besar ukuran mtriks [id,jd]=size(dof); Support=sortrows(Support,1); Restraint=zeros(id,jd); Restraint(:,1)=dof(:,1);
% Check titik sebagai tumpuan atau tidak i=ismember(Restraint(:,1),Support(:,1));
iR1=find(iR==1); IF=sort(iD(iR0)); IR=sort(iD(iR1));
E. Fungsi analysis_result
function[DF,AR,AM]=analysis_result(element,dof,index,... IF,IR,S,SmS,JL,AML,RT,Support,type) clear Sff Srf;
ndof=length([IF IR]); % mencari jumlah derajat kebebasan
AJ(dof(JL(i),3))=JL(i,3); case{'p2d','P2D','t3d','T3D'}; AJ=zeros(1,ndof); AJ(dof(JL(i),2))=JL(i,2); AJ(dof(JL(i),3))=JL(i,3); AJ(dof(JL(i),4))=JL(i,4); case{'p3d','P3D'}; AJ(dof(JL(i),2))=JL(i,2); AJ(dof(JL(i),3))=JL(i,3); AJ(dof(JL(i),4))=JL(i,4); AJ(dof(JL(i),5))=JL(i,5); AJ(dof(JL(i),6))=JL(i,6);
switch type; case {'t2d','T2D'}; AMLi=[AMLT(1,i);AMLT(2,i);AMLT(3,i);AMLT(4,i)]; case {'p2d','P2D','t3d','T3D'}; AMLi=[AMLT(1,i);AMLT(2,i);AMLT(3,i); AMLT(4,i);AMLT(5,i);AMLT(6,i)]; case {'p3d','P3D'}; AMLi=[AMLT(1,i);AMLT(2,i);AMLT(3,i); AMLT(4,i);AMLT(5,i);AMLT(6,i); AMLT(7,i);AMLT(8,i);AMLT(9,i); AMLT(10,i);AMLT(11,i);AMLT(12,i)]; end;
Dj(IF)=DF;
for i=1:size(element,1); DM=RT(:,:,i)*Dj(index(i,:))'; AM(:,i)=AML(i,:)'+SmS(:,:,i)*DM; end;
AM=AM.';
F. Fungsi print_result
end; for i=1:size(Support,1); ii=find(reaction(:,1)==Support(i,1)); support_reaction(i,:)=reaction(ii,:); end; % Print perpindahan titik untuk semua dof joint_disp=zeros(size(dof)); joint_disp(:,1)=dof(:,1); bb=ismember (dof,IF); ii=find(bb==1); for i=1:size(DF,1); [ii,jj]=find(dof(:,2:jd)==IF(i));
fprintf('%5.0f %12.4f %12.4f\n',support_reaction.');
% Print Gaya Batang beam_endforces=[element(:,1) AM]; disp(' '); disp('TABEL GAYA BATANG'); disp('Batang
Fx1
Fy1
Fx2
Fy2 ');
fprintf('%5.0f %12.4f %12.4f %12.4f %12.4f\n',beam_endforces.'); case {'t3d','T3D'}; disp(' '); disp(' '); disp('
____________________________________
');
disp(' __|======================================================|__ '); disp(' disp(' disp(' disp('
TABEL PERPINDAHAN TITIK
');
***-------------------------start--------------------------***'); Titik
Dx
Dy
Dz
');
***--------------------------------------------------------***');
disp(' '); fprintf('
***%3.0f %15.9f %15.9f %15.9f ***\n', joint_disp.' );
disp(' '); disp('
***--------------------------------------------------------***');
disp(' ___/=========================end==========================\___');
disp('
***-----------------------------------------------------------***');
disp(' '); fprintf('
***%3.0f
%15.5f
%15.5f
%15.5f
***\n',support_reaction.'); disp(' '); disp('
***-----------------------------------------------------------***');
disp(' ___/===========================end===========================\___'); disp(' '); disp(' '); disp(' '); disp(' ');
disp(' Fz2
Batang
Fx1
Fy1
Fz1
Fx2
Fy2
');
disp('
***------------------------------------------------------------------------------------------------
----------------------***'); disp(' '); fprintf('
***%5.0f %15.5f
%15.5f
%15.5f
%15.5f
%15.5f %15.5f
***\n',beam_endforces.'); disp(' '); disp('
***------------------------------------------------------------------------------------------------
----------------------***'); disp(' ___/=========================================================end======
disp('TABEL REAKSI PERLETAKAN'); disp('Titik
Rx
Ry
Rz');
fprintf('%5.0f %12.4f %12.4f %12.4f\n',support_reaction.');
% Print Gaya Batang beam_endforces=[element(:,1) AM]; disp(' '); disp('TABEL GAYA BATANG'); disp('Batang
Fx1 Fy1
Fz1
Fx2
Fy2
Fz2');
fprintf('%5.0f %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f\n',beam_endforces.'); case {'p3d','P3D'}; disp(' ');
disp('TABEL GAYA BATANG'); disp('Batang Fz2
Mx2
fprintf('% %12.4f
Fx1
Fy1
My2
Mz2')
5.0f
%12.4f
%12.4f %12.4f
end;
G. Fungsi t3d_stiff
Fz1
%12.4f
%12.4f
Mx1
%12.4f
My1
%12.4f
Mz1
%12.4f
%12.4f\n',beam_endforces.');
Fx2
%12.4f
Fy2
%12.4f
Yk=Xj; joint=coord(:,1); for i=1:m; ij=find(Joint==element(i,2)); ik=find(Joint==element(i,3)); Xj(i)=coord(ij,2); Xk(i)=coord(ik,2); Yj(i)=coord(ij,3); Yk(i)=coord(ik,3); Zj(i)=coord(ij,4); Zk(i)=coord(ik,4); end;
for i=1:m; if Cxz(i)<0.001;% jika elemen tegak R=[0
Cy(i) 0;
-Cy(i) 0 0
0
0; 1];
else; % jika batang miring R=[Cx(i)
Cy(i)
Cz(i);
-Cx(i)*Cy(i)/Cxz(i) Cxz(i) -Cy(i)*Cz(i)/Cxz(i); -Cz(i)/Cxz(i)
0
Cx(i)/Cxz(i)];
end; RT(:,:,i)=[R zeros(3,3); zeros(3,3) R]; % Matriks rotasi
SmS(:,:,4) =
98700
0
0
-98700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98700
0
0
98700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SmS(:,:,6) =
1.0e+004 *
8.8280
0
0
-8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8.8280
0
0
8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SmS(:,:,8) =
1.0e+004 *
8.8280
0
0
-8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8.8280
0
0
8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8.8280
0
0
-8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SmS(:,:,10) =
1.0e+004 *
0
0
0
0
0
0
-8.8280
0
0
8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8.8280
0
0
-8.8280
0
0
0
0
0
0
0
0
SmS(:,:,12) =
1.0e+004 *
0
0
0
0
0
0
197400
0
0
-197400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-197400
0
0
197400
0
0
SmS(:,:,14) =
0
0
0
0
0
0
197400
0
0
-197400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-197400
0
0
197400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SmS(:,:,16) =
SmS(:,:,18) =
98700
0
0
-98700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98700
0
0
98700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SmS(:,:,20) =
98700
0
0
-98700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98700
0
0
98700
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SmS(:,:,21) =
SmS(:,:,22) =
1.0e+004 *
8.8280
0
0
-8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8.8280
0
0
8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SmS(:,:,24) =
1.0e+004 *
8.8280
0
0
-8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8.8280
0
0
8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
SmS(:,:,26) =
1.0e+004 *
8.8280
0
0
-8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8.8280
0
0
8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8.8280
0
0
-8.8280
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8.8280
0
0
8.8280
0
0
SmS(:,:,28) =
1.0e+004 *
SmS(:,:,30) =
197400
0
0
-197400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-197400
0
0
197400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
197400
0
0
-197400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-197400
0
0
197400
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bentuk matriks kekakuan
AC =
0
0
DF =
-0.0005 -0.0005 -0.0033 0.0005 -0.0005 -0.0033 0.0005
-750
0
0
-750
0
0
-750
0
0
-750
0.0003 -0.0066 -0.0003 0.0003 -0.0066
AR =
106.4913 106.4913 750 -106.4913
-
324.0347
0
0
0
0
0
0
0
0
0
0
0
0
0
0
324.0347 -
324.0347
0
0 324.0347 -
324.0347
0
0 324.0347 -
238.1218
0
0 238.1218 -
238.1218
0
0 238.1218 -
238.1218
0
0
-211.0591
0
0
211.0591
0
0
-211.0591
0
0
211.0591
0
0
-211.0591
0
0
211.0591
0
0
-211.0591
0
0
211.0591
0
0
0
0
0
0
0
0
0
0
-
331.7291
0
0 331.7291 -
331.7291
0
0 331.7291 -
331.7291
0
0 331.7291 -
331.7291
0
0
-
233.8206
0
0
0
0
0
0
0
0
233.8206 -
233.8206
0
0 233.8206 -
233.8206
0
0 233.8206
-104.5677
0
0
104.5677
0
0
-104.5677
0
0
104.5677
0
0
-104.5677
0
0
104.5677
0
0
-104.5677
0
0
104.5677
0
0
_____________________o----=o=----o______________________ __|======================================================|__ TABEL PERPINDAHAN TITIK titik
Dx
Dy
Dz
cm
cm
cm
1
0.000000000
0.000000000
0.000000000
2
0.000000000
0.000000000
0.000000000
3
0.000000000
0.000000000
0.000000000
4
0.000000000
0.000000000
0.000000000
5
-0.000534597
-0.000534597
-0.003283026
6
0.000534597
-0.000534597
-0.003283026
kg
kg
kg
1
106.49133
106.49133
750.00000
2
-106.49133
106.49133
750.00000
3
-106.49133
-106.49133
750.00000
4
106.49133
-106.49133
750.00000
_____________________________________________________o----=o=---o____________________________________________________ ___|=============================================================================== =====================================|___ TABEL GAYA BATANG titik
Fy1
Fx1
Fz1
Fy2
Fx2
Fz2
Kg
Kg
Kg
Kg
Kg
Kg
12
238.12185
0
0
-238.12185
0
0
13
-211.05906
0
0
211.05906
0
0
14
-211.05906
0
0
211.05906
0
0
15
-211.05906
0
0
211.05906
0
0
16
-211.05906
0
0
211.05906
0
0
17
331.72906
0
0
-331.72906
0
0
18
331.72906
0
0
-331.72906
0
0
19
331.72906
0
0
-331.72906
0
0
20
331.72906
0
0
-331.72906
0
0
21
233.82057
0
0
-233.82057
0
0
22
233.82057
0
0
-233.82057
0
0
23
233.82057
0
0
-233.82057
0
0
___/=========================================================end=================== =====================================\___ _____________________________________________________________________________________________ _______________________________ >>
31
31
31