http://air.eng.ui.ac.id/api.php?action=feedcontributions&user=Muhammad+Afdhal+Pradisto&feedformat=atomccitonlinewiki - User contributions [en]2024-03-28T10:56:36ZUser contributionsMediaWiki 1.30.0http://air.eng.ui.ac.id/index.php?title=Valve-Muhammad_Afdhal_Pradisto&diff=56918Valve-Muhammad Afdhal Pradisto2021-01-18T17:26:28Z<p>Muhammad Afdhal Pradisto: /* UAS */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ <br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
<br />
== Pertemuan 1: 12 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan pertama ini, Pak Dai menjelaskan tentang penggunaan aplikasi yang bisa mempermudah kita dalam memahami mata kuliah Sistem Fluida ini. Pak Dai menjelaskan tentang pressure drop yang terjadi pada valve yang dialiri oleh suatu fluida dengan menggunakan aplikasi CFDSOF. Lalu kita diminta untuk mencoba aplikasi CFDSOF untuk mencari pressure drop yang ada.<br />
<br />
<br />
=== Tugas 1 ===<br />
<br />
Tugas 1 ini menggunakan valve dengan gate terbuka semua. Saya belajar dari tutorial yang ada di youtube yang terdiri dari 3 part.<br />
<br />
https://www.youtube.com/watch?v=RANhtK5u5W0 (Part 1)<br />
<br />
https://www.youtube.com/watch?v=qpumUG0veRs (Part 2)<br />
<br />
https://www.youtube.com/watch?v=54OqQL1BIY0 (Part 3)<br />
<br />
Dan saya menggunakan valve yang sudah disediakan pada description di video tersebut.<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan pertama saya menggunakan CFDSOF.<br />
<br />
[[File:Valveafdhal1.png|600px|center]]<br />
<br />
[[File:Valveafdhal2.png|600px|center]]<br />
<br />
[[File:Valveafdhal3.png|600px|center]]<br />
<br />
[[File:Valveafdhal4.png|600px|center]]<br />
<br />
<br />
Jika membandingkan percobaan pertama yang saya lakukan dengan hasil yang ada pada video di youtube, tampaknya saya melakukan kesalahan karena hasilnya berbeda. Dibawah ini adalah hasil screenshot dari percobaan kedua saya.<br />
<br />
[[File:Valveafdhal5.png|600px|center]]<br />
<br />
[[File:Valveafdhal6.png|600px|center]]<br />
<br />
[[File:Valveafdhal7.png|600px|center]]<br />
<br />
[[File:Valveafdhal8.png|600px|center]]<br />
<br />
Pressure drop merupakan selisih dari preessure total inlet dan pressure total outlet. Dan pressure drop yang saya dapat adalah 0.000715978<br />
<br />
== Pertemuan 2: 19 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan kedua ini, kami berdiskusi dengan Pak Dai dan juga dengan senior kami dari kelas CFD. Kami membahas tentang metode dalam menganalisis sistem fluida.<br />
<br />
[[File:pertemuan2afdhal.png|600px|center]]<br />
<br />
Pak Dai menjelaska ada 3 metode dalam menganalisis Sistem Fluida yaitu eksperimen, CFD, dan teori. Ketiga metode tersebut saling melengkapi.<br />
<br />
Eksperimen : Melakukan eksperimen atau uji secara langssung<br />
<br />
CFD : Menggunakan aplikasi CFD untuk mempermudah simulasi percobaan<br />
<br />
Teori : Menggunakan teori-teori untuk memverifikasi data yang didapat seperti segitiga kecepatan<br />
<br />
<br />
=== Tugas 2 ===<br />
<br />
Pak Dai memberikan tugas simulasi sistem fluida menggunakan aplikasi OpenModelica. Saya menggunakan Tank yang ada pada fitur Examples yang ada didalam aplikasi tersebut.<br />
<br />
<br />
[[File:modelicaafdhal1.png|600px|center]]<br />
<br />
[[File:modelicaafdhal2.png|600px|center]]<br />
<br />
[[File:modelicaafdhal3.png|600px|center]]<br />
<br />
[[File:modelicaafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 3: 26 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan menanyakan pendapat kepada mahasiswa kelas Sistem Fluida 03 tentang definisi dari pemodelan sistem fluida. Lalu Pak Dai menjelaskan apa definisi dari pemodelan sistem fluida tersebut.<br />
<br />
Filosofi pemodelan fluida adalah sebuah usaha untuk mempelajari sebuah sistem aktual melalui sebuah sistem yang disimplifikasi. Sebuah model ini adalah sebuah sistem yang disederhanakan yang bertujuan untuk mempresentasikan kondisi sebenarnya. Permodelan tersebut akan sangat kita perlukan karena kita akan kesulitan menghadapi kondisi aktual yang memiliki kondisi yang kompleks seperti skala yang besar, temperatur yang tidak teratur, dan lain lain. Contohnya pembangkit listrik seperti PLTA atau PLTU. Maka dari itu kita mmembutuhkan sebuah sistem yang bisa menyederhanakannya. Pemodelan itu seperti membuat replika dari kondisi yang sebenarnya. Sistem itu juga akan mempermudah kita untuk mempelajari sistem fluida jika ada perubahan-perubahan pada nilai variabel dari model tersebut.<br />
<br />
Model tersebut dibagi 2 jenis.<br />
<br />
Model Fisik : membuat pemodelan dari alatnya itu sendiri<br />
<br />
Model Virtual : membuat pemodelan secara komputasi atau menggunakan komputer, memerlukan sistem fisika atau ilmu dasar seperti prinsip prinsip fluida<br />
<br />
Sebuah sistem fisik berusaha menerjemahkan dalam bentuk model, dan model itu harus didefinisikan seperti menjadi variabel-variabel apa yang terlibat dalam model tersebut, hubungan antara variabel, dan analisis terhadap hukum fisikanya.<br />
<br />
Setelah itu Pak Hariyo melakukan simulasi menggunakan aplikasi OpenModelica tentang Two Tanks yaitu sistem fluida yang berbentuk horizontal dan Empty Tank yang berbentuk vertikal. Dan juga Simple Cooling.<br />
<br />
<br />
[[File:sisfluafdhal1.png|600px|center]]<br />
<br />
<br />
[[File:sisfluafdhal2.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3 ===<br />
<br />
<br />
Analisas Pemodelan Heating System :<br />
<br />
[[File:sisfluafdhal3.png|600px|center]]<br />
<br />
<br />
1. Deskripsi/uraian fisik berdasarkan bagan yang ada<br />
<br />
Sistem berikut merupakan sistem pemanas dengan siklus aliran hidup. <br />
<br />
2. Prosedur analisa pemodelan<br />
<br />
Pertama kita harus memastikan coding yang bisa dilihat pada Text View. Kita memastikan juga apakah codingan itu sudah memiliki persamaan dan variabel yang sudah benar dengan cara klik logo ceklis satu atau check model. Setelah itu kita simulasi permodelan tersebut dan mendapatkan grafik dari setiap variabel yang ada. <br />
<br />
3. Analisa dan Interpretasi Hasil Pemodelan<br />
<br />
Aliran berawal dari tanki yang setelah itu dipompa menuju sistem pemanas. Aliran akan melalui sensor untuk menghitung laju perpindahan massa. Setelah melewati sistem pemanas, temperatur aliran akan diukur dengan sensor temperatur. Lalu aliran melaju melewati pipa dan disitu terjadi perpindahan kalor dan massa antara dalam pipa dan ambient. Aliran fluida terhenti di valve yang dikontrol. Lalu aliran melaju kembali menuju tangki. Selama proses dari pemanas hingga mencapai tangki, terjadi perpindahan kalor dan massa sepanjang pipa.<br />
<br />
4. Catatan konsep utama hukum fisika yang diimplementasikan dalam pemodelan<br />
<br />
Konsep utama hukum yang digunakan dalam pemodelan adalah:<br />
<br />
- Hukum konservasi energi<br />
<br />
- Hukum konservasi massa<br />
<br />
- Hukum konservasi momentum<br />
<br />
- Hukum Termodinamika 1<br />
<br />
5. Berikan hasil-hasil simulasi parameter untuk mendukung kesimpulan yang diperoleh<br />
<br />
Setelah saya coba simulasi, ternyata terjadi error pada simulasi tersebut. Error tersebut seperti pada gambar dibawah ini. Jadi grafik untuk sistem ini tidak muncul karena error tersebut dan saya belum paham apa yang membuat pemodelan sistem ini error.<br />
<br />
[[File:sisfluafdhal6.png|600px|center]]<br />
<br />
<br />
<br />
Analisa Pemodelan Three Tanks :<br />
<br />
[[File:sisfluafdhal4.png|600px|center]]<br />
<br />
<br />
1. Deskripsi/uraian fisik berdasarkan bagan yang ada<br />
<br />
Pada gambar diatas terdapat 3 tanki yang berhubungan dengan 3 pipa dan memiliki ketinggian air yang berbeda juga. Air dari tanki 1 akan mengisi tanki 2 dan tanki 3. Pada pemodelan ini saya bisa menganalisis perpindahan air darir tanki 1 ke tanki 2 dan tanki 3.<br />
<br />
2. Prosedur analisa pemodelan<br />
<br />
Pertama kita harus memastikan coding yang bisa dilihat pada Text View. Kita memastikan juga apakah codingan itu sudah memiliki persamaan dan variabel yang sudah benar dengan cara klik logo ceklis satu atau check model. Setelah itu kita simulasi permodelan tersebut dan mendapatkan grafik dari setiap variabel yang ada.<br />
<br />
3. Analisa dan Interpretasi Hasil Pemodelan<br />
<br />
Fluida yang digunakan dari sistem Three Tanks adalah air. Kondisi awal menunjukan bahwa ketinggian fluida dari tiap tanki berbeda. Tanki dengan volume yang lebih besar memiliki tekanan yang lebih tinggi karena massa fluidanya juga besar. Hal itu yang menyebabkan fluida dari tanki 1 akan berpindah ke tanki lainnya sampai keadaan titik seimbang.<br />
<br />
4. Catatan konsep utama hukum fisika yang diimplementasikan dalam pemodelan<br />
<br />
Konsep utama hukum yang digunakan dalam pemodelan adalah :<br />
<br />
- Hukum II Newton -> dikembangkan menjadi persamaan pressure drop<br />
<br />
- Mass balance equation<br />
<br />
5. Berikan hasil-hasil simulasi parameter untuk mendukung kesimpulan yang diperoleh<br />
<br />
Setelah disimulasi, maka akan didapatkan grafik dari hasil simulasi tersebut seperti yang ada dibawah ini.<br />
<br />
[[File:sisfluafdhal5.png|600px|center]]<br />
<br />
Grafik ini menunjukan ketinggian level fluida dari tiap tanki per satuan waktu. Dapat dilihat ketinggian tanki 1 semakin menurun karena adanya perpindahan fluida ke tanki lainnya. Sedangkan tanki 2 dan 3 mengalami kenaikan level ketinggian fluida karena mendapatkan fluida dari tanki 1 sehingga mencapai titik seimbang.<br />
<br />
<br />
<br />
<br />
== Pertemuan 4: 3 Desember 2020 ==<br />
<br />
=== Tugas 4 ===<br />
<br />
<br />
Soal :<br />
<br />
<br />
[[File:sisfluafdhal7.png|600px|center]]<br />
<br />
<br />
'''1. Bagaimanakah analisa termodinamika (konservasi massa dan energi) pada sistem tersebut, buat skematik analisisnya.'''<br />
<br />
<br />
Model Combined Cycle Power Plant digunakan untuk mensimulasikan reduksi beban berlangkah pada power generator dari 100% menjadi 50% dalam waktu 800 detik.<br />
<br />
Pada simulasi ini terdapat 2 sistem yaitu gas turbin dan steam turbin. Dibawah ini merupakan penejelasan dari kedua sistem tersebut.<br />
<br />
<br />
<br />
'''a. Gas Turbin'''<br />
<br />
<br />
Komponen :<br />
<br />
<br />
* Air Compressor : meningkatkan tekanan udara yang di alirkan menuju combustion chamber<br />
<br />
* Combusition Chamber : Tempat dimana bahan bakar bersatu dengan udara dan melakukan kontak dengan busi, campuran tersebut dibakar dan didorong keluar dari Combusition Chamber dalam bentuk energi.<br />
<br />
* Turbine : Gas panas yang memiliki temperature dan pressure tinggi diteruskan ke turbin untuk memutarkan turbin. Hasil dari turbin ada dua. Yaitu power yang nantinya akan diteruskan ke altenator generator dan udara panas hasil dari turbin gas yang akan diteruskan ke Heat Recovery Steam Generator. Gas Turbine yang berputar akibat dari panas yang di hasilkan pada combustiom chamber yang di aliri oleh nozzle menuju turbin. <br />
<br />
Siklus yang terjadi dalam gas turbine adalah siklus rankine.<br />
<br />
[[File:sisfluafdhalsiklusrankine.png|600px|center]]<br />
<br />
<br />
'''b. Steam Turbin'''<br />
<br />
<br />
Komponen :<br />
<br />
<br />
* Heat Recovery Steam Generator (HRSG) : menangkap gas buangan dari gas turbin yang jika tidak dipasang, dapat keluar melalui saluran pembuangan. HRSG berguna untuk memanaskan kembali uap pembuangan dari gas turbin untuk dialiri ke turbin, yang dimana turbin 2 bertugas memutar generator untuk menghasilkan suatu energi.<br />
<br />
* Aliran steam ini kemudian melewati steam Turbin, sehingga membuat steam turbin berputar dan menggerakkan generator drive shaft. Generator drive shaft ini kemudian mengubah sisa energi buangan Hasil buangan dari turbin dialirkan menuju kondesor untuk merubah sifat dari uap menjadi cair agar dapat didorong oleh pompa menuju HRSG untuk dipanaskan Kembali.<br />
<br />
Siklus yang terjadi pada proses ini adalah siklus bryton.<br />
<br />
[[File:sisfluafdhalsiklusbryton.png|600px|center]]<br />
<br />
<br />
<br />
'''2. Lakukan identifikasi komponen-komponen utama pada sistem serta berilah deskripsi fungsi kerjanya dalam sistem dan penjelasan analisis parameter yang digunakan.'''<br />
<br />
<br />
Terdapat 2 bagian sistem pembangkit yaitu Gas Turbin dan juga Steam Turbin.<br />
<br />
'''2.1. Steam Turbin'''<br />
<br />
'''a. Condensor'''<br />
<br />
Bisa mengubah fasa uap panas menjadi liquid<br />
<br />
[[File:sisfluafdhalcondensor.png|600px|center]]<br />
<br />
<br />
'''b. Drum'''<br />
<br />
[[File:sisfluafdhaldrum.png|600px|center]]<br />
<br />
<br />
'''c. Generator'''<br />
<br />
Didalam generator bisa mengubah energi mekanik menjadi energi listrik.<br />
<br />
[[File:sisfluafdhalgenerator.png|600px|center]]<br />
<br />
<br />
Ada juga beberapa jenis dari Heat Exchanger :<br />
<br />
<br />
* SuperHeater<br />
<br />
[[File:sisfluafdhalsuperheater.png|600px|center]]<br />
<br />
<br />
* Evaporator<br />
<br />
[[File:sisfluafdhalevaporator.png|600px|center]]<br />
<br />
<br />
* Economiser<br />
<br />
[[File:sisfluafdhaleconomiser.png|600px|center]]<br />
<br />
<br />
'''d. Turbin Uap'''<br />
<br />
Pada turbin uap ini, ada tiga jenis turbin seperti yang ada di sistem, yaitu high pressure, intermediate pressure, dan low pressure<br />
<br />
[[File:sisfluafdhalturbinuap.png|600px|center]]<br />
<br />
<br />
'''e. Valve'''<br />
<br />
Untuk mengatur laju aliran fluida<br />
<br />
[[File:sisfluafdhalvalve.png|600px|center]]<br />
<br />
<br />
'''f. Water Mixer'''<br />
<br />
Junction yang menghubungkan beberapa inlet dan menggabungkannya menjadi kurang dari atau sama dengan jumlah inlet.<br />
<br />
[[File:sisfluafdhalwatermixer.png|600px|center]]<br />
<br />
<br />
'''g. Water Splitter'''<br />
<br />
Junction yang menghubungkan 1 atau 2 inlet dan memecahnya menjadi lebih dari atau sama dengan jumlah inlet pada outlet.<br />
<br />
[[File:sisfluafdhalwatersplitter.png|600px|center]]<br />
<br />
<br />
'''2.2. Gas Turbin'''<br />
<br />
Berikut merupakan perincian dari turbin gas yang didapat dari ThermoSysPro.FlueGases.TAC.GasTurbine<br />
<br />
[[File:sisfluafdhalgasturbin.png|600px|center]]<br />
<br />
<br />
'''a. Compressor'''<br />
<br />
[[File:sisfluafdhalcompressor.png|600px|center]]<br />
<br />
<br />
'''b. Turbin Gas'''<br />
<br />
Udara di turbin gas mengalami peningkatan tekanan dan temperatur akibat proses pembakaran yang terjadi. Udara panas tersebut kemudian digunakan untuk menggerakkan turbin gas tersebut.<br />
<br />
[[File:sisfluafdhalturbingas.png|600px|center]]<br />
<br />
'''c. Combustion Chamber'''<br />
<br />
[[File:sisfluafdhalcombustionchamber.png|600px|center]]<br />
<br />
<br />
<br />
'''3. Medium fluida kerja apa saja yang terjadi dalam proses siklus tersebut, dan bagaimanakah proses analisis perhitungan dalam pemodelan.'''<br />
<br />
<br />
Berikut merupakan medium fluida yang bekerja dalam proses siklus tersebut :<br />
<br />
* Turbin Gas (Menghasilkan kerja)<br />
<br />
* Turbin Uap (Menghasilkan kerja)<br />
<br />
* Pompa Sentrifugal (Membutuhkan kerja)<br />
<br />
* Kompresor (Membutuhkan kerja)<br />
<br />
Kemudian, pada Analisa perhitungannya dapat menggunakan hukum konservasi energi dan konservasi massa<br />
<br />
* Pada kompresor,pompa,turbin dan HRSG mengalami proses adiabatic,yang dimana proses adiabatik adalah proses yang tidak terjadi pergantian kalor dari sistem ke lingkungan ataupun sebaliknya.<br />
<br />
* Proses ini diasumsikan kondisi steady state dan energi kinetic potensial diabaikan<br />
<br />
<br />
<br />
'''4. Jelaskan flow line (jalur koneksi) masing-masing yang diberi warna hitam, merah, dan biru sesuai dengan interkoneksi yang diberikan dalam diagram tersebut.'''<br />
<br />
<br />
a. Jalur Hitam : Sebagai jalur energi keluar yang dimanfaatkan sebagai penggerak.<br />
<br />
b. Jalur Merah : Sebagai aliran fluida high temperature.<br />
<br />
c. Jalur Biru : Sebagai jalur fluida low temperature.<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 5: 10 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini Pak Dai memulai kelas dengan langsung melakukan simulasi OpenModelica bersama Pak Hariyo. Simulasi yang dipelajari adalah thermosyspro yang ada pada library di OpenModelica. Pertama, kami disuruh membuka model yang sudah tersedia pada library tersebut dan memahami setiap parameter yang ada dari tiap komponen. Setelah itu kami diminta untuk membuat ulang model tersebut atau remodel dari sistem itu agar parameter yang ada pada tiap komponen bisa diubah-ubah.<br />
<br />
Kami melakukan remodel dengan mencari masing-masing komponen yang dibutuhkan pada library. Lalu kami gabungkan tiap komponen dengan cara menarik garis dari setiap ujung panah komponen ke komponen lainnya. Setiap komponen masih belum memiliki parameter. Maka tiap komponen kami isi parameternya dengan mengikuti yang sudah ada pada sistem yang sudah jadi sebelumnya. Setelah itu kami check model untuk mengetahui apakah model yang kami buat sudah sama dengan yang ada pada examples.<br />
<br />
Pak Dai juga membahas mengenai tugas besar yang akan dikerjakan oleh mahasiswa. Mahasiswa diminta untuk memiliki bayangan bagaimana permodelan yang akan dibuat menganai pemipaan yang ada dalam pengolahan bahan bakar. Pak Dai juga meminta untuk membuat cabang pada permodelan tersebut sehingga ada valve yang bisa dianalisa menggunakan CFDSOF.<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 6: 17 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-6 ini, kelas Sisflu mengadakan Kuliah Tamu. Kami kedatangan seorang CEO PT. Indopower Internasional yaitu Dr.Ir. Harum Al Rosyid. Dalam pertemuan ini beliau menjelaskan mata kuliah sistem fluida ini dengan tema The Proven Combined-Cycle Power Plant in Indonesia.<br />
<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
'''Latar Belakang'''<br />
<br />
Latar belakang dari tugas besar ini adalah agar kita bisa memahami simulasi dari suatu sistem fluida. Simulasi ini dilakukan dengan menggunakan aplikasi CFDSOF dan OpenModelica. Menggunakan bantuan aplikasi tersebut untuk mempermudah kita untuk mengetahui keadaan asli dari sistem tersebut. Aplikasi tersebut bisa mempermudah kita dengan mengatur parameter-parameter yang ada dalam sistem tersebut. <br />
<br />
'''Tujuan'''<br />
<br />
Tujuan dari tugas besar ini merupakan sebagai penilaian Pak Dai untuk mengukur seberapa jauh pemahaman mahasiswa terhadap mata kuliah sistem fluida ini terutama dalam mengenai contoh-contoh simulasi sistem fluida.<br />
<br />
'''Metodologi'''<br />
<br />
Perancangan dari tugas besar ini dilakukan dengan simulasi metode CFD dengan aplikasi OpenModelica. Ketika simulasi sudah berhasil dan memenuhi pengecekan. Maka hasil simulasi akan diambil untuk dianalisis.<br />
<br />
'''Perencanaan'''<br />
<br />
1. Meriset kasus aliran fluida<br />
<br />
2. Mempelajari OpenModelica<br />
<br />
3. Membuat sketsa sistem fluida<br />
<br />
4. Proses pembuatan skema di OpenModelica<br />
<br />
5. Melakukan revisi dan perbaikan<br />
<br />
6. Penyelesaian tugas besar.<br />
<br />
<br />
[[File:sisfluafdhal20.png|600px|center]]<br />
<br />
<br />
[[File:sisfluafdhal21.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== UAS ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan jawaban UAS sistem fluida saya.<br />
<br />
'''No.1'''<br />
<br />
[[File:UASafdhalsisflu1.jpg|300px|center]]<br />
<br />
<br />
'''No.2'''<br />
<br />
[[File:UASafdhalsisflu2.jpg|300px|center]]<br />
<br />
<br />
'''No.3'''<br />
<br />
[[File:UASafdhalsisflu3.jpg|300px|center]]<br />
<br />
<br />
'''No.4'''<br />
<br />
[[File:UASafdhalsisflu4.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Valve-Muhammad_Afdhal_Pradisto&diff=56917Valve-Muhammad Afdhal Pradisto2021-01-18T17:25:42Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ <br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
<br />
== Pertemuan 1: 12 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan pertama ini, Pak Dai menjelaskan tentang penggunaan aplikasi yang bisa mempermudah kita dalam memahami mata kuliah Sistem Fluida ini. Pak Dai menjelaskan tentang pressure drop yang terjadi pada valve yang dialiri oleh suatu fluida dengan menggunakan aplikasi CFDSOF. Lalu kita diminta untuk mencoba aplikasi CFDSOF untuk mencari pressure drop yang ada.<br />
<br />
<br />
=== Tugas 1 ===<br />
<br />
Tugas 1 ini menggunakan valve dengan gate terbuka semua. Saya belajar dari tutorial yang ada di youtube yang terdiri dari 3 part.<br />
<br />
https://www.youtube.com/watch?v=RANhtK5u5W0 (Part 1)<br />
<br />
https://www.youtube.com/watch?v=qpumUG0veRs (Part 2)<br />
<br />
https://www.youtube.com/watch?v=54OqQL1BIY0 (Part 3)<br />
<br />
Dan saya menggunakan valve yang sudah disediakan pada description di video tersebut.<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan pertama saya menggunakan CFDSOF.<br />
<br />
[[File:Valveafdhal1.png|600px|center]]<br />
<br />
[[File:Valveafdhal2.png|600px|center]]<br />
<br />
[[File:Valveafdhal3.png|600px|center]]<br />
<br />
[[File:Valveafdhal4.png|600px|center]]<br />
<br />
<br />
Jika membandingkan percobaan pertama yang saya lakukan dengan hasil yang ada pada video di youtube, tampaknya saya melakukan kesalahan karena hasilnya berbeda. Dibawah ini adalah hasil screenshot dari percobaan kedua saya.<br />
<br />
[[File:Valveafdhal5.png|600px|center]]<br />
<br />
[[File:Valveafdhal6.png|600px|center]]<br />
<br />
[[File:Valveafdhal7.png|600px|center]]<br />
<br />
[[File:Valveafdhal8.png|600px|center]]<br />
<br />
Pressure drop merupakan selisih dari preessure total inlet dan pressure total outlet. Dan pressure drop yang saya dapat adalah 0.000715978<br />
<br />
== Pertemuan 2: 19 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan kedua ini, kami berdiskusi dengan Pak Dai dan juga dengan senior kami dari kelas CFD. Kami membahas tentang metode dalam menganalisis sistem fluida.<br />
<br />
[[File:pertemuan2afdhal.png|600px|center]]<br />
<br />
Pak Dai menjelaska ada 3 metode dalam menganalisis Sistem Fluida yaitu eksperimen, CFD, dan teori. Ketiga metode tersebut saling melengkapi.<br />
<br />
Eksperimen : Melakukan eksperimen atau uji secara langssung<br />
<br />
CFD : Menggunakan aplikasi CFD untuk mempermudah simulasi percobaan<br />
<br />
Teori : Menggunakan teori-teori untuk memverifikasi data yang didapat seperti segitiga kecepatan<br />
<br />
<br />
=== Tugas 2 ===<br />
<br />
Pak Dai memberikan tugas simulasi sistem fluida menggunakan aplikasi OpenModelica. Saya menggunakan Tank yang ada pada fitur Examples yang ada didalam aplikasi tersebut.<br />
<br />
<br />
[[File:modelicaafdhal1.png|600px|center]]<br />
<br />
[[File:modelicaafdhal2.png|600px|center]]<br />
<br />
[[File:modelicaafdhal3.png|600px|center]]<br />
<br />
[[File:modelicaafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 3: 26 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan menanyakan pendapat kepada mahasiswa kelas Sistem Fluida 03 tentang definisi dari pemodelan sistem fluida. Lalu Pak Dai menjelaskan apa definisi dari pemodelan sistem fluida tersebut.<br />
<br />
Filosofi pemodelan fluida adalah sebuah usaha untuk mempelajari sebuah sistem aktual melalui sebuah sistem yang disimplifikasi. Sebuah model ini adalah sebuah sistem yang disederhanakan yang bertujuan untuk mempresentasikan kondisi sebenarnya. Permodelan tersebut akan sangat kita perlukan karena kita akan kesulitan menghadapi kondisi aktual yang memiliki kondisi yang kompleks seperti skala yang besar, temperatur yang tidak teratur, dan lain lain. Contohnya pembangkit listrik seperti PLTA atau PLTU. Maka dari itu kita mmembutuhkan sebuah sistem yang bisa menyederhanakannya. Pemodelan itu seperti membuat replika dari kondisi yang sebenarnya. Sistem itu juga akan mempermudah kita untuk mempelajari sistem fluida jika ada perubahan-perubahan pada nilai variabel dari model tersebut.<br />
<br />
Model tersebut dibagi 2 jenis.<br />
<br />
Model Fisik : membuat pemodelan dari alatnya itu sendiri<br />
<br />
Model Virtual : membuat pemodelan secara komputasi atau menggunakan komputer, memerlukan sistem fisika atau ilmu dasar seperti prinsip prinsip fluida<br />
<br />
Sebuah sistem fisik berusaha menerjemahkan dalam bentuk model, dan model itu harus didefinisikan seperti menjadi variabel-variabel apa yang terlibat dalam model tersebut, hubungan antara variabel, dan analisis terhadap hukum fisikanya.<br />
<br />
Setelah itu Pak Hariyo melakukan simulasi menggunakan aplikasi OpenModelica tentang Two Tanks yaitu sistem fluida yang berbentuk horizontal dan Empty Tank yang berbentuk vertikal. Dan juga Simple Cooling.<br />
<br />
<br />
[[File:sisfluafdhal1.png|600px|center]]<br />
<br />
<br />
[[File:sisfluafdhal2.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3 ===<br />
<br />
<br />
Analisas Pemodelan Heating System :<br />
<br />
[[File:sisfluafdhal3.png|600px|center]]<br />
<br />
<br />
1. Deskripsi/uraian fisik berdasarkan bagan yang ada<br />
<br />
Sistem berikut merupakan sistem pemanas dengan siklus aliran hidup. <br />
<br />
2. Prosedur analisa pemodelan<br />
<br />
Pertama kita harus memastikan coding yang bisa dilihat pada Text View. Kita memastikan juga apakah codingan itu sudah memiliki persamaan dan variabel yang sudah benar dengan cara klik logo ceklis satu atau check model. Setelah itu kita simulasi permodelan tersebut dan mendapatkan grafik dari setiap variabel yang ada. <br />
<br />
3. Analisa dan Interpretasi Hasil Pemodelan<br />
<br />
Aliran berawal dari tanki yang setelah itu dipompa menuju sistem pemanas. Aliran akan melalui sensor untuk menghitung laju perpindahan massa. Setelah melewati sistem pemanas, temperatur aliran akan diukur dengan sensor temperatur. Lalu aliran melaju melewati pipa dan disitu terjadi perpindahan kalor dan massa antara dalam pipa dan ambient. Aliran fluida terhenti di valve yang dikontrol. Lalu aliran melaju kembali menuju tangki. Selama proses dari pemanas hingga mencapai tangki, terjadi perpindahan kalor dan massa sepanjang pipa.<br />
<br />
4. Catatan konsep utama hukum fisika yang diimplementasikan dalam pemodelan<br />
<br />
Konsep utama hukum yang digunakan dalam pemodelan adalah:<br />
<br />
- Hukum konservasi energi<br />
<br />
- Hukum konservasi massa<br />
<br />
- Hukum konservasi momentum<br />
<br />
- Hukum Termodinamika 1<br />
<br />
5. Berikan hasil-hasil simulasi parameter untuk mendukung kesimpulan yang diperoleh<br />
<br />
Setelah saya coba simulasi, ternyata terjadi error pada simulasi tersebut. Error tersebut seperti pada gambar dibawah ini. Jadi grafik untuk sistem ini tidak muncul karena error tersebut dan saya belum paham apa yang membuat pemodelan sistem ini error.<br />
<br />
[[File:sisfluafdhal6.png|600px|center]]<br />
<br />
<br />
<br />
Analisa Pemodelan Three Tanks :<br />
<br />
[[File:sisfluafdhal4.png|600px|center]]<br />
<br />
<br />
1. Deskripsi/uraian fisik berdasarkan bagan yang ada<br />
<br />
Pada gambar diatas terdapat 3 tanki yang berhubungan dengan 3 pipa dan memiliki ketinggian air yang berbeda juga. Air dari tanki 1 akan mengisi tanki 2 dan tanki 3. Pada pemodelan ini saya bisa menganalisis perpindahan air darir tanki 1 ke tanki 2 dan tanki 3.<br />
<br />
2. Prosedur analisa pemodelan<br />
<br />
Pertama kita harus memastikan coding yang bisa dilihat pada Text View. Kita memastikan juga apakah codingan itu sudah memiliki persamaan dan variabel yang sudah benar dengan cara klik logo ceklis satu atau check model. Setelah itu kita simulasi permodelan tersebut dan mendapatkan grafik dari setiap variabel yang ada.<br />
<br />
3. Analisa dan Interpretasi Hasil Pemodelan<br />
<br />
Fluida yang digunakan dari sistem Three Tanks adalah air. Kondisi awal menunjukan bahwa ketinggian fluida dari tiap tanki berbeda. Tanki dengan volume yang lebih besar memiliki tekanan yang lebih tinggi karena massa fluidanya juga besar. Hal itu yang menyebabkan fluida dari tanki 1 akan berpindah ke tanki lainnya sampai keadaan titik seimbang.<br />
<br />
4. Catatan konsep utama hukum fisika yang diimplementasikan dalam pemodelan<br />
<br />
Konsep utama hukum yang digunakan dalam pemodelan adalah :<br />
<br />
- Hukum II Newton -> dikembangkan menjadi persamaan pressure drop<br />
<br />
- Mass balance equation<br />
<br />
5. Berikan hasil-hasil simulasi parameter untuk mendukung kesimpulan yang diperoleh<br />
<br />
Setelah disimulasi, maka akan didapatkan grafik dari hasil simulasi tersebut seperti yang ada dibawah ini.<br />
<br />
[[File:sisfluafdhal5.png|600px|center]]<br />
<br />
Grafik ini menunjukan ketinggian level fluida dari tiap tanki per satuan waktu. Dapat dilihat ketinggian tanki 1 semakin menurun karena adanya perpindahan fluida ke tanki lainnya. Sedangkan tanki 2 dan 3 mengalami kenaikan level ketinggian fluida karena mendapatkan fluida dari tanki 1 sehingga mencapai titik seimbang.<br />
<br />
<br />
<br />
<br />
== Pertemuan 4: 3 Desember 2020 ==<br />
<br />
=== Tugas 4 ===<br />
<br />
<br />
Soal :<br />
<br />
<br />
[[File:sisfluafdhal7.png|600px|center]]<br />
<br />
<br />
'''1. Bagaimanakah analisa termodinamika (konservasi massa dan energi) pada sistem tersebut, buat skematik analisisnya.'''<br />
<br />
<br />
Model Combined Cycle Power Plant digunakan untuk mensimulasikan reduksi beban berlangkah pada power generator dari 100% menjadi 50% dalam waktu 800 detik.<br />
<br />
Pada simulasi ini terdapat 2 sistem yaitu gas turbin dan steam turbin. Dibawah ini merupakan penejelasan dari kedua sistem tersebut.<br />
<br />
<br />
<br />
'''a. Gas Turbin'''<br />
<br />
<br />
Komponen :<br />
<br />
<br />
* Air Compressor : meningkatkan tekanan udara yang di alirkan menuju combustion chamber<br />
<br />
* Combusition Chamber : Tempat dimana bahan bakar bersatu dengan udara dan melakukan kontak dengan busi, campuran tersebut dibakar dan didorong keluar dari Combusition Chamber dalam bentuk energi.<br />
<br />
* Turbine : Gas panas yang memiliki temperature dan pressure tinggi diteruskan ke turbin untuk memutarkan turbin. Hasil dari turbin ada dua. Yaitu power yang nantinya akan diteruskan ke altenator generator dan udara panas hasil dari turbin gas yang akan diteruskan ke Heat Recovery Steam Generator. Gas Turbine yang berputar akibat dari panas yang di hasilkan pada combustiom chamber yang di aliri oleh nozzle menuju turbin. <br />
<br />
Siklus yang terjadi dalam gas turbine adalah siklus rankine.<br />
<br />
[[File:sisfluafdhalsiklusrankine.png|600px|center]]<br />
<br />
<br />
'''b. Steam Turbin'''<br />
<br />
<br />
Komponen :<br />
<br />
<br />
* Heat Recovery Steam Generator (HRSG) : menangkap gas buangan dari gas turbin yang jika tidak dipasang, dapat keluar melalui saluran pembuangan. HRSG berguna untuk memanaskan kembali uap pembuangan dari gas turbin untuk dialiri ke turbin, yang dimana turbin 2 bertugas memutar generator untuk menghasilkan suatu energi.<br />
<br />
* Aliran steam ini kemudian melewati steam Turbin, sehingga membuat steam turbin berputar dan menggerakkan generator drive shaft. Generator drive shaft ini kemudian mengubah sisa energi buangan Hasil buangan dari turbin dialirkan menuju kondesor untuk merubah sifat dari uap menjadi cair agar dapat didorong oleh pompa menuju HRSG untuk dipanaskan Kembali.<br />
<br />
Siklus yang terjadi pada proses ini adalah siklus bryton.<br />
<br />
[[File:sisfluafdhalsiklusbryton.png|600px|center]]<br />
<br />
<br />
<br />
'''2. Lakukan identifikasi komponen-komponen utama pada sistem serta berilah deskripsi fungsi kerjanya dalam sistem dan penjelasan analisis parameter yang digunakan.'''<br />
<br />
<br />
Terdapat 2 bagian sistem pembangkit yaitu Gas Turbin dan juga Steam Turbin.<br />
<br />
'''2.1. Steam Turbin'''<br />
<br />
'''a. Condensor'''<br />
<br />
Bisa mengubah fasa uap panas menjadi liquid<br />
<br />
[[File:sisfluafdhalcondensor.png|600px|center]]<br />
<br />
<br />
'''b. Drum'''<br />
<br />
[[File:sisfluafdhaldrum.png|600px|center]]<br />
<br />
<br />
'''c. Generator'''<br />
<br />
Didalam generator bisa mengubah energi mekanik menjadi energi listrik.<br />
<br />
[[File:sisfluafdhalgenerator.png|600px|center]]<br />
<br />
<br />
Ada juga beberapa jenis dari Heat Exchanger :<br />
<br />
<br />
* SuperHeater<br />
<br />
[[File:sisfluafdhalsuperheater.png|600px|center]]<br />
<br />
<br />
* Evaporator<br />
<br />
[[File:sisfluafdhalevaporator.png|600px|center]]<br />
<br />
<br />
* Economiser<br />
<br />
[[File:sisfluafdhaleconomiser.png|600px|center]]<br />
<br />
<br />
'''d. Turbin Uap'''<br />
<br />
Pada turbin uap ini, ada tiga jenis turbin seperti yang ada di sistem, yaitu high pressure, intermediate pressure, dan low pressure<br />
<br />
[[File:sisfluafdhalturbinuap.png|600px|center]]<br />
<br />
<br />
'''e. Valve'''<br />
<br />
Untuk mengatur laju aliran fluida<br />
<br />
[[File:sisfluafdhalvalve.png|600px|center]]<br />
<br />
<br />
'''f. Water Mixer'''<br />
<br />
Junction yang menghubungkan beberapa inlet dan menggabungkannya menjadi kurang dari atau sama dengan jumlah inlet.<br />
<br />
[[File:sisfluafdhalwatermixer.png|600px|center]]<br />
<br />
<br />
'''g. Water Splitter'''<br />
<br />
Junction yang menghubungkan 1 atau 2 inlet dan memecahnya menjadi lebih dari atau sama dengan jumlah inlet pada outlet.<br />
<br />
[[File:sisfluafdhalwatersplitter.png|600px|center]]<br />
<br />
<br />
'''2.2. Gas Turbin'''<br />
<br />
Berikut merupakan perincian dari turbin gas yang didapat dari ThermoSysPro.FlueGases.TAC.GasTurbine<br />
<br />
[[File:sisfluafdhalgasturbin.png|600px|center]]<br />
<br />
<br />
'''a. Compressor'''<br />
<br />
[[File:sisfluafdhalcompressor.png|600px|center]]<br />
<br />
<br />
'''b. Turbin Gas'''<br />
<br />
Udara di turbin gas mengalami peningkatan tekanan dan temperatur akibat proses pembakaran yang terjadi. Udara panas tersebut kemudian digunakan untuk menggerakkan turbin gas tersebut.<br />
<br />
[[File:sisfluafdhalturbingas.png|600px|center]]<br />
<br />
'''c. Combustion Chamber'''<br />
<br />
[[File:sisfluafdhalcombustionchamber.png|600px|center]]<br />
<br />
<br />
<br />
'''3. Medium fluida kerja apa saja yang terjadi dalam proses siklus tersebut, dan bagaimanakah proses analisis perhitungan dalam pemodelan.'''<br />
<br />
<br />
Berikut merupakan medium fluida yang bekerja dalam proses siklus tersebut :<br />
<br />
* Turbin Gas (Menghasilkan kerja)<br />
<br />
* Turbin Uap (Menghasilkan kerja)<br />
<br />
* Pompa Sentrifugal (Membutuhkan kerja)<br />
<br />
* Kompresor (Membutuhkan kerja)<br />
<br />
Kemudian, pada Analisa perhitungannya dapat menggunakan hukum konservasi energi dan konservasi massa<br />
<br />
* Pada kompresor,pompa,turbin dan HRSG mengalami proses adiabatic,yang dimana proses adiabatik adalah proses yang tidak terjadi pergantian kalor dari sistem ke lingkungan ataupun sebaliknya.<br />
<br />
* Proses ini diasumsikan kondisi steady state dan energi kinetic potensial diabaikan<br />
<br />
<br />
<br />
'''4. Jelaskan flow line (jalur koneksi) masing-masing yang diberi warna hitam, merah, dan biru sesuai dengan interkoneksi yang diberikan dalam diagram tersebut.'''<br />
<br />
<br />
a. Jalur Hitam : Sebagai jalur energi keluar yang dimanfaatkan sebagai penggerak.<br />
<br />
b. Jalur Merah : Sebagai aliran fluida high temperature.<br />
<br />
c. Jalur Biru : Sebagai jalur fluida low temperature.<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 5: 10 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini Pak Dai memulai kelas dengan langsung melakukan simulasi OpenModelica bersama Pak Hariyo. Simulasi yang dipelajari adalah thermosyspro yang ada pada library di OpenModelica. Pertama, kami disuruh membuka model yang sudah tersedia pada library tersebut dan memahami setiap parameter yang ada dari tiap komponen. Setelah itu kami diminta untuk membuat ulang model tersebut atau remodel dari sistem itu agar parameter yang ada pada tiap komponen bisa diubah-ubah.<br />
<br />
Kami melakukan remodel dengan mencari masing-masing komponen yang dibutuhkan pada library. Lalu kami gabungkan tiap komponen dengan cara menarik garis dari setiap ujung panah komponen ke komponen lainnya. Setiap komponen masih belum memiliki parameter. Maka tiap komponen kami isi parameternya dengan mengikuti yang sudah ada pada sistem yang sudah jadi sebelumnya. Setelah itu kami check model untuk mengetahui apakah model yang kami buat sudah sama dengan yang ada pada examples.<br />
<br />
Pak Dai juga membahas mengenai tugas besar yang akan dikerjakan oleh mahasiswa. Mahasiswa diminta untuk memiliki bayangan bagaimana permodelan yang akan dibuat menganai pemipaan yang ada dalam pengolahan bahan bakar. Pak Dai juga meminta untuk membuat cabang pada permodelan tersebut sehingga ada valve yang bisa dianalisa menggunakan CFDSOF.<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 6: 17 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-6 ini, kelas Sisflu mengadakan Kuliah Tamu. Kami kedatangan seorang CEO PT. Indopower Internasional yaitu Dr.Ir. Harum Al Rosyid. Dalam pertemuan ini beliau menjelaskan mata kuliah sistem fluida ini dengan tema The Proven Combined-Cycle Power Plant in Indonesia.<br />
<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
'''Latar Belakang'''<br />
<br />
Latar belakang dari tugas besar ini adalah agar kita bisa memahami simulasi dari suatu sistem fluida. Simulasi ini dilakukan dengan menggunakan aplikasi CFDSOF dan OpenModelica. Menggunakan bantuan aplikasi tersebut untuk mempermudah kita untuk mengetahui keadaan asli dari sistem tersebut. Aplikasi tersebut bisa mempermudah kita dengan mengatur parameter-parameter yang ada dalam sistem tersebut. <br />
<br />
'''Tujuan'''<br />
<br />
Tujuan dari tugas besar ini merupakan sebagai penilaian Pak Dai untuk mengukur seberapa jauh pemahaman mahasiswa terhadap mata kuliah sistem fluida ini terutama dalam mengenai contoh-contoh simulasi sistem fluida.<br />
<br />
'''Metodologi'''<br />
<br />
Perancangan dari tugas besar ini dilakukan dengan simulasi metode CFD dengan aplikasi OpenModelica. Ketika simulasi sudah berhasil dan memenuhi pengecekan. Maka hasil simulasi akan diambil untuk dianalisis.<br />
<br />
'''Perencanaan'''<br />
<br />
1. Meriset kasus aliran fluida<br />
<br />
2. Mempelajari OpenModelica<br />
<br />
3. Membuat sketsa sistem fluida<br />
<br />
4. Proses pembuatan skema di OpenModelica<br />
<br />
5. Melakukan revisi dan perbaikan<br />
<br />
6. Penyelesaian tugas besar.<br />
<br />
<br />
[[File:sisfluafdhal20.png|600px|center]]<br />
<br />
<br />
[[File:sisfluafdhal21.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== UAS ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan jawaban UAS sistem fluida saya.<br />
<br />
'''No.1'''<br />
<br />
[[File:UASafdhalsisflu1.jpg|300px|center]]<br />
<br />
<br />
'''No.2'''<br />
<br />
[[File:UASafdhalsisflu2.jpg|300px|center]]<br />
<br />
<br />
'''No.3'''<br />
<br />
[[File:UASafdhalsisflu3.jpg|300px|center]]<br />
<br />
<br />
'''No.4'''<br />
<br />
[[File:UASafdhalsisflu4.png|300px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalsisflu4.png&diff=56916File:UASafdhalsisflu4.png2021-01-18T17:24:07Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalsisflu3.jpg&diff=56915File:UASafdhalsisflu3.jpg2021-01-18T17:23:46Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalsisflu2.jpg&diff=56913File:UASafdhalsisflu2.jpg2021-01-18T17:23:26Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalsisflu1.jpg&diff=56912File:UASafdhalsisflu1.jpg2021-01-18T17:23:06Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=56208Metnum03-Muhammad Afdhal Pradisto2021-01-14T11:51:42Z<p>Muhammad Afdhal Pradisto: /* UAS */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Stiffness Matrix Element Function'''<br />
<br />
function StiffnessMatrixElement<br />
input Real [:,6] inisiasi_mat;<br />
output Real [size(inisiasi_mat,1),6,6] Ke_mat;<br />
protected<br />
Real cos_x;<br />
Real cos_y;<br />
Real cos_z;<br />
Real [6] StiffTrig;<br />
Real [6,6] StiffTrans;<br />
Real [size(inisiasi_mat,1)] L;<br />
Real [size(inisiasi_mat,1)] k_vec;<br />
algorithm<br />
L := {(sqrt(inisiasi_mat[i,2]^2 + inisiasi_mat[i,3]^2 + inisiasi_mat[i,4]^2)) for i in 1:size(inisiasi_mat,1)};<br />
k_vec := {(inisiasi_mat[i,5] * inisiasi_mat[i,6] / L[i]) for i in 1:size(inisiasi_mat,1)};<br />
// Finding stiffness matrix of each element member<br />
for i in 1:size(inisiasi_mat,1) loop<br />
// Clearing the matrices<br />
StiffTrig := zeros(6);<br />
StiffTrans := zeros(6,6);<br />
// Converting degrees to radians<br />
cos_x := inisiasi_mat[i,2]/L[i];<br />
cos_y := inisiasi_mat[i,3]/L[i];<br />
cos_z := inisiasi_mat[i,4]/L[i];<br />
// {cos^2, sin^2, sincos}<br />
StiffTrig := {(cos_x)^2,<br />
(cos_y)^2,<br />
(cos_z)^2,<br />
(cos_x*cos_y),<br />
(cos_x*cos_z),<br />
(cos_y*cos_z)};<br />
// Construct stiffness transformation matrix<br />
StiffTrans := [ StiffTrig[1], StiffTrig[4], StiffTrig[5], -1*StiffTrig[1], -1*StiffTrig[4], -1*StiffTrig[5];<br />
StiffTrig[4], StiffTrig[2], StiffTrig[6], -1*StiffTrig[4], -1*StiffTrig[2], -1*StiffTrig[6];<br />
StiffTrig[5], StiffTrig[6], StiffTrig[3], -1*StiffTrig[5], -1*StiffTrig[6], -1*StiffTrig[3];<br />
-1*StiffTrig[1], -1*StiffTrig[4], -1*StiffTrig[5], StiffTrig[1], StiffTrig[4], StiffTrig[5];<br />
-1*StiffTrig[4], -1*StiffTrig[2], -1*StiffTrig[6], StiffTrig[4], StiffTrig[2], StiffTrig[6];<br />
-1*StiffTrig[5], -1*StiffTrig[6], -1*StiffTrig[3], StiffTrig[5], StiffTrig[6], StiffTrig[3]]; <br />
// Multiply in stiffness constant of element, add final stiffness matrix to Ke_mat<br />
for m in 1:6 loop<br />
for n in 1:6 loop<br />
Ke_mat[i,m,n] := k_vec[i] * StiffTrans[m,n];<br />
end for;<br />
end for;<br />
end for;<br />
end StiffnessMatrixElement;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Stiffness Matrix Global Function'''<br />
<br />
function StiffnessMatrixGlobal<br />
input Integer x;<br />
input Integer [:,2] n;<br />
input Real [:,6,6] Ke_mat; <br />
output Real [size(Ke_mat,1),3*x,3*x] Kg_mat;<br />
algorithm<br />
Kg_mat := zeros(size(Ke_mat,1),3*x,3*x);<br />
for i in 1:size(Ke_mat,1) loop<br />
Kg_mat[i,3*n[i,1],3*n[i,1]]:=Ke_mat[i,3,3];<br />
Kg_mat[i,3*n[i,1],3*n[i,1]-1]:=Ke_mat[i,3,2];<br />
Kg_mat[i,3*n[i,1],3*n[i,1]-2]:=Ke_mat[i,3,1];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]]:=Ke_mat[i,2,3];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]-1]:=Ke_mat[i,2,2];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]-2]:=Ke_mat[i,2,1];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]]:=Ke_mat[i,1,3];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]-1]:=Ke_mat[i,1,2];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]-2]:=Ke_mat[i,1,1];<br />
<br />
Kg_mat[i,3*n[i,2],3*n[i,2]]:=Ke_mat[i,6,6];<br />
Kg_mat[i,3*n[i,2],3*n[i,2]-1]:=Ke_mat[i,6,5];<br />
Kg_mat[i,3*n[i,2],3*n[i,2]-2]:=Ke_mat[i,6,4];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]]:=Ke_mat[i,5,6];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]-1]:=Ke_mat[i,5,5];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]-2]:=Ke_mat[i,5,4];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]]:=Ke_mat[i,4,6];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]-1]:=Ke_mat[i,4,5];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]-2]:=Ke_mat[i,4,4];<br />
<br />
Kg_mat[i,3*n[i,2],3*n[i,1]]:=Ke_mat[i,6,3];<br />
Kg_mat[i,3*n[i,2],3*n[i,1]-1]:=Ke_mat[i,6,2];<br />
Kg_mat[i,3*n[i,2],3*n[i,1]-2]:=Ke_mat[i,6,1];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]]:=Ke_mat[i,5,3];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]-1]:=Ke_mat[i,5,2];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]-2]:=Ke_mat[i,5,1];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]]:=Ke_mat[i,4,3];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]-1]:=Ke_mat[i,4,2];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]-2]:=Ke_mat[i,4,1];<br />
<br />
Kg_mat[i,3*n[i,1],3*n[i,2]]:=Ke_mat[i,3,6];<br />
Kg_mat[i,3*n[i,1],3*n[i,2]-1]:=Ke_mat[i,3,5];<br />
Kg_mat[i,3*n[i,1],3*n[i,2]-2]:=Ke_mat[i,3,4];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]]:=Ke_mat[i,2,6];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]-1]:=Ke_mat[i,2,5];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]-2]:=Ke_mat[i,2,4];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]]:=Ke_mat[i,1,6];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]-1]:=Ke_mat[i,1,5];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]-2]:=Ke_mat[i,1,4];<br />
end for;<br />
end StiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
''' Sum Stiffness Matrix Element Function'''<br />
<br />
function SumStiffnessMatrixGlobal<br />
input Real [:,:,:] Kg_mat;<br />
output Real [size(Kg_mat,2),size(Kg_mat,2)] KgTot_mat;<br />
algorithm<br />
for a in 1:size(Kg_mat,2) loop<br />
for b in 1:size(Kg_mat,2) loop<br />
KgTot_mat[a,b] := sum(Kg_mat [:,a,b]);<br />
end for;<br />
end for;<br />
end SumStiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
''' Boundary Stiffness Matrix Global Function'''<br />
<br />
function BoundaryStiffnessMatrixGlobal<br />
input Real [:,:] KgTot_met;<br />
input Integer[:] Boundary_xyz;<br />
input Integer[:] Boundary_xy;<br />
input Integer[:] Boundary_xz;<br />
input Integer[:] Boundary_yz;<br />
input Integer[:] Boundary_x;<br />
input Integer[:] Boundary_y;<br />
input Integer[:] Boundary_z;<br />
output Real [size(KgTot_met,1),size(KgTot_met,1)] KgB_met;<br />
<br />
algorithm<br />
for a in 1:size(KgTot_met,1) loop<br />
for b in 1:size(KgTot_met,1) loop<br />
KgB_met[a,b] := KgTot_met [a,b];<br />
end for;<br />
end for; <br />
<br />
if Boundary_xyz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xyz,1) loop<br />
for b in 0:2 loop<br />
KgB_met[3*(Boundary_xyz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xyz[a]-b,3*Boundary_xyz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_xy[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xy,1) loop<br />
for b in 1:2 loop<br />
KgB_met[3*(Boundary_xy[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xy[a]-b,3*Boundary_xy[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_xz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xz,1) loop<br />
for b in 0:2:2 loop<br />
KgB_met[3*(Boundary_xz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xz[a]-b,3*Boundary_xz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_yz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_yz,1) loop<br />
for b in 0:1 loop<br />
KgB_met[3*(Boundary_yz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_yz[a]-b,3*Boundary_yz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_x[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_x,1) loop<br />
KgB_met[3*(Boundary_x[a])-2,i]:=0;<br />
KgB_met[3*Boundary_x[a]-2,3*Boundary_x[a]-2]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_y[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_y,1) loop<br />
KgB_met[3*(Boundary_y[a])-1,i]:=0;<br />
KgB_met[3*Boundary_y[a]-1,3*Boundary_y[a]-1]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_z[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_z,1) loop<br />
KgB_met[3*Boundary_z[a],i]:=0;<br />
KgB_met[3*Boundary_z[a],3*Boundary_z[a]]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
end BoundaryStiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Gauss Jordan Function'''<br />
<br />
function GaussJordan<br />
input Real [:,:] KgB_met;<br />
input Real [size(KgB_met,1)] load_met;<br />
output Real [size(KgB_met,1)] U_met;<br />
<br />
protected<br />
Real float_error = 10e-10;<br />
<br />
algorithm<br />
U_met:=Modelica.Math.Matrices.solve(KgB_met,load_met);<br />
<br />
for i in 1:size(KgB_met,1) loop<br />
if abs(U_met[i]) <= float_error then<br />
U_met[i] := 0;<br />
end if;<br />
end for;<br />
<br />
end GaussJordan;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Reaction Force Function'''<br />
<br />
function ReactionForce<br />
input Real [:,:] KgTot_met;<br />
input Real [size(KgTot_met,1)] U_met;<br />
input Real [size(KgTot_met,1)] load_met;<br />
output Real [size(KgTot_met,1)] R_met;<br />
protected Real float_error = 10e-10;<br />
<br />
algorithm<br />
R_met := KgTot_met*U_met-load_met;<br />
<br />
for t in 1:size(KgTot_met,1) loop<br />
if abs(R_met[t]) <= float_error then<br />
R_met[t] := 0;<br />
end if;<br />
end for;<br />
<br />
end ReactionForce;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Check Force Function'''<br />
<br />
function CheckForce<br />
input Real [:] load;<br />
input Real [size(load,1)] R;<br />
output Real [3] F;<br />
protected Real float_error = 10e-10;<br />
<br />
protected<br />
Real load_x;<br />
Real load_y;<br />
Real load_z;<br />
Real R_x;<br />
Real R_y;<br />
Real R_z;<br />
<br />
algorithm<br />
load_x := sum({load[i] for i in 1:3:(size(load,1)-2)});<br />
load_y := sum({load[i] for i in 2:3:(size(load,1)-1)});<br />
load_z := sum({load[i] for i in 3:3:size(load,1)});<br />
R_x := sum({R[i] for i in 1:3:(size(load,1)-2)});<br />
R_y := sum({R[i] for i in 2:3:(size(load,1)-1)});<br />
R_z := sum({R[i] for i in 3:3:size(load,1)});<br />
<br />
F[1] := load_x + R_x;<br />
F[2] := load_y + R_y;<br />
F[3] := load_z + R_z;<br />
<br />
for i in 1:3 loop<br />
if abs(F[i]) <= float_error then<br />
F[i] := 0;<br />
end if;<br />
end for;<br />
<br />
end CheckForce;<br />
<br />
|}<br />
<br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Class'''<br />
<br />
class QuizSoal1<br />
//inisiasi = [ elemen#, dX, dY, dZ, A, E]<br />
parameter Real [:,6] inisiasi = [1, 6, 0, -3, 1.56, 10.6e6; //isi sesuai data<br />
2, 0, 0, -6, 1.56, 10.6e6;<br />
3, 0, 6, -3, 1.56, 10.6e6;<br />
4, -6, 0, -3, 1.56, 10.6e6;<br />
5, -6, 6, 0, 1.56, 10.6e6;<br />
6, 0, 6, 3, 1.56, 10.6e6];<br />
<br />
//node = [ i, j] <br />
parameter Integer [size(inisiasi,1),2] node = [1, 2; //isi sesuai data<br />
1, 3;<br />
1, 4;<br />
2, 3;<br />
2, 4;<br />
3, 4];<br />
<br />
//jumlah node<br />
parameter Integer n = 4; //isi sesuai data<br />
<br />
//titik node boundary xyz<br />
parameter Integer [:] Boundary_xyz = {1}; //isi sesuai data<br />
<br />
//titik node boundary xy<br />
parameter Integer [:] Boundary_xy = {4}; //isi sesuai data<br />
<br />
//titik node boundary xz<br />
parameter Integer [:] Boundary_xz = {0}; //isi sesuai data<br />
<br />
//titik node boundary yz<br />
parameter Integer [:] Boundary_yz = {0}; //isi sesuai data<br />
<br />
//titik node boundary x<br />
parameter Integer [:] Boundary_x = {3}; //isi sesuai data<br />
<br />
//titik node boundary y<br />
parameter Integer [:] Boundary_y = {0}; //isi sesuai data<br />
<br />
//titik node boundary z<br />
parameter Integer [:] Boundary_z = {0}; //isi sesuai data<br />
<br />
//load = [ F1x, F1y, F1z,..., Fnx, Fny, Fnz]<br />
parameter Real [3*n] load = {0, 0, 0, //isi sesuai data<br />
0, -200, 0, <br />
0, 0, 0, <br />
0, 0, 0}; <br />
<br />
Real [size(inisiasi,1)] L;<br />
Real [size(inisiasi,1)] k;<br />
Real [size(inisiasi,1),6,6] Ke;<br />
Real [size(inisiasi,1),3*n,3*n] Kg;<br />
Real [3*n,3*n] KgTot;<br />
Real [3*n,3*n] KgB;<br />
Real [3*n] U;<br />
Real [3*n] R;<br />
<br />
//check force<br />
Real [3] F;<br />
<br />
equation<br />
L = {(sqrt(inisiasi[i,2]^2 + inisiasi[i,3]^2 + inisiasi[i,4]^2)) for i in 1:size(inisiasi,1)}; <br />
<br />
k = {(inisiasi[i,5] * inisiasi[i,6] / L[i]) for i in 1:size(inisiasi,1)};<br />
<br />
Ke = StiffnessMatrixElement(inisiasi);<br />
<br />
Kg = StiffnessMatrixGlobal(n, node, Ke);<br />
<br />
KgTot = SumStiffnessMatrixGlobal(Kg);<br />
<br />
KgB = BoundaryStiffnessMatrixGlobal(KgTot, Boundary_xyz, Boundary_xy, Boundary_xz, Boundary_yz, Boundary_x, Boundary_y, Boundary_z);<br />
<br />
U = GaussJordan(KgB, load);<br />
<br />
R = ReactionForce(KgTot, U, load);<br />
<br />
F = CheckForce(load,R);<br />
<br />
end QuizSoal1;<br />
<br />
|}<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
'''Permodelan Numerik'''<br />
<br />
<br />
3D Trusses Model<br />
<br />
//define initial variable<br />
parameter Integer Points=size(P,1); //Number of Points<br />
parameter Integer Trusses=size(C,1); //Number of Trusses<br />
parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)<br />
parameter Real Area= (nilai area) ; //Luas Besi Siku (Dimension=30x30x3mm)<br />
parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)<br />
//define connection<br />
parameter Integer C[:,2]=[1,5; // (Elemen 1)<br />
2,6; // (Elemen 2)<br />
3,7; // (Elemen 3)<br />
4,8; // (Elemen 4)<br />
5,6; // (Elemen 5)<br />
6,7; // (Elemen 6)<br />
7,8; // (Elemen 7)<br />
5,8; // (Elemen 8)<br />
5,9; // (Elemen 9)<br />
6,10; // (Elemen 10)<br />
7,11; // (Elemen 11)<br />
8,12; // (Elemen 12)<br />
9,10; // (Elemen 13)<br />
10,11;// (Elemen 14)<br />
11,12;// (Elemen 15)<br />
9,12; // (Elemen 16)<br />
9,13; // (Elemen 17)<br />
10,14;// (Elemen 18)<br />
11,15;// (Elemen 19)<br />
12,16;// (Elemen 20)<br />
13,14;// (Elemen 21)<br />
14,15;// (Elemen 22)<br />
15,16;// (Elemen 23)<br />
13,16];//(Elemen 24)<br />
//define coordinates (please put orderly)<br />
parameter Real P[:,6]=[ 0 ,0 ,0,1,1,1; //node 1<br />
0.75,0 ,0,1,1,1; //node 2<br />
0.75,0.6,0,1,1,1; //node 3<br />
0 ,0.6,0,1,1,1; //node 4<br />
<br />
0 ,0 ,0.3,0,0,0; //node 5<br />
0.75,0 ,0.3,0,0,0; //node 6<br />
0.75,0.6,0.3,0,0,0; //node 7<br />
0 ,0.6,0.3,0,0,0; //node 8<br />
<br />
0 ,0 ,1.05,0,0,0; //node 9<br />
0.75,0 ,1.05,0,0,0; //node 10 <br />
0.75,0.6,1.05,0,0,0; //node 11<br />
0 ,0.6,1.05,0,0,0; //node 12<br />
<br />
0 ,0 ,1.8,0,0,0; //node 13<br />
0.75,0 ,1.8,0,0,0; //node 14<br />
0.75,0.6,1.8,0,0,0; //node 15<br />
0 ,0.6,1.8,0,0,0]; //node 16<br />
<br />
//define external force (please put orderly)<br />
parameter Real F[Points*3]={0,0,0,<br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,-1000, <br />
0,0,-500, <br />
0,0,-500, <br />
0,0,-1000}; <br />
//solution<br />
Real displacement[N], reaction[N];<br />
Real check[3];<br />
Real stress1[Trusses];<br />
Real safety[Trusses];<br />
Real dis[3];<br />
Real Str[3];<br />
protected<br />
parameter Integer N=3*Points;<br />
Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];<br />
Real err=10e-15, ers=10e-8;<br />
algorithm<br />
//Creating Global Matrix<br />
G:=id;<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2];<br />
//Transforming to global matrix<br />
g:=zeros(N,N); <br />
for m,n in 1:3 loop<br />
g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];<br />
g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];<br />
end for; <br />
G_star:=G+g;<br />
G:=G_star;<br />
end for;<br />
//Implementing boundary<br />
for x in 1:Points loop<br />
if P[x,4] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-2,a]:=0;<br />
G[(x*3)-2,(x*3)-2]:=1;<br />
end for;<br />
end if;<br />
if P[x,5] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-1,a]:=0;<br />
G[(x*3)-1,(x*3)-1]:=1;<br />
end for;<br />
end if;<br />
if P[x,6] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[x*3,a]:=0;<br />
G[x*3,x*3]:=1;<br />
end for;<br />
end if;<br />
end for;<br />
//Solving displacement<br />
displacement:=Modelica.Math.Matrices.solve(G,F);<br />
//Solving reaction<br />
reaction:=(G_star*displacement)-F;<br />
//Eliminating float error<br />
for i in 1:N loop<br />
reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];<br />
displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];<br />
end for;<br />
//Checking Force<br />
check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});<br />
check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});<br />
check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); <br />
for i in 1:3 loop<br />
check[i] := if abs(check[i])<=ers then 0 else check[i];<br />
end for;<br />
//Calculating stress in each truss<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2]; <br />
Str:=(X*dis);<br />
stress1[i]:=Modelica.Math.Vectors.length(Str);<br />
end for;<br />
//Safety factor<br />
for i in 1:Trusses loop<br />
if stress1[i]>0 then<br />
safety[i]:=Yield/stress1[i];<br />
else<br />
safety[i]:=0;<br />
end if; <br />
end for;<br />
end Trusses_3D_Tugas_Besar;<br />
<br />
<br />
'''Komputasi'''<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]<br />
<br />
<br />
<br />
Berikut merupakan grafik yang saya dapat<br />
<br />
<br />
[[File:metnumafdhal49.png|600px|center]]<br />
<br />
<br />
<br />
== UAS ==<br />
<br />
No1<br />
<br />
[[File:UASafdhalno1.jpg|300px|center]]<br />
<br />
<br />
No2<br />
<br />
[[File:UASafdhalno2.jpg|300px|center]]<br />
<br />
<br />
No3<br />
<br />
[[File:UASafdhalno3.jpg|300px|center]]<br />
<br />
<br />
No4<br />
<br />
[[File:UASafdhalno4.jpg|300px|center]]<br />
<br />
<br />
No5<br />
<br />
[[File:UASafdhalno5.jpg|300px|center]]<br />
<br />
<br />
No6<br />
<br />
[[File:UASafdhalno6.jpg|300px|center]]<br />
<br />
<br />
No7<br />
<br />
[[File:UASafdhalno7a.jpg|300px|center]]<br />
<br />
<br />
[[File:UASafdhalno7b.jpg|300px|center]]<br />
<br />
<br />
[[File:UASafdhalno7c.jpg|300px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalno7c.jpg&diff=56206File:UASafdhalno7c.jpg2021-01-14T11:50:52Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalno7b.jpg&diff=56205File:UASafdhalno7b.jpg2021-01-14T11:50:35Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalno7a.jpg&diff=56203File:UASafdhalno7a.jpg2021-01-14T11:50:12Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=56200Metnum03-Muhammad Afdhal Pradisto2021-01-14T11:48:04Z<p>Muhammad Afdhal Pradisto: /* UAS */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Stiffness Matrix Element Function'''<br />
<br />
function StiffnessMatrixElement<br />
input Real [:,6] inisiasi_mat;<br />
output Real [size(inisiasi_mat,1),6,6] Ke_mat;<br />
protected<br />
Real cos_x;<br />
Real cos_y;<br />
Real cos_z;<br />
Real [6] StiffTrig;<br />
Real [6,6] StiffTrans;<br />
Real [size(inisiasi_mat,1)] L;<br />
Real [size(inisiasi_mat,1)] k_vec;<br />
algorithm<br />
L := {(sqrt(inisiasi_mat[i,2]^2 + inisiasi_mat[i,3]^2 + inisiasi_mat[i,4]^2)) for i in 1:size(inisiasi_mat,1)};<br />
k_vec := {(inisiasi_mat[i,5] * inisiasi_mat[i,6] / L[i]) for i in 1:size(inisiasi_mat,1)};<br />
// Finding stiffness matrix of each element member<br />
for i in 1:size(inisiasi_mat,1) loop<br />
// Clearing the matrices<br />
StiffTrig := zeros(6);<br />
StiffTrans := zeros(6,6);<br />
// Converting degrees to radians<br />
cos_x := inisiasi_mat[i,2]/L[i];<br />
cos_y := inisiasi_mat[i,3]/L[i];<br />
cos_z := inisiasi_mat[i,4]/L[i];<br />
// {cos^2, sin^2, sincos}<br />
StiffTrig := {(cos_x)^2,<br />
(cos_y)^2,<br />
(cos_z)^2,<br />
(cos_x*cos_y),<br />
(cos_x*cos_z),<br />
(cos_y*cos_z)};<br />
// Construct stiffness transformation matrix<br />
StiffTrans := [ StiffTrig[1], StiffTrig[4], StiffTrig[5], -1*StiffTrig[1], -1*StiffTrig[4], -1*StiffTrig[5];<br />
StiffTrig[4], StiffTrig[2], StiffTrig[6], -1*StiffTrig[4], -1*StiffTrig[2], -1*StiffTrig[6];<br />
StiffTrig[5], StiffTrig[6], StiffTrig[3], -1*StiffTrig[5], -1*StiffTrig[6], -1*StiffTrig[3];<br />
-1*StiffTrig[1], -1*StiffTrig[4], -1*StiffTrig[5], StiffTrig[1], StiffTrig[4], StiffTrig[5];<br />
-1*StiffTrig[4], -1*StiffTrig[2], -1*StiffTrig[6], StiffTrig[4], StiffTrig[2], StiffTrig[6];<br />
-1*StiffTrig[5], -1*StiffTrig[6], -1*StiffTrig[3], StiffTrig[5], StiffTrig[6], StiffTrig[3]]; <br />
// Multiply in stiffness constant of element, add final stiffness matrix to Ke_mat<br />
for m in 1:6 loop<br />
for n in 1:6 loop<br />
Ke_mat[i,m,n] := k_vec[i] * StiffTrans[m,n];<br />
end for;<br />
end for;<br />
end for;<br />
end StiffnessMatrixElement;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Stiffness Matrix Global Function'''<br />
<br />
function StiffnessMatrixGlobal<br />
input Integer x;<br />
input Integer [:,2] n;<br />
input Real [:,6,6] Ke_mat; <br />
output Real [size(Ke_mat,1),3*x,3*x] Kg_mat;<br />
algorithm<br />
Kg_mat := zeros(size(Ke_mat,1),3*x,3*x);<br />
for i in 1:size(Ke_mat,1) loop<br />
Kg_mat[i,3*n[i,1],3*n[i,1]]:=Ke_mat[i,3,3];<br />
Kg_mat[i,3*n[i,1],3*n[i,1]-1]:=Ke_mat[i,3,2];<br />
Kg_mat[i,3*n[i,1],3*n[i,1]-2]:=Ke_mat[i,3,1];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]]:=Ke_mat[i,2,3];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]-1]:=Ke_mat[i,2,2];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]-2]:=Ke_mat[i,2,1];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]]:=Ke_mat[i,1,3];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]-1]:=Ke_mat[i,1,2];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]-2]:=Ke_mat[i,1,1];<br />
<br />
Kg_mat[i,3*n[i,2],3*n[i,2]]:=Ke_mat[i,6,6];<br />
Kg_mat[i,3*n[i,2],3*n[i,2]-1]:=Ke_mat[i,6,5];<br />
Kg_mat[i,3*n[i,2],3*n[i,2]-2]:=Ke_mat[i,6,4];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]]:=Ke_mat[i,5,6];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]-1]:=Ke_mat[i,5,5];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]-2]:=Ke_mat[i,5,4];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]]:=Ke_mat[i,4,6];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]-1]:=Ke_mat[i,4,5];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]-2]:=Ke_mat[i,4,4];<br />
<br />
Kg_mat[i,3*n[i,2],3*n[i,1]]:=Ke_mat[i,6,3];<br />
Kg_mat[i,3*n[i,2],3*n[i,1]-1]:=Ke_mat[i,6,2];<br />
Kg_mat[i,3*n[i,2],3*n[i,1]-2]:=Ke_mat[i,6,1];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]]:=Ke_mat[i,5,3];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]-1]:=Ke_mat[i,5,2];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]-2]:=Ke_mat[i,5,1];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]]:=Ke_mat[i,4,3];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]-1]:=Ke_mat[i,4,2];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]-2]:=Ke_mat[i,4,1];<br />
<br />
Kg_mat[i,3*n[i,1],3*n[i,2]]:=Ke_mat[i,3,6];<br />
Kg_mat[i,3*n[i,1],3*n[i,2]-1]:=Ke_mat[i,3,5];<br />
Kg_mat[i,3*n[i,1],3*n[i,2]-2]:=Ke_mat[i,3,4];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]]:=Ke_mat[i,2,6];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]-1]:=Ke_mat[i,2,5];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]-2]:=Ke_mat[i,2,4];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]]:=Ke_mat[i,1,6];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]-1]:=Ke_mat[i,1,5];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]-2]:=Ke_mat[i,1,4];<br />
end for;<br />
end StiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
''' Sum Stiffness Matrix Element Function'''<br />
<br />
function SumStiffnessMatrixGlobal<br />
input Real [:,:,:] Kg_mat;<br />
output Real [size(Kg_mat,2),size(Kg_mat,2)] KgTot_mat;<br />
algorithm<br />
for a in 1:size(Kg_mat,2) loop<br />
for b in 1:size(Kg_mat,2) loop<br />
KgTot_mat[a,b] := sum(Kg_mat [:,a,b]);<br />
end for;<br />
end for;<br />
end SumStiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
''' Boundary Stiffness Matrix Global Function'''<br />
<br />
function BoundaryStiffnessMatrixGlobal<br />
input Real [:,:] KgTot_met;<br />
input Integer[:] Boundary_xyz;<br />
input Integer[:] Boundary_xy;<br />
input Integer[:] Boundary_xz;<br />
input Integer[:] Boundary_yz;<br />
input Integer[:] Boundary_x;<br />
input Integer[:] Boundary_y;<br />
input Integer[:] Boundary_z;<br />
output Real [size(KgTot_met,1),size(KgTot_met,1)] KgB_met;<br />
<br />
algorithm<br />
for a in 1:size(KgTot_met,1) loop<br />
for b in 1:size(KgTot_met,1) loop<br />
KgB_met[a,b] := KgTot_met [a,b];<br />
end for;<br />
end for; <br />
<br />
if Boundary_xyz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xyz,1) loop<br />
for b in 0:2 loop<br />
KgB_met[3*(Boundary_xyz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xyz[a]-b,3*Boundary_xyz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_xy[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xy,1) loop<br />
for b in 1:2 loop<br />
KgB_met[3*(Boundary_xy[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xy[a]-b,3*Boundary_xy[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_xz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xz,1) loop<br />
for b in 0:2:2 loop<br />
KgB_met[3*(Boundary_xz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xz[a]-b,3*Boundary_xz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_yz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_yz,1) loop<br />
for b in 0:1 loop<br />
KgB_met[3*(Boundary_yz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_yz[a]-b,3*Boundary_yz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_x[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_x,1) loop<br />
KgB_met[3*(Boundary_x[a])-2,i]:=0;<br />
KgB_met[3*Boundary_x[a]-2,3*Boundary_x[a]-2]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_y[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_y,1) loop<br />
KgB_met[3*(Boundary_y[a])-1,i]:=0;<br />
KgB_met[3*Boundary_y[a]-1,3*Boundary_y[a]-1]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_z[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_z,1) loop<br />
KgB_met[3*Boundary_z[a],i]:=0;<br />
KgB_met[3*Boundary_z[a],3*Boundary_z[a]]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
end BoundaryStiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Gauss Jordan Function'''<br />
<br />
function GaussJordan<br />
input Real [:,:] KgB_met;<br />
input Real [size(KgB_met,1)] load_met;<br />
output Real [size(KgB_met,1)] U_met;<br />
<br />
protected<br />
Real float_error = 10e-10;<br />
<br />
algorithm<br />
U_met:=Modelica.Math.Matrices.solve(KgB_met,load_met);<br />
<br />
for i in 1:size(KgB_met,1) loop<br />
if abs(U_met[i]) <= float_error then<br />
U_met[i] := 0;<br />
end if;<br />
end for;<br />
<br />
end GaussJordan;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Reaction Force Function'''<br />
<br />
function ReactionForce<br />
input Real [:,:] KgTot_met;<br />
input Real [size(KgTot_met,1)] U_met;<br />
input Real [size(KgTot_met,1)] load_met;<br />
output Real [size(KgTot_met,1)] R_met;<br />
protected Real float_error = 10e-10;<br />
<br />
algorithm<br />
R_met := KgTot_met*U_met-load_met;<br />
<br />
for t in 1:size(KgTot_met,1) loop<br />
if abs(R_met[t]) <= float_error then<br />
R_met[t] := 0;<br />
end if;<br />
end for;<br />
<br />
end ReactionForce;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Check Force Function'''<br />
<br />
function CheckForce<br />
input Real [:] load;<br />
input Real [size(load,1)] R;<br />
output Real [3] F;<br />
protected Real float_error = 10e-10;<br />
<br />
protected<br />
Real load_x;<br />
Real load_y;<br />
Real load_z;<br />
Real R_x;<br />
Real R_y;<br />
Real R_z;<br />
<br />
algorithm<br />
load_x := sum({load[i] for i in 1:3:(size(load,1)-2)});<br />
load_y := sum({load[i] for i in 2:3:(size(load,1)-1)});<br />
load_z := sum({load[i] for i in 3:3:size(load,1)});<br />
R_x := sum({R[i] for i in 1:3:(size(load,1)-2)});<br />
R_y := sum({R[i] for i in 2:3:(size(load,1)-1)});<br />
R_z := sum({R[i] for i in 3:3:size(load,1)});<br />
<br />
F[1] := load_x + R_x;<br />
F[2] := load_y + R_y;<br />
F[3] := load_z + R_z;<br />
<br />
for i in 1:3 loop<br />
if abs(F[i]) <= float_error then<br />
F[i] := 0;<br />
end if;<br />
end for;<br />
<br />
end CheckForce;<br />
<br />
|}<br />
<br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Class'''<br />
<br />
class QuizSoal1<br />
//inisiasi = [ elemen#, dX, dY, dZ, A, E]<br />
parameter Real [:,6] inisiasi = [1, 6, 0, -3, 1.56, 10.6e6; //isi sesuai data<br />
2, 0, 0, -6, 1.56, 10.6e6;<br />
3, 0, 6, -3, 1.56, 10.6e6;<br />
4, -6, 0, -3, 1.56, 10.6e6;<br />
5, -6, 6, 0, 1.56, 10.6e6;<br />
6, 0, 6, 3, 1.56, 10.6e6];<br />
<br />
//node = [ i, j] <br />
parameter Integer [size(inisiasi,1),2] node = [1, 2; //isi sesuai data<br />
1, 3;<br />
1, 4;<br />
2, 3;<br />
2, 4;<br />
3, 4];<br />
<br />
//jumlah node<br />
parameter Integer n = 4; //isi sesuai data<br />
<br />
//titik node boundary xyz<br />
parameter Integer [:] Boundary_xyz = {1}; //isi sesuai data<br />
<br />
//titik node boundary xy<br />
parameter Integer [:] Boundary_xy = {4}; //isi sesuai data<br />
<br />
//titik node boundary xz<br />
parameter Integer [:] Boundary_xz = {0}; //isi sesuai data<br />
<br />
//titik node boundary yz<br />
parameter Integer [:] Boundary_yz = {0}; //isi sesuai data<br />
<br />
//titik node boundary x<br />
parameter Integer [:] Boundary_x = {3}; //isi sesuai data<br />
<br />
//titik node boundary y<br />
parameter Integer [:] Boundary_y = {0}; //isi sesuai data<br />
<br />
//titik node boundary z<br />
parameter Integer [:] Boundary_z = {0}; //isi sesuai data<br />
<br />
//load = [ F1x, F1y, F1z,..., Fnx, Fny, Fnz]<br />
parameter Real [3*n] load = {0, 0, 0, //isi sesuai data<br />
0, -200, 0, <br />
0, 0, 0, <br />
0, 0, 0}; <br />
<br />
Real [size(inisiasi,1)] L;<br />
Real [size(inisiasi,1)] k;<br />
Real [size(inisiasi,1),6,6] Ke;<br />
Real [size(inisiasi,1),3*n,3*n] Kg;<br />
Real [3*n,3*n] KgTot;<br />
Real [3*n,3*n] KgB;<br />
Real [3*n] U;<br />
Real [3*n] R;<br />
<br />
//check force<br />
Real [3] F;<br />
<br />
equation<br />
L = {(sqrt(inisiasi[i,2]^2 + inisiasi[i,3]^2 + inisiasi[i,4]^2)) for i in 1:size(inisiasi,1)}; <br />
<br />
k = {(inisiasi[i,5] * inisiasi[i,6] / L[i]) for i in 1:size(inisiasi,1)};<br />
<br />
Ke = StiffnessMatrixElement(inisiasi);<br />
<br />
Kg = StiffnessMatrixGlobal(n, node, Ke);<br />
<br />
KgTot = SumStiffnessMatrixGlobal(Kg);<br />
<br />
KgB = BoundaryStiffnessMatrixGlobal(KgTot, Boundary_xyz, Boundary_xy, Boundary_xz, Boundary_yz, Boundary_x, Boundary_y, Boundary_z);<br />
<br />
U = GaussJordan(KgB, load);<br />
<br />
R = ReactionForce(KgTot, U, load);<br />
<br />
F = CheckForce(load,R);<br />
<br />
end QuizSoal1;<br />
<br />
|}<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
'''Permodelan Numerik'''<br />
<br />
<br />
3D Trusses Model<br />
<br />
//define initial variable<br />
parameter Integer Points=size(P,1); //Number of Points<br />
parameter Integer Trusses=size(C,1); //Number of Trusses<br />
parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)<br />
parameter Real Area= (nilai area) ; //Luas Besi Siku (Dimension=30x30x3mm)<br />
parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)<br />
//define connection<br />
parameter Integer C[:,2]=[1,5; // (Elemen 1)<br />
2,6; // (Elemen 2)<br />
3,7; // (Elemen 3)<br />
4,8; // (Elemen 4)<br />
5,6; // (Elemen 5)<br />
6,7; // (Elemen 6)<br />
7,8; // (Elemen 7)<br />
5,8; // (Elemen 8)<br />
5,9; // (Elemen 9)<br />
6,10; // (Elemen 10)<br />
7,11; // (Elemen 11)<br />
8,12; // (Elemen 12)<br />
9,10; // (Elemen 13)<br />
10,11;// (Elemen 14)<br />
11,12;// (Elemen 15)<br />
9,12; // (Elemen 16)<br />
9,13; // (Elemen 17)<br />
10,14;// (Elemen 18)<br />
11,15;// (Elemen 19)<br />
12,16;// (Elemen 20)<br />
13,14;// (Elemen 21)<br />
14,15;// (Elemen 22)<br />
15,16;// (Elemen 23)<br />
13,16];//(Elemen 24)<br />
//define coordinates (please put orderly)<br />
parameter Real P[:,6]=[ 0 ,0 ,0,1,1,1; //node 1<br />
0.75,0 ,0,1,1,1; //node 2<br />
0.75,0.6,0,1,1,1; //node 3<br />
0 ,0.6,0,1,1,1; //node 4<br />
<br />
0 ,0 ,0.3,0,0,0; //node 5<br />
0.75,0 ,0.3,0,0,0; //node 6<br />
0.75,0.6,0.3,0,0,0; //node 7<br />
0 ,0.6,0.3,0,0,0; //node 8<br />
<br />
0 ,0 ,1.05,0,0,0; //node 9<br />
0.75,0 ,1.05,0,0,0; //node 10 <br />
0.75,0.6,1.05,0,0,0; //node 11<br />
0 ,0.6,1.05,0,0,0; //node 12<br />
<br />
0 ,0 ,1.8,0,0,0; //node 13<br />
0.75,0 ,1.8,0,0,0; //node 14<br />
0.75,0.6,1.8,0,0,0; //node 15<br />
0 ,0.6,1.8,0,0,0]; //node 16<br />
<br />
//define external force (please put orderly)<br />
parameter Real F[Points*3]={0,0,0,<br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,-1000, <br />
0,0,-500, <br />
0,0,-500, <br />
0,0,-1000}; <br />
//solution<br />
Real displacement[N], reaction[N];<br />
Real check[3];<br />
Real stress1[Trusses];<br />
Real safety[Trusses];<br />
Real dis[3];<br />
Real Str[3];<br />
protected<br />
parameter Integer N=3*Points;<br />
Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];<br />
Real err=10e-15, ers=10e-8;<br />
algorithm<br />
//Creating Global Matrix<br />
G:=id;<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2];<br />
//Transforming to global matrix<br />
g:=zeros(N,N); <br />
for m,n in 1:3 loop<br />
g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];<br />
g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];<br />
end for; <br />
G_star:=G+g;<br />
G:=G_star;<br />
end for;<br />
//Implementing boundary<br />
for x in 1:Points loop<br />
if P[x,4] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-2,a]:=0;<br />
G[(x*3)-2,(x*3)-2]:=1;<br />
end for;<br />
end if;<br />
if P[x,5] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-1,a]:=0;<br />
G[(x*3)-1,(x*3)-1]:=1;<br />
end for;<br />
end if;<br />
if P[x,6] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[x*3,a]:=0;<br />
G[x*3,x*3]:=1;<br />
end for;<br />
end if;<br />
end for;<br />
//Solving displacement<br />
displacement:=Modelica.Math.Matrices.solve(G,F);<br />
//Solving reaction<br />
reaction:=(G_star*displacement)-F;<br />
//Eliminating float error<br />
for i in 1:N loop<br />
reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];<br />
displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];<br />
end for;<br />
//Checking Force<br />
check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});<br />
check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});<br />
check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); <br />
for i in 1:3 loop<br />
check[i] := if abs(check[i])<=ers then 0 else check[i];<br />
end for;<br />
//Calculating stress in each truss<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2]; <br />
Str:=(X*dis);<br />
stress1[i]:=Modelica.Math.Vectors.length(Str);<br />
end for;<br />
//Safety factor<br />
for i in 1:Trusses loop<br />
if stress1[i]>0 then<br />
safety[i]:=Yield/stress1[i];<br />
else<br />
safety[i]:=0;<br />
end if; <br />
end for;<br />
end Trusses_3D_Tugas_Besar;<br />
<br />
<br />
'''Komputasi'''<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]<br />
<br />
<br />
<br />
Berikut merupakan grafik yang saya dapat<br />
<br />
<br />
[[File:metnumafdhal49.png|600px|center]]<br />
<br />
<br />
<br />
== UAS ==<br />
<br />
No1<br />
<br />
[[File:UASafdhalno1.jpg|300px|center]]<br />
<br />
<br />
No2<br />
<br />
[[File:UASafdhalno2.jpg|300px|center]]<br />
<br />
<br />
No3<br />
<br />
[[File:UASafdhalno3.jpg|300px|center]]<br />
<br />
<br />
No4<br />
<br />
[[File:UASafdhalno4.jpg|300px|center]]<br />
<br />
<br />
No5<br />
<br />
[[File:UASafdhalno5.jpg|300px|center]]<br />
<br />
<br />
No6<br />
<br />
[[File:UASafdhalno6.jpg|300px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=56197Metnum03-Muhammad Afdhal Pradisto2021-01-14T11:45:38Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Stiffness Matrix Element Function'''<br />
<br />
function StiffnessMatrixElement<br />
input Real [:,6] inisiasi_mat;<br />
output Real [size(inisiasi_mat,1),6,6] Ke_mat;<br />
protected<br />
Real cos_x;<br />
Real cos_y;<br />
Real cos_z;<br />
Real [6] StiffTrig;<br />
Real [6,6] StiffTrans;<br />
Real [size(inisiasi_mat,1)] L;<br />
Real [size(inisiasi_mat,1)] k_vec;<br />
algorithm<br />
L := {(sqrt(inisiasi_mat[i,2]^2 + inisiasi_mat[i,3]^2 + inisiasi_mat[i,4]^2)) for i in 1:size(inisiasi_mat,1)};<br />
k_vec := {(inisiasi_mat[i,5] * inisiasi_mat[i,6] / L[i]) for i in 1:size(inisiasi_mat,1)};<br />
// Finding stiffness matrix of each element member<br />
for i in 1:size(inisiasi_mat,1) loop<br />
// Clearing the matrices<br />
StiffTrig := zeros(6);<br />
StiffTrans := zeros(6,6);<br />
// Converting degrees to radians<br />
cos_x := inisiasi_mat[i,2]/L[i];<br />
cos_y := inisiasi_mat[i,3]/L[i];<br />
cos_z := inisiasi_mat[i,4]/L[i];<br />
// {cos^2, sin^2, sincos}<br />
StiffTrig := {(cos_x)^2,<br />
(cos_y)^2,<br />
(cos_z)^2,<br />
(cos_x*cos_y),<br />
(cos_x*cos_z),<br />
(cos_y*cos_z)};<br />
// Construct stiffness transformation matrix<br />
StiffTrans := [ StiffTrig[1], StiffTrig[4], StiffTrig[5], -1*StiffTrig[1], -1*StiffTrig[4], -1*StiffTrig[5];<br />
StiffTrig[4], StiffTrig[2], StiffTrig[6], -1*StiffTrig[4], -1*StiffTrig[2], -1*StiffTrig[6];<br />
StiffTrig[5], StiffTrig[6], StiffTrig[3], -1*StiffTrig[5], -1*StiffTrig[6], -1*StiffTrig[3];<br />
-1*StiffTrig[1], -1*StiffTrig[4], -1*StiffTrig[5], StiffTrig[1], StiffTrig[4], StiffTrig[5];<br />
-1*StiffTrig[4], -1*StiffTrig[2], -1*StiffTrig[6], StiffTrig[4], StiffTrig[2], StiffTrig[6];<br />
-1*StiffTrig[5], -1*StiffTrig[6], -1*StiffTrig[3], StiffTrig[5], StiffTrig[6], StiffTrig[3]]; <br />
// Multiply in stiffness constant of element, add final stiffness matrix to Ke_mat<br />
for m in 1:6 loop<br />
for n in 1:6 loop<br />
Ke_mat[i,m,n] := k_vec[i] * StiffTrans[m,n];<br />
end for;<br />
end for;<br />
end for;<br />
end StiffnessMatrixElement;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Stiffness Matrix Global Function'''<br />
<br />
function StiffnessMatrixGlobal<br />
input Integer x;<br />
input Integer [:,2] n;<br />
input Real [:,6,6] Ke_mat; <br />
output Real [size(Ke_mat,1),3*x,3*x] Kg_mat;<br />
algorithm<br />
Kg_mat := zeros(size(Ke_mat,1),3*x,3*x);<br />
for i in 1:size(Ke_mat,1) loop<br />
Kg_mat[i,3*n[i,1],3*n[i,1]]:=Ke_mat[i,3,3];<br />
Kg_mat[i,3*n[i,1],3*n[i,1]-1]:=Ke_mat[i,3,2];<br />
Kg_mat[i,3*n[i,1],3*n[i,1]-2]:=Ke_mat[i,3,1];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]]:=Ke_mat[i,2,3];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]-1]:=Ke_mat[i,2,2];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]-2]:=Ke_mat[i,2,1];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]]:=Ke_mat[i,1,3];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]-1]:=Ke_mat[i,1,2];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]-2]:=Ke_mat[i,1,1];<br />
<br />
Kg_mat[i,3*n[i,2],3*n[i,2]]:=Ke_mat[i,6,6];<br />
Kg_mat[i,3*n[i,2],3*n[i,2]-1]:=Ke_mat[i,6,5];<br />
Kg_mat[i,3*n[i,2],3*n[i,2]-2]:=Ke_mat[i,6,4];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]]:=Ke_mat[i,5,6];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]-1]:=Ke_mat[i,5,5];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]-2]:=Ke_mat[i,5,4];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]]:=Ke_mat[i,4,6];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]-1]:=Ke_mat[i,4,5];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]-2]:=Ke_mat[i,4,4];<br />
<br />
Kg_mat[i,3*n[i,2],3*n[i,1]]:=Ke_mat[i,6,3];<br />
Kg_mat[i,3*n[i,2],3*n[i,1]-1]:=Ke_mat[i,6,2];<br />
Kg_mat[i,3*n[i,2],3*n[i,1]-2]:=Ke_mat[i,6,1];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]]:=Ke_mat[i,5,3];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]-1]:=Ke_mat[i,5,2];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]-2]:=Ke_mat[i,5,1];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]]:=Ke_mat[i,4,3];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]-1]:=Ke_mat[i,4,2];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]-2]:=Ke_mat[i,4,1];<br />
<br />
Kg_mat[i,3*n[i,1],3*n[i,2]]:=Ke_mat[i,3,6];<br />
Kg_mat[i,3*n[i,1],3*n[i,2]-1]:=Ke_mat[i,3,5];<br />
Kg_mat[i,3*n[i,1],3*n[i,2]-2]:=Ke_mat[i,3,4];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]]:=Ke_mat[i,2,6];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]-1]:=Ke_mat[i,2,5];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]-2]:=Ke_mat[i,2,4];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]]:=Ke_mat[i,1,6];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]-1]:=Ke_mat[i,1,5];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]-2]:=Ke_mat[i,1,4];<br />
end for;<br />
end StiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
''' Sum Stiffness Matrix Element Function'''<br />
<br />
function SumStiffnessMatrixGlobal<br />
input Real [:,:,:] Kg_mat;<br />
output Real [size(Kg_mat,2),size(Kg_mat,2)] KgTot_mat;<br />
algorithm<br />
for a in 1:size(Kg_mat,2) loop<br />
for b in 1:size(Kg_mat,2) loop<br />
KgTot_mat[a,b] := sum(Kg_mat [:,a,b]);<br />
end for;<br />
end for;<br />
end SumStiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
''' Boundary Stiffness Matrix Global Function'''<br />
<br />
function BoundaryStiffnessMatrixGlobal<br />
input Real [:,:] KgTot_met;<br />
input Integer[:] Boundary_xyz;<br />
input Integer[:] Boundary_xy;<br />
input Integer[:] Boundary_xz;<br />
input Integer[:] Boundary_yz;<br />
input Integer[:] Boundary_x;<br />
input Integer[:] Boundary_y;<br />
input Integer[:] Boundary_z;<br />
output Real [size(KgTot_met,1),size(KgTot_met,1)] KgB_met;<br />
<br />
algorithm<br />
for a in 1:size(KgTot_met,1) loop<br />
for b in 1:size(KgTot_met,1) loop<br />
KgB_met[a,b] := KgTot_met [a,b];<br />
end for;<br />
end for; <br />
<br />
if Boundary_xyz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xyz,1) loop<br />
for b in 0:2 loop<br />
KgB_met[3*(Boundary_xyz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xyz[a]-b,3*Boundary_xyz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_xy[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xy,1) loop<br />
for b in 1:2 loop<br />
KgB_met[3*(Boundary_xy[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xy[a]-b,3*Boundary_xy[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_xz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xz,1) loop<br />
for b in 0:2:2 loop<br />
KgB_met[3*(Boundary_xz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xz[a]-b,3*Boundary_xz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_yz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_yz,1) loop<br />
for b in 0:1 loop<br />
KgB_met[3*(Boundary_yz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_yz[a]-b,3*Boundary_yz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_x[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_x,1) loop<br />
KgB_met[3*(Boundary_x[a])-2,i]:=0;<br />
KgB_met[3*Boundary_x[a]-2,3*Boundary_x[a]-2]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_y[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_y,1) loop<br />
KgB_met[3*(Boundary_y[a])-1,i]:=0;<br />
KgB_met[3*Boundary_y[a]-1,3*Boundary_y[a]-1]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_z[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_z,1) loop<br />
KgB_met[3*Boundary_z[a],i]:=0;<br />
KgB_met[3*Boundary_z[a],3*Boundary_z[a]]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
end BoundaryStiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Gauss Jordan Function'''<br />
<br />
function GaussJordan<br />
input Real [:,:] KgB_met;<br />
input Real [size(KgB_met,1)] load_met;<br />
output Real [size(KgB_met,1)] U_met;<br />
<br />
protected<br />
Real float_error = 10e-10;<br />
<br />
algorithm<br />
U_met:=Modelica.Math.Matrices.solve(KgB_met,load_met);<br />
<br />
for i in 1:size(KgB_met,1) loop<br />
if abs(U_met[i]) <= float_error then<br />
U_met[i] := 0;<br />
end if;<br />
end for;<br />
<br />
end GaussJordan;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Reaction Force Function'''<br />
<br />
function ReactionForce<br />
input Real [:,:] KgTot_met;<br />
input Real [size(KgTot_met,1)] U_met;<br />
input Real [size(KgTot_met,1)] load_met;<br />
output Real [size(KgTot_met,1)] R_met;<br />
protected Real float_error = 10e-10;<br />
<br />
algorithm<br />
R_met := KgTot_met*U_met-load_met;<br />
<br />
for t in 1:size(KgTot_met,1) loop<br />
if abs(R_met[t]) <= float_error then<br />
R_met[t] := 0;<br />
end if;<br />
end for;<br />
<br />
end ReactionForce;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Check Force Function'''<br />
<br />
function CheckForce<br />
input Real [:] load;<br />
input Real [size(load,1)] R;<br />
output Real [3] F;<br />
protected Real float_error = 10e-10;<br />
<br />
protected<br />
Real load_x;<br />
Real load_y;<br />
Real load_z;<br />
Real R_x;<br />
Real R_y;<br />
Real R_z;<br />
<br />
algorithm<br />
load_x := sum({load[i] for i in 1:3:(size(load,1)-2)});<br />
load_y := sum({load[i] for i in 2:3:(size(load,1)-1)});<br />
load_z := sum({load[i] for i in 3:3:size(load,1)});<br />
R_x := sum({R[i] for i in 1:3:(size(load,1)-2)});<br />
R_y := sum({R[i] for i in 2:3:(size(load,1)-1)});<br />
R_z := sum({R[i] for i in 3:3:size(load,1)});<br />
<br />
F[1] := load_x + R_x;<br />
F[2] := load_y + R_y;<br />
F[3] := load_z + R_z;<br />
<br />
for i in 1:3 loop<br />
if abs(F[i]) <= float_error then<br />
F[i] := 0;<br />
end if;<br />
end for;<br />
<br />
end CheckForce;<br />
<br />
|}<br />
<br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Class'''<br />
<br />
class QuizSoal1<br />
//inisiasi = [ elemen#, dX, dY, dZ, A, E]<br />
parameter Real [:,6] inisiasi = [1, 6, 0, -3, 1.56, 10.6e6; //isi sesuai data<br />
2, 0, 0, -6, 1.56, 10.6e6;<br />
3, 0, 6, -3, 1.56, 10.6e6;<br />
4, -6, 0, -3, 1.56, 10.6e6;<br />
5, -6, 6, 0, 1.56, 10.6e6;<br />
6, 0, 6, 3, 1.56, 10.6e6];<br />
<br />
//node = [ i, j] <br />
parameter Integer [size(inisiasi,1),2] node = [1, 2; //isi sesuai data<br />
1, 3;<br />
1, 4;<br />
2, 3;<br />
2, 4;<br />
3, 4];<br />
<br />
//jumlah node<br />
parameter Integer n = 4; //isi sesuai data<br />
<br />
//titik node boundary xyz<br />
parameter Integer [:] Boundary_xyz = {1}; //isi sesuai data<br />
<br />
//titik node boundary xy<br />
parameter Integer [:] Boundary_xy = {4}; //isi sesuai data<br />
<br />
//titik node boundary xz<br />
parameter Integer [:] Boundary_xz = {0}; //isi sesuai data<br />
<br />
//titik node boundary yz<br />
parameter Integer [:] Boundary_yz = {0}; //isi sesuai data<br />
<br />
//titik node boundary x<br />
parameter Integer [:] Boundary_x = {3}; //isi sesuai data<br />
<br />
//titik node boundary y<br />
parameter Integer [:] Boundary_y = {0}; //isi sesuai data<br />
<br />
//titik node boundary z<br />
parameter Integer [:] Boundary_z = {0}; //isi sesuai data<br />
<br />
//load = [ F1x, F1y, F1z,..., Fnx, Fny, Fnz]<br />
parameter Real [3*n] load = {0, 0, 0, //isi sesuai data<br />
0, -200, 0, <br />
0, 0, 0, <br />
0, 0, 0}; <br />
<br />
Real [size(inisiasi,1)] L;<br />
Real [size(inisiasi,1)] k;<br />
Real [size(inisiasi,1),6,6] Ke;<br />
Real [size(inisiasi,1),3*n,3*n] Kg;<br />
Real [3*n,3*n] KgTot;<br />
Real [3*n,3*n] KgB;<br />
Real [3*n] U;<br />
Real [3*n] R;<br />
<br />
//check force<br />
Real [3] F;<br />
<br />
equation<br />
L = {(sqrt(inisiasi[i,2]^2 + inisiasi[i,3]^2 + inisiasi[i,4]^2)) for i in 1:size(inisiasi,1)}; <br />
<br />
k = {(inisiasi[i,5] * inisiasi[i,6] / L[i]) for i in 1:size(inisiasi,1)};<br />
<br />
Ke = StiffnessMatrixElement(inisiasi);<br />
<br />
Kg = StiffnessMatrixGlobal(n, node, Ke);<br />
<br />
KgTot = SumStiffnessMatrixGlobal(Kg);<br />
<br />
KgB = BoundaryStiffnessMatrixGlobal(KgTot, Boundary_xyz, Boundary_xy, Boundary_xz, Boundary_yz, Boundary_x, Boundary_y, Boundary_z);<br />
<br />
U = GaussJordan(KgB, load);<br />
<br />
R = ReactionForce(KgTot, U, load);<br />
<br />
F = CheckForce(load,R);<br />
<br />
end QuizSoal1;<br />
<br />
|}<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
'''Permodelan Numerik'''<br />
<br />
<br />
3D Trusses Model<br />
<br />
//define initial variable<br />
parameter Integer Points=size(P,1); //Number of Points<br />
parameter Integer Trusses=size(C,1); //Number of Trusses<br />
parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)<br />
parameter Real Area= (nilai area) ; //Luas Besi Siku (Dimension=30x30x3mm)<br />
parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)<br />
//define connection<br />
parameter Integer C[:,2]=[1,5; // (Elemen 1)<br />
2,6; // (Elemen 2)<br />
3,7; // (Elemen 3)<br />
4,8; // (Elemen 4)<br />
5,6; // (Elemen 5)<br />
6,7; // (Elemen 6)<br />
7,8; // (Elemen 7)<br />
5,8; // (Elemen 8)<br />
5,9; // (Elemen 9)<br />
6,10; // (Elemen 10)<br />
7,11; // (Elemen 11)<br />
8,12; // (Elemen 12)<br />
9,10; // (Elemen 13)<br />
10,11;// (Elemen 14)<br />
11,12;// (Elemen 15)<br />
9,12; // (Elemen 16)<br />
9,13; // (Elemen 17)<br />
10,14;// (Elemen 18)<br />
11,15;// (Elemen 19)<br />
12,16;// (Elemen 20)<br />
13,14;// (Elemen 21)<br />
14,15;// (Elemen 22)<br />
15,16;// (Elemen 23)<br />
13,16];//(Elemen 24)<br />
//define coordinates (please put orderly)<br />
parameter Real P[:,6]=[ 0 ,0 ,0,1,1,1; //node 1<br />
0.75,0 ,0,1,1,1; //node 2<br />
0.75,0.6,0,1,1,1; //node 3<br />
0 ,0.6,0,1,1,1; //node 4<br />
<br />
0 ,0 ,0.3,0,0,0; //node 5<br />
0.75,0 ,0.3,0,0,0; //node 6<br />
0.75,0.6,0.3,0,0,0; //node 7<br />
0 ,0.6,0.3,0,0,0; //node 8<br />
<br />
0 ,0 ,1.05,0,0,0; //node 9<br />
0.75,0 ,1.05,0,0,0; //node 10 <br />
0.75,0.6,1.05,0,0,0; //node 11<br />
0 ,0.6,1.05,0,0,0; //node 12<br />
<br />
0 ,0 ,1.8,0,0,0; //node 13<br />
0.75,0 ,1.8,0,0,0; //node 14<br />
0.75,0.6,1.8,0,0,0; //node 15<br />
0 ,0.6,1.8,0,0,0]; //node 16<br />
<br />
//define external force (please put orderly)<br />
parameter Real F[Points*3]={0,0,0,<br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,-1000, <br />
0,0,-500, <br />
0,0,-500, <br />
0,0,-1000}; <br />
//solution<br />
Real displacement[N], reaction[N];<br />
Real check[3];<br />
Real stress1[Trusses];<br />
Real safety[Trusses];<br />
Real dis[3];<br />
Real Str[3];<br />
protected<br />
parameter Integer N=3*Points;<br />
Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];<br />
Real err=10e-15, ers=10e-8;<br />
algorithm<br />
//Creating Global Matrix<br />
G:=id;<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2];<br />
//Transforming to global matrix<br />
g:=zeros(N,N); <br />
for m,n in 1:3 loop<br />
g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];<br />
g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];<br />
end for; <br />
G_star:=G+g;<br />
G:=G_star;<br />
end for;<br />
//Implementing boundary<br />
for x in 1:Points loop<br />
if P[x,4] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-2,a]:=0;<br />
G[(x*3)-2,(x*3)-2]:=1;<br />
end for;<br />
end if;<br />
if P[x,5] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-1,a]:=0;<br />
G[(x*3)-1,(x*3)-1]:=1;<br />
end for;<br />
end if;<br />
if P[x,6] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[x*3,a]:=0;<br />
G[x*3,x*3]:=1;<br />
end for;<br />
end if;<br />
end for;<br />
//Solving displacement<br />
displacement:=Modelica.Math.Matrices.solve(G,F);<br />
//Solving reaction<br />
reaction:=(G_star*displacement)-F;<br />
//Eliminating float error<br />
for i in 1:N loop<br />
reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];<br />
displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];<br />
end for;<br />
//Checking Force<br />
check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});<br />
check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});<br />
check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); <br />
for i in 1:3 loop<br />
check[i] := if abs(check[i])<=ers then 0 else check[i];<br />
end for;<br />
//Calculating stress in each truss<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2]; <br />
Str:=(X*dis);<br />
stress1[i]:=Modelica.Math.Vectors.length(Str);<br />
end for;<br />
//Safety factor<br />
for i in 1:Trusses loop<br />
if stress1[i]>0 then<br />
safety[i]:=Yield/stress1[i];<br />
else<br />
safety[i]:=0;<br />
end if; <br />
end for;<br />
end Trusses_3D_Tugas_Besar;<br />
<br />
<br />
'''Komputasi'''<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]<br />
<br />
<br />
<br />
Berikut merupakan grafik yang saya dapat<br />
<br />
<br />
[[File:metnumafdhal49.png|600px|center]]<br />
<br />
<br />
<br />
== UAS ==<br />
<br />
[[File:UASafdhalno1.jpg|300px|center]]<br />
<br />
[[File:UASafdhalno2.jpg|300px|center]]<br />
<br />
[[File:UASafdhalno3.jpg|300px|center]]<br />
<br />
[[File:UASafdhalno4.jpg|300px|center]]<br />
<br />
[[File:UASafdhalno5.jpg|300px|center]]<br />
<br />
[[File:UASafdhalno6.jpg|300px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalno6.jpg&diff=56196File:UASafdhalno6.jpg2021-01-14T11:43:32Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalno5.jpg&diff=56195File:UASafdhalno5.jpg2021-01-14T11:43:10Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalno4.jpg&diff=56194File:UASafdhalno4.jpg2021-01-14T11:42:48Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalno3.jpg&diff=56193File:UASafdhalno3.jpg2021-01-14T11:42:18Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalno2.jpg&diff=56192File:UASafdhalno2.jpg2021-01-14T11:41:55Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:UASafdhalno1.jpg&diff=56191File:UASafdhalno1.jpg2021-01-14T11:41:30Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=55517Metnum03-Muhammad Afdhal Pradisto2021-01-13T16:40:16Z<p>Muhammad Afdhal Pradisto: /* Pertemuan 5: 7 Desember 2020 */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Stiffness Matrix Element Function'''<br />
<br />
function StiffnessMatrixElement<br />
input Real [:,6] inisiasi_mat;<br />
output Real [size(inisiasi_mat,1),6,6] Ke_mat;<br />
protected<br />
Real cos_x;<br />
Real cos_y;<br />
Real cos_z;<br />
Real [6] StiffTrig;<br />
Real [6,6] StiffTrans;<br />
Real [size(inisiasi_mat,1)] L;<br />
Real [size(inisiasi_mat,1)] k_vec;<br />
algorithm<br />
L := {(sqrt(inisiasi_mat[i,2]^2 + inisiasi_mat[i,3]^2 + inisiasi_mat[i,4]^2)) for i in 1:size(inisiasi_mat,1)};<br />
k_vec := {(inisiasi_mat[i,5] * inisiasi_mat[i,6] / L[i]) for i in 1:size(inisiasi_mat,1)};<br />
// Finding stiffness matrix of each element member<br />
for i in 1:size(inisiasi_mat,1) loop<br />
// Clearing the matrices<br />
StiffTrig := zeros(6);<br />
StiffTrans := zeros(6,6);<br />
// Converting degrees to radians<br />
cos_x := inisiasi_mat[i,2]/L[i];<br />
cos_y := inisiasi_mat[i,3]/L[i];<br />
cos_z := inisiasi_mat[i,4]/L[i];<br />
// {cos^2, sin^2, sincos}<br />
StiffTrig := {(cos_x)^2,<br />
(cos_y)^2,<br />
(cos_z)^2,<br />
(cos_x*cos_y),<br />
(cos_x*cos_z),<br />
(cos_y*cos_z)};<br />
// Construct stiffness transformation matrix<br />
StiffTrans := [ StiffTrig[1], StiffTrig[4], StiffTrig[5], -1*StiffTrig[1], -1*StiffTrig[4], -1*StiffTrig[5];<br />
StiffTrig[4], StiffTrig[2], StiffTrig[6], -1*StiffTrig[4], -1*StiffTrig[2], -1*StiffTrig[6];<br />
StiffTrig[5], StiffTrig[6], StiffTrig[3], -1*StiffTrig[5], -1*StiffTrig[6], -1*StiffTrig[3];<br />
-1*StiffTrig[1], -1*StiffTrig[4], -1*StiffTrig[5], StiffTrig[1], StiffTrig[4], StiffTrig[5];<br />
-1*StiffTrig[4], -1*StiffTrig[2], -1*StiffTrig[6], StiffTrig[4], StiffTrig[2], StiffTrig[6];<br />
-1*StiffTrig[5], -1*StiffTrig[6], -1*StiffTrig[3], StiffTrig[5], StiffTrig[6], StiffTrig[3]]; <br />
// Multiply in stiffness constant of element, add final stiffness matrix to Ke_mat<br />
for m in 1:6 loop<br />
for n in 1:6 loop<br />
Ke_mat[i,m,n] := k_vec[i] * StiffTrans[m,n];<br />
end for;<br />
end for;<br />
end for;<br />
end StiffnessMatrixElement;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Stiffness Matrix Global Function'''<br />
<br />
function StiffnessMatrixGlobal<br />
input Integer x;<br />
input Integer [:,2] n;<br />
input Real [:,6,6] Ke_mat; <br />
output Real [size(Ke_mat,1),3*x,3*x] Kg_mat;<br />
algorithm<br />
Kg_mat := zeros(size(Ke_mat,1),3*x,3*x);<br />
for i in 1:size(Ke_mat,1) loop<br />
Kg_mat[i,3*n[i,1],3*n[i,1]]:=Ke_mat[i,3,3];<br />
Kg_mat[i,3*n[i,1],3*n[i,1]-1]:=Ke_mat[i,3,2];<br />
Kg_mat[i,3*n[i,1],3*n[i,1]-2]:=Ke_mat[i,3,1];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]]:=Ke_mat[i,2,3];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]-1]:=Ke_mat[i,2,2];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,1]-2]:=Ke_mat[i,2,1];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]]:=Ke_mat[i,1,3];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]-1]:=Ke_mat[i,1,2];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,1]-2]:=Ke_mat[i,1,1];<br />
<br />
Kg_mat[i,3*n[i,2],3*n[i,2]]:=Ke_mat[i,6,6];<br />
Kg_mat[i,3*n[i,2],3*n[i,2]-1]:=Ke_mat[i,6,5];<br />
Kg_mat[i,3*n[i,2],3*n[i,2]-2]:=Ke_mat[i,6,4];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]]:=Ke_mat[i,5,6];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]-1]:=Ke_mat[i,5,5];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,2]-2]:=Ke_mat[i,5,4];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]]:=Ke_mat[i,4,6];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]-1]:=Ke_mat[i,4,5];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,2]-2]:=Ke_mat[i,4,4];<br />
<br />
Kg_mat[i,3*n[i,2],3*n[i,1]]:=Ke_mat[i,6,3];<br />
Kg_mat[i,3*n[i,2],3*n[i,1]-1]:=Ke_mat[i,6,2];<br />
Kg_mat[i,3*n[i,2],3*n[i,1]-2]:=Ke_mat[i,6,1];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]]:=Ke_mat[i,5,3];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]-1]:=Ke_mat[i,5,2];<br />
Kg_mat[i,3*n[i,2]-1,3*n[i,1]-2]:=Ke_mat[i,5,1];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]]:=Ke_mat[i,4,3];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]-1]:=Ke_mat[i,4,2];<br />
Kg_mat[i,3*n[i,2]-2,3*n[i,1]-2]:=Ke_mat[i,4,1];<br />
<br />
Kg_mat[i,3*n[i,1],3*n[i,2]]:=Ke_mat[i,3,6];<br />
Kg_mat[i,3*n[i,1],3*n[i,2]-1]:=Ke_mat[i,3,5];<br />
Kg_mat[i,3*n[i,1],3*n[i,2]-2]:=Ke_mat[i,3,4];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]]:=Ke_mat[i,2,6];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]-1]:=Ke_mat[i,2,5];<br />
Kg_mat[i,3*n[i,1]-1,3*n[i,2]-2]:=Ke_mat[i,2,4];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]]:=Ke_mat[i,1,6];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]-1]:=Ke_mat[i,1,5];<br />
Kg_mat[i,3*n[i,1]-2,3*n[i,2]-2]:=Ke_mat[i,1,4];<br />
end for;<br />
end StiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
''' Sum Stiffness Matrix Element Function'''<br />
<br />
function SumStiffnessMatrixGlobal<br />
input Real [:,:,:] Kg_mat;<br />
output Real [size(Kg_mat,2),size(Kg_mat,2)] KgTot_mat;<br />
algorithm<br />
for a in 1:size(Kg_mat,2) loop<br />
for b in 1:size(Kg_mat,2) loop<br />
KgTot_mat[a,b] := sum(Kg_mat [:,a,b]);<br />
end for;<br />
end for;<br />
end SumStiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
''' Boundary Stiffness Matrix Global Function'''<br />
<br />
function BoundaryStiffnessMatrixGlobal<br />
input Real [:,:] KgTot_met;<br />
input Integer[:] Boundary_xyz;<br />
input Integer[:] Boundary_xy;<br />
input Integer[:] Boundary_xz;<br />
input Integer[:] Boundary_yz;<br />
input Integer[:] Boundary_x;<br />
input Integer[:] Boundary_y;<br />
input Integer[:] Boundary_z;<br />
output Real [size(KgTot_met,1),size(KgTot_met,1)] KgB_met;<br />
<br />
algorithm<br />
for a in 1:size(KgTot_met,1) loop<br />
for b in 1:size(KgTot_met,1) loop<br />
KgB_met[a,b] := KgTot_met [a,b];<br />
end for;<br />
end for; <br />
<br />
if Boundary_xyz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xyz,1) loop<br />
for b in 0:2 loop<br />
KgB_met[3*(Boundary_xyz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xyz[a]-b,3*Boundary_xyz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_xy[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xy,1) loop<br />
for b in 1:2 loop<br />
KgB_met[3*(Boundary_xy[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xy[a]-b,3*Boundary_xy[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_xz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_xz,1) loop<br />
for b in 0:2:2 loop<br />
KgB_met[3*(Boundary_xz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_xz[a]-b,3*Boundary_xz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_yz[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_yz,1) loop<br />
for b in 0:1 loop<br />
KgB_met[3*(Boundary_yz[a])-b,i]:=0;<br />
KgB_met[3*Boundary_yz[a]-b,3*Boundary_yz[a]-b]:=1;<br />
end for;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_x[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_x,1) loop<br />
KgB_met[3*(Boundary_x[a])-2,i]:=0;<br />
KgB_met[3*Boundary_x[a]-2,3*Boundary_x[a]-2]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_y[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_y,1) loop<br />
KgB_met[3*(Boundary_y[a])-1,i]:=0;<br />
KgB_met[3*Boundary_y[a]-1,3*Boundary_y[a]-1]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
<br />
if Boundary_z[1] <> 0 then<br />
for i in 1:size(KgTot_met,1) loop<br />
for a in 1:size(Boundary_z,1) loop<br />
KgB_met[3*Boundary_z[a],i]:=0;<br />
KgB_met[3*Boundary_z[a],3*Boundary_z[a]]:=1;<br />
end for;<br />
end for;<br />
end if;<br />
end BoundaryStiffnessMatrixGlobal;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Gauss Jordan Function'''<br />
<br />
function GaussJordan<br />
input Real [:,:] KgB_met;<br />
input Real [size(KgB_met,1)] load_met;<br />
output Real [size(KgB_met,1)] U_met;<br />
<br />
protected<br />
Real float_error = 10e-10;<br />
<br />
algorithm<br />
U_met:=Modelica.Math.Matrices.solve(KgB_met,load_met);<br />
<br />
for i in 1:size(KgB_met,1) loop<br />
if abs(U_met[i]) <= float_error then<br />
U_met[i] := 0;<br />
end if;<br />
end for;<br />
<br />
end GaussJordan;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Reaction Force Function'''<br />
<br />
function ReactionForce<br />
input Real [:,:] KgTot_met;<br />
input Real [size(KgTot_met,1)] U_met;<br />
input Real [size(KgTot_met,1)] load_met;<br />
output Real [size(KgTot_met,1)] R_met;<br />
protected Real float_error = 10e-10;<br />
<br />
algorithm<br />
R_met := KgTot_met*U_met-load_met;<br />
<br />
for t in 1:size(KgTot_met,1) loop<br />
if abs(R_met[t]) <= float_error then<br />
R_met[t] := 0;<br />
end if;<br />
end for;<br />
<br />
end ReactionForce;<br />
<br />
|}<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Check Force Function'''<br />
<br />
function CheckForce<br />
input Real [:] load;<br />
input Real [size(load,1)] R;<br />
output Real [3] F;<br />
protected Real float_error = 10e-10;<br />
<br />
protected<br />
Real load_x;<br />
Real load_y;<br />
Real load_z;<br />
Real R_x;<br />
Real R_y;<br />
Real R_z;<br />
<br />
algorithm<br />
load_x := sum({load[i] for i in 1:3:(size(load,1)-2)});<br />
load_y := sum({load[i] for i in 2:3:(size(load,1)-1)});<br />
load_z := sum({load[i] for i in 3:3:size(load,1)});<br />
R_x := sum({R[i] for i in 1:3:(size(load,1)-2)});<br />
R_y := sum({R[i] for i in 2:3:(size(load,1)-1)});<br />
R_z := sum({R[i] for i in 3:3:size(load,1)});<br />
<br />
F[1] := load_x + R_x;<br />
F[2] := load_y + R_y;<br />
F[3] := load_z + R_z;<br />
<br />
for i in 1:3 loop<br />
if abs(F[i]) <= float_error then<br />
F[i] := 0;<br />
end if;<br />
end for;<br />
<br />
end CheckForce;<br />
<br />
|}<br />
<br />
<br />
<br />
{| class="wikitable"<br />
|-<br />
| style='border-style: none none solid solid;' | <br />
'''Class'''<br />
<br />
class QuizSoal1<br />
//inisiasi = [ elemen#, dX, dY, dZ, A, E]<br />
parameter Real [:,6] inisiasi = [1, 6, 0, -3, 1.56, 10.6e6; //isi sesuai data<br />
2, 0, 0, -6, 1.56, 10.6e6;<br />
3, 0, 6, -3, 1.56, 10.6e6;<br />
4, -6, 0, -3, 1.56, 10.6e6;<br />
5, -6, 6, 0, 1.56, 10.6e6;<br />
6, 0, 6, 3, 1.56, 10.6e6];<br />
<br />
//node = [ i, j] <br />
parameter Integer [size(inisiasi,1),2] node = [1, 2; //isi sesuai data<br />
1, 3;<br />
1, 4;<br />
2, 3;<br />
2, 4;<br />
3, 4];<br />
<br />
//jumlah node<br />
parameter Integer n = 4; //isi sesuai data<br />
<br />
//titik node boundary xyz<br />
parameter Integer [:] Boundary_xyz = {1}; //isi sesuai data<br />
<br />
//titik node boundary xy<br />
parameter Integer [:] Boundary_xy = {4}; //isi sesuai data<br />
<br />
//titik node boundary xz<br />
parameter Integer [:] Boundary_xz = {0}; //isi sesuai data<br />
<br />
//titik node boundary yz<br />
parameter Integer [:] Boundary_yz = {0}; //isi sesuai data<br />
<br />
//titik node boundary x<br />
parameter Integer [:] Boundary_x = {3}; //isi sesuai data<br />
<br />
//titik node boundary y<br />
parameter Integer [:] Boundary_y = {0}; //isi sesuai data<br />
<br />
//titik node boundary z<br />
parameter Integer [:] Boundary_z = {0}; //isi sesuai data<br />
<br />
//load = [ F1x, F1y, F1z,..., Fnx, Fny, Fnz]<br />
parameter Real [3*n] load = {0, 0, 0, //isi sesuai data<br />
0, -200, 0, <br />
0, 0, 0, <br />
0, 0, 0}; <br />
<br />
Real [size(inisiasi,1)] L;<br />
Real [size(inisiasi,1)] k;<br />
Real [size(inisiasi,1),6,6] Ke;<br />
Real [size(inisiasi,1),3*n,3*n] Kg;<br />
Real [3*n,3*n] KgTot;<br />
Real [3*n,3*n] KgB;<br />
Real [3*n] U;<br />
Real [3*n] R;<br />
<br />
//check force<br />
Real [3] F;<br />
<br />
equation<br />
L = {(sqrt(inisiasi[i,2]^2 + inisiasi[i,3]^2 + inisiasi[i,4]^2)) for i in 1:size(inisiasi,1)}; <br />
<br />
k = {(inisiasi[i,5] * inisiasi[i,6] / L[i]) for i in 1:size(inisiasi,1)};<br />
<br />
Ke = StiffnessMatrixElement(inisiasi);<br />
<br />
Kg = StiffnessMatrixGlobal(n, node, Ke);<br />
<br />
KgTot = SumStiffnessMatrixGlobal(Kg);<br />
<br />
KgB = BoundaryStiffnessMatrixGlobal(KgTot, Boundary_xyz, Boundary_xy, Boundary_xz, Boundary_yz, Boundary_x, Boundary_y, Boundary_z);<br />
<br />
U = GaussJordan(KgB, load);<br />
<br />
R = ReactionForce(KgTot, U, load);<br />
<br />
F = CheckForce(load,R);<br />
<br />
end QuizSoal1;<br />
<br />
|}<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
'''Permodelan Numerik'''<br />
<br />
<br />
3D Trusses Model<br />
<br />
//define initial variable<br />
parameter Integer Points=size(P,1); //Number of Points<br />
parameter Integer Trusses=size(C,1); //Number of Trusses<br />
parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)<br />
parameter Real Area= (nilai area) ; //Luas Besi Siku (Dimension=30x30x3mm)<br />
parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)<br />
//define connection<br />
parameter Integer C[:,2]=[1,5; // (Elemen 1)<br />
2,6; // (Elemen 2)<br />
3,7; // (Elemen 3)<br />
4,8; // (Elemen 4)<br />
5,6; // (Elemen 5)<br />
6,7; // (Elemen 6)<br />
7,8; // (Elemen 7)<br />
5,8; // (Elemen 8)<br />
5,9; // (Elemen 9)<br />
6,10; // (Elemen 10)<br />
7,11; // (Elemen 11)<br />
8,12; // (Elemen 12)<br />
9,10; // (Elemen 13)<br />
10,11;// (Elemen 14)<br />
11,12;// (Elemen 15)<br />
9,12; // (Elemen 16)<br />
9,13; // (Elemen 17)<br />
10,14;// (Elemen 18)<br />
11,15;// (Elemen 19)<br />
12,16;// (Elemen 20)<br />
13,14;// (Elemen 21)<br />
14,15;// (Elemen 22)<br />
15,16;// (Elemen 23)<br />
13,16];//(Elemen 24)<br />
//define coordinates (please put orderly)<br />
parameter Real P[:,6]=[ 0 ,0 ,0,1,1,1; //node 1<br />
0.75,0 ,0,1,1,1; //node 2<br />
0.75,0.6,0,1,1,1; //node 3<br />
0 ,0.6,0,1,1,1; //node 4<br />
<br />
0 ,0 ,0.3,0,0,0; //node 5<br />
0.75,0 ,0.3,0,0,0; //node 6<br />
0.75,0.6,0.3,0,0,0; //node 7<br />
0 ,0.6,0.3,0,0,0; //node 8<br />
<br />
0 ,0 ,1.05,0,0,0; //node 9<br />
0.75,0 ,1.05,0,0,0; //node 10 <br />
0.75,0.6,1.05,0,0,0; //node 11<br />
0 ,0.6,1.05,0,0,0; //node 12<br />
<br />
0 ,0 ,1.8,0,0,0; //node 13<br />
0.75,0 ,1.8,0,0,0; //node 14<br />
0.75,0.6,1.8,0,0,0; //node 15<br />
0 ,0.6,1.8,0,0,0]; //node 16<br />
<br />
//define external force (please put orderly)<br />
parameter Real F[Points*3]={0,0,0,<br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,-1000, <br />
0,0,-500, <br />
0,0,-500, <br />
0,0,-1000}; <br />
//solution<br />
Real displacement[N], reaction[N];<br />
Real check[3];<br />
Real stress1[Trusses];<br />
Real safety[Trusses];<br />
Real dis[3];<br />
Real Str[3];<br />
protected<br />
parameter Integer N=3*Points;<br />
Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];<br />
Real err=10e-15, ers=10e-8;<br />
algorithm<br />
//Creating Global Matrix<br />
G:=id;<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2];<br />
//Transforming to global matrix<br />
g:=zeros(N,N); <br />
for m,n in 1:3 loop<br />
g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];<br />
g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];<br />
end for; <br />
G_star:=G+g;<br />
G:=G_star;<br />
end for;<br />
//Implementing boundary<br />
for x in 1:Points loop<br />
if P[x,4] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-2,a]:=0;<br />
G[(x*3)-2,(x*3)-2]:=1;<br />
end for;<br />
end if;<br />
if P[x,5] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-1,a]:=0;<br />
G[(x*3)-1,(x*3)-1]:=1;<br />
end for;<br />
end if;<br />
if P[x,6] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[x*3,a]:=0;<br />
G[x*3,x*3]:=1;<br />
end for;<br />
end if;<br />
end for;<br />
//Solving displacement<br />
displacement:=Modelica.Math.Matrices.solve(G,F);<br />
//Solving reaction<br />
reaction:=(G_star*displacement)-F;<br />
//Eliminating float error<br />
for i in 1:N loop<br />
reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];<br />
displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];<br />
end for;<br />
//Checking Force<br />
check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});<br />
check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});<br />
check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); <br />
for i in 1:3 loop<br />
check[i] := if abs(check[i])<=ers then 0 else check[i];<br />
end for;<br />
//Calculating stress in each truss<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2]; <br />
Str:=(X*dis);<br />
stress1[i]:=Modelica.Math.Vectors.length(Str);<br />
end for;<br />
//Safety factor<br />
for i in 1:Trusses loop<br />
if stress1[i]>0 then<br />
safety[i]:=Yield/stress1[i];<br />
else<br />
safety[i]:=0;<br />
end if; <br />
end for;<br />
end Trusses_3D_Tugas_Besar;<br />
<br />
<br />
'''Komputasi'''<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]<br />
<br />
<br />
<br />
Berikut merupakan grafik yang saya dapat<br />
<br />
<br />
[[File:metnumafdhal49.png|600px|center]]<br />
<br />
<br />
<br />
== UAS ==</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=55012Metnum03-Muhammad Afdhal Pradisto2021-01-13T09:45:53Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
'''Permodelan Numerik'''<br />
<br />
<br />
3D Trusses Model<br />
<br />
//define initial variable<br />
parameter Integer Points=size(P,1); //Number of Points<br />
parameter Integer Trusses=size(C,1); //Number of Trusses<br />
parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)<br />
parameter Real Area= (nilai area) ; //Luas Besi Siku (Dimension=30x30x3mm)<br />
parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)<br />
//define connection<br />
parameter Integer C[:,2]=[1,5; // (Elemen 1)<br />
2,6; // (Elemen 2)<br />
3,7; // (Elemen 3)<br />
4,8; // (Elemen 4)<br />
5,6; // (Elemen 5)<br />
6,7; // (Elemen 6)<br />
7,8; // (Elemen 7)<br />
5,8; // (Elemen 8)<br />
5,9; // (Elemen 9)<br />
6,10; // (Elemen 10)<br />
7,11; // (Elemen 11)<br />
8,12; // (Elemen 12)<br />
9,10; // (Elemen 13)<br />
10,11;// (Elemen 14)<br />
11,12;// (Elemen 15)<br />
9,12; // (Elemen 16)<br />
9,13; // (Elemen 17)<br />
10,14;// (Elemen 18)<br />
11,15;// (Elemen 19)<br />
12,16;// (Elemen 20)<br />
13,14;// (Elemen 21)<br />
14,15;// (Elemen 22)<br />
15,16;// (Elemen 23)<br />
13,16];//(Elemen 24)<br />
//define coordinates (please put orderly)<br />
parameter Real P[:,6]=[ 0 ,0 ,0,1,1,1; //node 1<br />
0.75,0 ,0,1,1,1; //node 2<br />
0.75,0.6,0,1,1,1; //node 3<br />
0 ,0.6,0,1,1,1; //node 4<br />
<br />
0 ,0 ,0.3,0,0,0; //node 5<br />
0.75,0 ,0.3,0,0,0; //node 6<br />
0.75,0.6,0.3,0,0,0; //node 7<br />
0 ,0.6,0.3,0,0,0; //node 8<br />
<br />
0 ,0 ,1.05,0,0,0; //node 9<br />
0.75,0 ,1.05,0,0,0; //node 10 <br />
0.75,0.6,1.05,0,0,0; //node 11<br />
0 ,0.6,1.05,0,0,0; //node 12<br />
<br />
0 ,0 ,1.8,0,0,0; //node 13<br />
0.75,0 ,1.8,0,0,0; //node 14<br />
0.75,0.6,1.8,0,0,0; //node 15<br />
0 ,0.6,1.8,0,0,0]; //node 16<br />
<br />
//define external force (please put orderly)<br />
parameter Real F[Points*3]={0,0,0,<br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,-1000, <br />
0,0,-500, <br />
0,0,-500, <br />
0,0,-1000}; <br />
//solution<br />
Real displacement[N], reaction[N];<br />
Real check[3];<br />
Real stress1[Trusses];<br />
Real safety[Trusses];<br />
Real dis[3];<br />
Real Str[3];<br />
protected<br />
parameter Integer N=3*Points;<br />
Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];<br />
Real err=10e-15, ers=10e-8;<br />
algorithm<br />
//Creating Global Matrix<br />
G:=id;<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2];<br />
//Transforming to global matrix<br />
g:=zeros(N,N); <br />
for m,n in 1:3 loop<br />
g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];<br />
g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];<br />
end for; <br />
G_star:=G+g;<br />
G:=G_star;<br />
end for;<br />
//Implementing boundary<br />
for x in 1:Points loop<br />
if P[x,4] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-2,a]:=0;<br />
G[(x*3)-2,(x*3)-2]:=1;<br />
end for;<br />
end if;<br />
if P[x,5] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-1,a]:=0;<br />
G[(x*3)-1,(x*3)-1]:=1;<br />
end for;<br />
end if;<br />
if P[x,6] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[x*3,a]:=0;<br />
G[x*3,x*3]:=1;<br />
end for;<br />
end if;<br />
end for;<br />
//Solving displacement<br />
displacement:=Modelica.Math.Matrices.solve(G,F);<br />
//Solving reaction<br />
reaction:=(G_star*displacement)-F;<br />
//Eliminating float error<br />
for i in 1:N loop<br />
reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];<br />
displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];<br />
end for;<br />
//Checking Force<br />
check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});<br />
check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});<br />
check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); <br />
for i in 1:3 loop<br />
check[i] := if abs(check[i])<=ers then 0 else check[i];<br />
end for;<br />
//Calculating stress in each truss<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2]; <br />
Str:=(X*dis);<br />
stress1[i]:=Modelica.Math.Vectors.length(Str);<br />
end for;<br />
//Safety factor<br />
for i in 1:Trusses loop<br />
if stress1[i]>0 then<br />
safety[i]:=Yield/stress1[i];<br />
else<br />
safety[i]:=0;<br />
end if; <br />
end for;<br />
end Trusses_3D_Tugas_Besar;<br />
<br />
<br />
'''Komputasi'''<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]<br />
<br />
<br />
<br />
Berikut merupakan grafik yang saya dapat<br />
<br />
<br />
[[File:metnumafdhal49.png|600px|center]]<br />
<br />
<br />
<br />
== UAS ==</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=54910Metnum03-Muhammad Afdhal Pradisto2021-01-13T08:04:19Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
'''Permodelan Numerik'''<br />
<br />
<br />
3D Trusses Model<br />
<br />
//define initial variable<br />
parameter Integer Points=size(P,1); //Number of Points<br />
parameter Integer Trusses=size(C,1); //Number of Trusses<br />
parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)<br />
parameter Real Area= (nilai area) ; //Luas Besi Siku (Dimension=30x30x3mm)<br />
parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)<br />
//define connection<br />
parameter Integer C[:,2]=[1,5; // (Elemen 1)<br />
2,6; // (Elemen 2)<br />
3,7; // (Elemen 3)<br />
4,8; // (Elemen 4)<br />
5,6; // (Elemen 5)<br />
6,7; // (Elemen 6)<br />
7,8; // (Elemen 7)<br />
5,8; // (Elemen 8)<br />
5,9; // (Elemen 9)<br />
6,10; // (Elemen 10)<br />
7,11; // (Elemen 11)<br />
8,12; // (Elemen 12)<br />
9,10; // (Elemen 13)<br />
10,11;// (Elemen 14)<br />
11,12;// (Elemen 15)<br />
9,12; // (Elemen 16)<br />
9,13; // (Elemen 17)<br />
10,14;// (Elemen 18)<br />
11,15;// (Elemen 19)<br />
12,16;// (Elemen 20)<br />
13,14;// (Elemen 21)<br />
14,15;// (Elemen 22)<br />
15,16;// (Elemen 23)<br />
13,16];//(Elemen 24)<br />
//define coordinates (please put orderly)<br />
parameter Real P[:,6]=[ 0 ,0 ,0,1,1,1; //node 1<br />
0.75,0 ,0,1,1,1; //node 2<br />
0.75,0.6,0,1,1,1; //node 3<br />
0 ,0.6,0,1,1,1; //node 4<br />
<br />
0 ,0 ,0.3,0,0,0; //node 5<br />
0.75,0 ,0.3,0,0,0; //node 6<br />
0.75,0.6,0.3,0,0,0; //node 7<br />
0 ,0.6,0.3,0,0,0; //node 8<br />
<br />
0 ,0 ,1.05,0,0,0; //node 9<br />
0.75,0 ,1.05,0,0,0; //node 10 <br />
0.75,0.6,1.05,0,0,0; //node 11<br />
0 ,0.6,1.05,0,0,0; //node 12<br />
<br />
0 ,0 ,1.8,0,0,0; //node 13<br />
0.75,0 ,1.8,0,0,0; //node 14<br />
0.75,0.6,1.8,0,0,0; //node 15<br />
0 ,0.6,1.8,0,0,0]; //node 16<br />
<br />
//define external force (please put orderly)<br />
parameter Real F[Points*3]={0,0,0,<br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,-1000, <br />
0,0,-500, <br />
0,0,-500, <br />
0,0,-1000}; <br />
//solution<br />
Real displacement[N], reaction[N];<br />
Real check[3];<br />
Real stress1[Trusses];<br />
Real safety[Trusses];<br />
Real dis[3];<br />
Real Str[3];<br />
protected<br />
parameter Integer N=3*Points;<br />
Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];<br />
Real err=10e-15, ers=10e-8;<br />
algorithm<br />
//Creating Global Matrix<br />
G:=id;<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2];<br />
//Transforming to global matrix<br />
g:=zeros(N,N); <br />
for m,n in 1:3 loop<br />
g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];<br />
g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];<br />
end for; <br />
G_star:=G+g;<br />
G:=G_star;<br />
end for;<br />
//Implementing boundary<br />
for x in 1:Points loop<br />
if P[x,4] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-2,a]:=0;<br />
G[(x*3)-2,(x*3)-2]:=1;<br />
end for;<br />
end if;<br />
if P[x,5] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-1,a]:=0;<br />
G[(x*3)-1,(x*3)-1]:=1;<br />
end for;<br />
end if;<br />
if P[x,6] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[x*3,a]:=0;<br />
G[x*3,x*3]:=1;<br />
end for;<br />
end if;<br />
end for;<br />
//Solving displacement<br />
displacement:=Modelica.Math.Matrices.solve(G,F);<br />
//Solving reaction<br />
reaction:=(G_star*displacement)-F;<br />
//Eliminating float error<br />
for i in 1:N loop<br />
reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];<br />
displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];<br />
end for;<br />
//Checking Force<br />
check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});<br />
check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});<br />
check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); <br />
for i in 1:3 loop<br />
check[i] := if abs(check[i])<=ers then 0 else check[i];<br />
end for;<br />
//Calculating stress in each truss<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2]; <br />
Str:=(X*dis);<br />
stress1[i]:=Modelica.Math.Vectors.length(Str);<br />
end for;<br />
//Safety factor<br />
for i in 1:Trusses loop<br />
if stress1[i]>0 then<br />
safety[i]:=Yield/stress1[i];<br />
else<br />
safety[i]:=0;<br />
end if; <br />
end for;<br />
end Trusses_3D_Tugas_Besar;<br />
<br />
<br />
'''Komputasi'''<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]<br />
<br />
<br />
<br />
Berikut merupakan grafik yang saya dapat<br />
<br />
<br />
[[File:metnumafdhal49.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:Metnumafdhal49.png&diff=54909File:Metnumafdhal49.png2021-01-13T08:03:06Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Valve-Muhammad_Afdhal_Pradisto&diff=54361Valve-Muhammad Afdhal Pradisto2021-01-07T09:03:19Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ <br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
<br />
== Pertemuan 1: 12 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan pertama ini, Pak Dai menjelaskan tentang penggunaan aplikasi yang bisa mempermudah kita dalam memahami mata kuliah Sistem Fluida ini. Pak Dai menjelaskan tentang pressure drop yang terjadi pada valve yang dialiri oleh suatu fluida dengan menggunakan aplikasi CFDSOF. Lalu kita diminta untuk mencoba aplikasi CFDSOF untuk mencari pressure drop yang ada.<br />
<br />
<br />
=== Tugas 1 ===<br />
<br />
Tugas 1 ini menggunakan valve dengan gate terbuka semua. Saya belajar dari tutorial yang ada di youtube yang terdiri dari 3 part.<br />
<br />
https://www.youtube.com/watch?v=RANhtK5u5W0 (Part 1)<br />
<br />
https://www.youtube.com/watch?v=qpumUG0veRs (Part 2)<br />
<br />
https://www.youtube.com/watch?v=54OqQL1BIY0 (Part 3)<br />
<br />
Dan saya menggunakan valve yang sudah disediakan pada description di video tersebut.<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan pertama saya menggunakan CFDSOF.<br />
<br />
[[File:Valveafdhal1.png|600px|center]]<br />
<br />
[[File:Valveafdhal2.png|600px|center]]<br />
<br />
[[File:Valveafdhal3.png|600px|center]]<br />
<br />
[[File:Valveafdhal4.png|600px|center]]<br />
<br />
<br />
Jika membandingkan percobaan pertama yang saya lakukan dengan hasil yang ada pada video di youtube, tampaknya saya melakukan kesalahan karena hasilnya berbeda. Dibawah ini adalah hasil screenshot dari percobaan kedua saya.<br />
<br />
[[File:Valveafdhal5.png|600px|center]]<br />
<br />
[[File:Valveafdhal6.png|600px|center]]<br />
<br />
[[File:Valveafdhal7.png|600px|center]]<br />
<br />
[[File:Valveafdhal8.png|600px|center]]<br />
<br />
Pressure drop merupakan selisih dari preessure total inlet dan pressure total outlet. Dan pressure drop yang saya dapat adalah 0.000715978<br />
<br />
== Pertemuan 2: 19 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan kedua ini, kami berdiskusi dengan Pak Dai dan juga dengan senior kami dari kelas CFD. Kami membahas tentang metode dalam menganalisis sistem fluida.<br />
<br />
[[File:pertemuan2afdhal.png|600px|center]]<br />
<br />
Pak Dai menjelaska ada 3 metode dalam menganalisis Sistem Fluida yaitu eksperimen, CFD, dan teori. Ketiga metode tersebut saling melengkapi.<br />
<br />
Eksperimen : Melakukan eksperimen atau uji secara langssung<br />
<br />
CFD : Menggunakan aplikasi CFD untuk mempermudah simulasi percobaan<br />
<br />
Teori : Menggunakan teori-teori untuk memverifikasi data yang didapat seperti segitiga kecepatan<br />
<br />
<br />
=== Tugas 2 ===<br />
<br />
Pak Dai memberikan tugas simulasi sistem fluida menggunakan aplikasi OpenModelica. Saya menggunakan Tank yang ada pada fitur Examples yang ada didalam aplikasi tersebut.<br />
<br />
<br />
[[File:modelicaafdhal1.png|600px|center]]<br />
<br />
[[File:modelicaafdhal2.png|600px|center]]<br />
<br />
[[File:modelicaafdhal3.png|600px|center]]<br />
<br />
[[File:modelicaafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 3: 26 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan menanyakan pendapat kepada mahasiswa kelas Sistem Fluida 03 tentang definisi dari pemodelan sistem fluida. Lalu Pak Dai menjelaskan apa definisi dari pemodelan sistem fluida tersebut.<br />
<br />
Filosofi pemodelan fluida adalah sebuah usaha untuk mempelajari sebuah sistem aktual melalui sebuah sistem yang disimplifikasi. Sebuah model ini adalah sebuah sistem yang disederhanakan yang bertujuan untuk mempresentasikan kondisi sebenarnya. Permodelan tersebut akan sangat kita perlukan karena kita akan kesulitan menghadapi kondisi aktual yang memiliki kondisi yang kompleks seperti skala yang besar, temperatur yang tidak teratur, dan lain lain. Contohnya pembangkit listrik seperti PLTA atau PLTU. Maka dari itu kita mmembutuhkan sebuah sistem yang bisa menyederhanakannya. Pemodelan itu seperti membuat replika dari kondisi yang sebenarnya. Sistem itu juga akan mempermudah kita untuk mempelajari sistem fluida jika ada perubahan-perubahan pada nilai variabel dari model tersebut.<br />
<br />
Model tersebut dibagi 2 jenis.<br />
<br />
Model Fisik : membuat pemodelan dari alatnya itu sendiri<br />
<br />
Model Virtual : membuat pemodelan secara komputasi atau menggunakan komputer, memerlukan sistem fisika atau ilmu dasar seperti prinsip prinsip fluida<br />
<br />
Sebuah sistem fisik berusaha menerjemahkan dalam bentuk model, dan model itu harus didefinisikan seperti menjadi variabel-variabel apa yang terlibat dalam model tersebut, hubungan antara variabel, dan analisis terhadap hukum fisikanya.<br />
<br />
Setelah itu Pak Hariyo melakukan simulasi menggunakan aplikasi OpenModelica tentang Two Tanks yaitu sistem fluida yang berbentuk horizontal dan Empty Tank yang berbentuk vertikal. Dan juga Simple Cooling.<br />
<br />
<br />
[[File:sisfluafdhal1.png|600px|center]]<br />
<br />
<br />
[[File:sisfluafdhal2.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3 ===<br />
<br />
<br />
Analisas Pemodelan Heating System :<br />
<br />
[[File:sisfluafdhal3.png|600px|center]]<br />
<br />
<br />
1. Deskripsi/uraian fisik berdasarkan bagan yang ada<br />
<br />
Sistem berikut merupakan sistem pemanas dengan siklus aliran hidup. <br />
<br />
2. Prosedur analisa pemodelan<br />
<br />
Pertama kita harus memastikan coding yang bisa dilihat pada Text View. Kita memastikan juga apakah codingan itu sudah memiliki persamaan dan variabel yang sudah benar dengan cara klik logo ceklis satu atau check model. Setelah itu kita simulasi permodelan tersebut dan mendapatkan grafik dari setiap variabel yang ada. <br />
<br />
3. Analisa dan Interpretasi Hasil Pemodelan<br />
<br />
Aliran berawal dari tanki yang setelah itu dipompa menuju sistem pemanas. Aliran akan melalui sensor untuk menghitung laju perpindahan massa. Setelah melewati sistem pemanas, temperatur aliran akan diukur dengan sensor temperatur. Lalu aliran melaju melewati pipa dan disitu terjadi perpindahan kalor dan massa antara dalam pipa dan ambient. Aliran fluida terhenti di valve yang dikontrol. Lalu aliran melaju kembali menuju tangki. Selama proses dari pemanas hingga mencapai tangki, terjadi perpindahan kalor dan massa sepanjang pipa.<br />
<br />
4. Catatan konsep utama hukum fisika yang diimplementasikan dalam pemodelan<br />
<br />
Konsep utama hukum yang digunakan dalam pemodelan adalah:<br />
<br />
- Hukum konservasi energi<br />
<br />
- Hukum konservasi massa<br />
<br />
- Hukum konservasi momentum<br />
<br />
- Hukum Termodinamika 1<br />
<br />
5. Berikan hasil-hasil simulasi parameter untuk mendukung kesimpulan yang diperoleh<br />
<br />
Setelah saya coba simulasi, ternyata terjadi error pada simulasi tersebut. Error tersebut seperti pada gambar dibawah ini. Jadi grafik untuk sistem ini tidak muncul karena error tersebut dan saya belum paham apa yang membuat pemodelan sistem ini error.<br />
<br />
[[File:sisfluafdhal6.png|600px|center]]<br />
<br />
<br />
<br />
Analisa Pemodelan Three Tanks :<br />
<br />
[[File:sisfluafdhal4.png|600px|center]]<br />
<br />
<br />
1. Deskripsi/uraian fisik berdasarkan bagan yang ada<br />
<br />
Pada gambar diatas terdapat 3 tanki yang berhubungan dengan 3 pipa dan memiliki ketinggian air yang berbeda juga. Air dari tanki 1 akan mengisi tanki 2 dan tanki 3. Pada pemodelan ini saya bisa menganalisis perpindahan air darir tanki 1 ke tanki 2 dan tanki 3.<br />
<br />
2. Prosedur analisa pemodelan<br />
<br />
Pertama kita harus memastikan coding yang bisa dilihat pada Text View. Kita memastikan juga apakah codingan itu sudah memiliki persamaan dan variabel yang sudah benar dengan cara klik logo ceklis satu atau check model. Setelah itu kita simulasi permodelan tersebut dan mendapatkan grafik dari setiap variabel yang ada.<br />
<br />
3. Analisa dan Interpretasi Hasil Pemodelan<br />
<br />
Fluida yang digunakan dari sistem Three Tanks adalah air. Kondisi awal menunjukan bahwa ketinggian fluida dari tiap tanki berbeda. Tanki dengan volume yang lebih besar memiliki tekanan yang lebih tinggi karena massa fluidanya juga besar. Hal itu yang menyebabkan fluida dari tanki 1 akan berpindah ke tanki lainnya sampai keadaan titik seimbang.<br />
<br />
4. Catatan konsep utama hukum fisika yang diimplementasikan dalam pemodelan<br />
<br />
Konsep utama hukum yang digunakan dalam pemodelan adalah :<br />
<br />
- Hukum II Newton -> dikembangkan menjadi persamaan pressure drop<br />
<br />
- Mass balance equation<br />
<br />
5. Berikan hasil-hasil simulasi parameter untuk mendukung kesimpulan yang diperoleh<br />
<br />
Setelah disimulasi, maka akan didapatkan grafik dari hasil simulasi tersebut seperti yang ada dibawah ini.<br />
<br />
[[File:sisfluafdhal5.png|600px|center]]<br />
<br />
Grafik ini menunjukan ketinggian level fluida dari tiap tanki per satuan waktu. Dapat dilihat ketinggian tanki 1 semakin menurun karena adanya perpindahan fluida ke tanki lainnya. Sedangkan tanki 2 dan 3 mengalami kenaikan level ketinggian fluida karena mendapatkan fluida dari tanki 1 sehingga mencapai titik seimbang.<br />
<br />
<br />
<br />
<br />
== Pertemuan 4: 3 Desember 2020 ==<br />
<br />
=== Tugas 4 ===<br />
<br />
<br />
Soal :<br />
<br />
<br />
[[File:sisfluafdhal7.png|600px|center]]<br />
<br />
<br />
'''1. Bagaimanakah analisa termodinamika (konservasi massa dan energi) pada sistem tersebut, buat skematik analisisnya.'''<br />
<br />
<br />
Model Combined Cycle Power Plant digunakan untuk mensimulasikan reduksi beban berlangkah pada power generator dari 100% menjadi 50% dalam waktu 800 detik.<br />
<br />
Pada simulasi ini terdapat 2 sistem yaitu gas turbin dan steam turbin. Dibawah ini merupakan penejelasan dari kedua sistem tersebut.<br />
<br />
<br />
<br />
'''a. Gas Turbin'''<br />
<br />
<br />
Komponen :<br />
<br />
<br />
* Air Compressor : meningkatkan tekanan udara yang di alirkan menuju combustion chamber<br />
<br />
* Combusition Chamber : Tempat dimana bahan bakar bersatu dengan udara dan melakukan kontak dengan busi, campuran tersebut dibakar dan didorong keluar dari Combusition Chamber dalam bentuk energi.<br />
<br />
* Turbine : Gas panas yang memiliki temperature dan pressure tinggi diteruskan ke turbin untuk memutarkan turbin. Hasil dari turbin ada dua. Yaitu power yang nantinya akan diteruskan ke altenator generator dan udara panas hasil dari turbin gas yang akan diteruskan ke Heat Recovery Steam Generator. Gas Turbine yang berputar akibat dari panas yang di hasilkan pada combustiom chamber yang di aliri oleh nozzle menuju turbin. <br />
<br />
Siklus yang terjadi dalam gas turbine adalah siklus rankine.<br />
<br />
[[File:sisfluafdhalsiklusrankine.png|600px|center]]<br />
<br />
<br />
'''b. Steam Turbin'''<br />
<br />
<br />
Komponen :<br />
<br />
<br />
* Heat Recovery Steam Generator (HRSG) : menangkap gas buangan dari gas turbin yang jika tidak dipasang, dapat keluar melalui saluran pembuangan. HRSG berguna untuk memanaskan kembali uap pembuangan dari gas turbin untuk dialiri ke turbin, yang dimana turbin 2 bertugas memutar generator untuk menghasilkan suatu energi.<br />
<br />
* Aliran steam ini kemudian melewati steam Turbin, sehingga membuat steam turbin berputar dan menggerakkan generator drive shaft. Generator drive shaft ini kemudian mengubah sisa energi buangan Hasil buangan dari turbin dialirkan menuju kondesor untuk merubah sifat dari uap menjadi cair agar dapat didorong oleh pompa menuju HRSG untuk dipanaskan Kembali.<br />
<br />
Siklus yang terjadi pada proses ini adalah siklus bryton.<br />
<br />
[[File:sisfluafdhalsiklusbryton.png|600px|center]]<br />
<br />
<br />
<br />
'''2. Lakukan identifikasi komponen-komponen utama pada sistem serta berilah deskripsi fungsi kerjanya dalam sistem dan penjelasan analisis parameter yang digunakan.'''<br />
<br />
<br />
Terdapat 2 bagian sistem pembangkit yaitu Gas Turbin dan juga Steam Turbin.<br />
<br />
'''2.1. Steam Turbin'''<br />
<br />
'''a. Condensor'''<br />
<br />
Bisa mengubah fasa uap panas menjadi liquid<br />
<br />
[[File:sisfluafdhalcondensor.png|600px|center]]<br />
<br />
<br />
'''b. Drum'''<br />
<br />
[[File:sisfluafdhaldrum.png|600px|center]]<br />
<br />
<br />
'''c. Generator'''<br />
<br />
Didalam generator bisa mengubah energi mekanik menjadi energi listrik.<br />
<br />
[[File:sisfluafdhalgenerator.png|600px|center]]<br />
<br />
<br />
Ada juga beberapa jenis dari Heat Exchanger :<br />
<br />
<br />
* SuperHeater<br />
<br />
[[File:sisfluafdhalsuperheater.png|600px|center]]<br />
<br />
<br />
* Evaporator<br />
<br />
[[File:sisfluafdhalevaporator.png|600px|center]]<br />
<br />
<br />
* Economiser<br />
<br />
[[File:sisfluafdhaleconomiser.png|600px|center]]<br />
<br />
<br />
'''d. Turbin Uap'''<br />
<br />
Pada turbin uap ini, ada tiga jenis turbin seperti yang ada di sistem, yaitu high pressure, intermediate pressure, dan low pressure<br />
<br />
[[File:sisfluafdhalturbinuap.png|600px|center]]<br />
<br />
<br />
'''e. Valve'''<br />
<br />
Untuk mengatur laju aliran fluida<br />
<br />
[[File:sisfluafdhalvalve.png|600px|center]]<br />
<br />
<br />
'''f. Water Mixer'''<br />
<br />
Junction yang menghubungkan beberapa inlet dan menggabungkannya menjadi kurang dari atau sama dengan jumlah inlet.<br />
<br />
[[File:sisfluafdhalwatermixer.png|600px|center]]<br />
<br />
<br />
'''g. Water Splitter'''<br />
<br />
Junction yang menghubungkan 1 atau 2 inlet dan memecahnya menjadi lebih dari atau sama dengan jumlah inlet pada outlet.<br />
<br />
[[File:sisfluafdhalwatersplitter.png|600px|center]]<br />
<br />
<br />
'''2.2. Gas Turbin'''<br />
<br />
Berikut merupakan perincian dari turbin gas yang didapat dari ThermoSysPro.FlueGases.TAC.GasTurbine<br />
<br />
[[File:sisfluafdhalgasturbin.png|600px|center]]<br />
<br />
<br />
'''a. Compressor'''<br />
<br />
[[File:sisfluafdhalcompressor.png|600px|center]]<br />
<br />
<br />
'''b. Turbin Gas'''<br />
<br />
Udara di turbin gas mengalami peningkatan tekanan dan temperatur akibat proses pembakaran yang terjadi. Udara panas tersebut kemudian digunakan untuk menggerakkan turbin gas tersebut.<br />
<br />
[[File:sisfluafdhalturbingas.png|600px|center]]<br />
<br />
'''c. Combustion Chamber'''<br />
<br />
[[File:sisfluafdhalcombustionchamber.png|600px|center]]<br />
<br />
<br />
<br />
'''3. Medium fluida kerja apa saja yang terjadi dalam proses siklus tersebut, dan bagaimanakah proses analisis perhitungan dalam pemodelan.'''<br />
<br />
<br />
Berikut merupakan medium fluida yang bekerja dalam proses siklus tersebut :<br />
<br />
* Turbin Gas (Menghasilkan kerja)<br />
<br />
* Turbin Uap (Menghasilkan kerja)<br />
<br />
* Pompa Sentrifugal (Membutuhkan kerja)<br />
<br />
* Kompresor (Membutuhkan kerja)<br />
<br />
Kemudian, pada Analisa perhitungannya dapat menggunakan hukum konservasi energi dan konservasi massa<br />
<br />
* Pada kompresor,pompa,turbin dan HRSG mengalami proses adiabatic,yang dimana proses adiabatik adalah proses yang tidak terjadi pergantian kalor dari sistem ke lingkungan ataupun sebaliknya.<br />
<br />
* Proses ini diasumsikan kondisi steady state dan energi kinetic potensial diabaikan<br />
<br />
<br />
<br />
'''4. Jelaskan flow line (jalur koneksi) masing-masing yang diberi warna hitam, merah, dan biru sesuai dengan interkoneksi yang diberikan dalam diagram tersebut.'''<br />
<br />
<br />
a. Jalur Hitam : Sebagai jalur energi keluar yang dimanfaatkan sebagai penggerak.<br />
<br />
b. Jalur Merah : Sebagai aliran fluida high temperature.<br />
<br />
c. Jalur Biru : Sebagai jalur fluida low temperature.<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 5: 10 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini Pak Dai memulai kelas dengan langsung melakukan simulasi OpenModelica bersama Pak Hariyo. Simulasi yang dipelajari adalah thermosyspro yang ada pada library di OpenModelica. Pertama, kami disuruh membuka model yang sudah tersedia pada library tersebut dan memahami setiap parameter yang ada dari tiap komponen. Setelah itu kami diminta untuk membuat ulang model tersebut atau remodel dari sistem itu agar parameter yang ada pada tiap komponen bisa diubah-ubah.<br />
<br />
Kami melakukan remodel dengan mencari masing-masing komponen yang dibutuhkan pada library. Lalu kami gabungkan tiap komponen dengan cara menarik garis dari setiap ujung panah komponen ke komponen lainnya. Setiap komponen masih belum memiliki parameter. Maka tiap komponen kami isi parameternya dengan mengikuti yang sudah ada pada sistem yang sudah jadi sebelumnya. Setelah itu kami check model untuk mengetahui apakah model yang kami buat sudah sama dengan yang ada pada examples.<br />
<br />
Pak Dai juga membahas mengenai tugas besar yang akan dikerjakan oleh mahasiswa. Mahasiswa diminta untuk memiliki bayangan bagaimana permodelan yang akan dibuat menganai pemipaan yang ada dalam pengolahan bahan bakar. Pak Dai juga meminta untuk membuat cabang pada permodelan tersebut sehingga ada valve yang bisa dianalisa menggunakan CFDSOF.<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 6: 17 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-6 ini, kelas Sisflu mengadakan Kuliah Tamu. Kami kedatangan seorang CEO PT. Indopower Internasional yaitu Dr.Ir. Harum Al Rosyid. Dalam pertemuan ini beliau menjelaskan mata kuliah sistem fluida ini dengan tema The Proven Combined-Cycle Power Plant in Indonesia.<br />
<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
'''Latar Belakang'''<br />
<br />
Latar belakang dari tugas besar ini adalah agar kita bisa memahami simulasi dari suatu sistem fluida. Simulasi ini dilakukan dengan menggunakan aplikasi CFDSOF dan OpenModelica. Menggunakan bantuan aplikasi tersebut untuk mempermudah kita untuk mengetahui keadaan asli dari sistem tersebut. Aplikasi tersebut bisa mempermudah kita dengan mengatur parameter-parameter yang ada dalam sistem tersebut. <br />
<br />
'''Tujuan'''<br />
<br />
Tujuan dari tugas besar ini merupakan sebagai penilaian Pak Dai untuk mengukur seberapa jauh pemahaman mahasiswa terhadap mata kuliah sistem fluida ini terutama dalam mengenai contoh-contoh simulasi sistem fluida.<br />
<br />
'''Metodologi'''<br />
<br />
Perancangan dari tugas besar ini dilakukan dengan simulasi metode CFD dengan aplikasi OpenModelica. Ketika simulasi sudah berhasil dan memenuhi pengecekan. Maka hasil simulasi akan diambil untuk dianalisis.<br />
<br />
'''Perencanaan'''<br />
<br />
1. Meriset kasus aliran fluida<br />
<br />
2. Mempelajari OpenModelica<br />
<br />
3. Membuat sketsa sistem fluida<br />
<br />
4. Proses pembuatan skema di OpenModelica<br />
<br />
5. Melakukan revisi dan perbaikan<br />
<br />
6. Penyelesaian tugas besar.<br />
<br />
<br />
[[File:sisfluafdhal20.png|600px|center]]<br />
<br />
<br />
[[File:sisfluafdhal21.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:Sisfluafdhal21.png&diff=54356File:Sisfluafdhal21.png2021-01-07T09:02:15Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:Sisfluafdhal20.png&diff=54354File:Sisfluafdhal20.png2021-01-07T09:01:51Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51965Metnum03-Muhammad Afdhal Pradisto2021-01-04T07:10:31Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
'''Permodelan Numerik'''<br />
<br />
<br />
3D Trusses Model<br />
<br />
//define initial variable<br />
parameter Integer Points=size(P,1); //Number of Points<br />
parameter Integer Trusses=size(C,1); //Number of Trusses<br />
parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)<br />
parameter Real Area= (nilai area) ; //Luas Besi Siku (Dimension=30x30x3mm)<br />
parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)<br />
//define connection<br />
parameter Integer C[:,2]=[1,5; // (Elemen 1)<br />
2,6; // (Elemen 2)<br />
3,7; // (Elemen 3)<br />
4,8; // (Elemen 4)<br />
5,6; // (Elemen 5)<br />
6,7; // (Elemen 6)<br />
7,8; // (Elemen 7)<br />
5,8; // (Elemen 8)<br />
5,9; // (Elemen 9)<br />
6,10; // (Elemen 10)<br />
7,11; // (Elemen 11)<br />
8,12; // (Elemen 12)<br />
9,10; // (Elemen 13)<br />
10,11;// (Elemen 14)<br />
11,12;// (Elemen 15)<br />
9,12; // (Elemen 16)<br />
9,13; // (Elemen 17)<br />
10,14;// (Elemen 18)<br />
11,15;// (Elemen 19)<br />
12,16;// (Elemen 20)<br />
13,14;// (Elemen 21)<br />
14,15;// (Elemen 22)<br />
15,16;// (Elemen 23)<br />
13,16];//(Elemen 24)<br />
//define coordinates (please put orderly)<br />
parameter Real P[:,6]=[ 0 ,0 ,0,1,1,1; //node 1<br />
0.75,0 ,0,1,1,1; //node 2<br />
0.75,0.6,0,1,1,1; //node 3<br />
0 ,0.6,0,1,1,1; //node 4<br />
<br />
0 ,0 ,0.3,0,0,0; //node 5<br />
0.75,0 ,0.3,0,0,0; //node 6<br />
0.75,0.6,0.3,0,0,0; //node 7<br />
0 ,0.6,0.3,0,0,0; //node 8<br />
<br />
0 ,0 ,1.05,0,0,0; //node 9<br />
0.75,0 ,1.05,0,0,0; //node 10 <br />
0.75,0.6,1.05,0,0,0; //node 11<br />
0 ,0.6,1.05,0,0,0; //node 12<br />
<br />
0 ,0 ,1.8,0,0,0; //node 13<br />
0.75,0 ,1.8,0,0,0; //node 14<br />
0.75,0.6,1.8,0,0,0; //node 15<br />
0 ,0.6,1.8,0,0,0]; //node 16<br />
<br />
//define external force (please put orderly)<br />
parameter Real F[Points*3]={0,0,0,<br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,-1000, <br />
0,0,-500, <br />
0,0,-500, <br />
0,0,-1000}; <br />
//solution<br />
Real displacement[N], reaction[N];<br />
Real check[3];<br />
Real stress1[Trusses];<br />
Real safety[Trusses];<br />
Real dis[3];<br />
Real Str[3];<br />
protected<br />
parameter Integer N=3*Points;<br />
Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];<br />
Real err=10e-15, ers=10e-8;<br />
algorithm<br />
//Creating Global Matrix<br />
G:=id;<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2];<br />
//Transforming to global matrix<br />
g:=zeros(N,N); <br />
for m,n in 1:3 loop<br />
g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];<br />
g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];<br />
end for; <br />
G_star:=G+g;<br />
G:=G_star;<br />
end for;<br />
//Implementing boundary<br />
for x in 1:Points loop<br />
if P[x,4] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-2,a]:=0;<br />
G[(x*3)-2,(x*3)-2]:=1;<br />
end for;<br />
end if;<br />
if P[x,5] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-1,a]:=0;<br />
G[(x*3)-1,(x*3)-1]:=1;<br />
end for;<br />
end if;<br />
if P[x,6] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[x*3,a]:=0;<br />
G[x*3,x*3]:=1;<br />
end for;<br />
end if;<br />
end for;<br />
//Solving displacement<br />
displacement:=Modelica.Math.Matrices.solve(G,F);<br />
//Solving reaction<br />
reaction:=(G_star*displacement)-F;<br />
//Eliminating float error<br />
for i in 1:N loop<br />
reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];<br />
displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];<br />
end for;<br />
//Checking Force<br />
check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});<br />
check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});<br />
check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); <br />
for i in 1:3 loop<br />
check[i] := if abs(check[i])<=ers then 0 else check[i];<br />
end for;<br />
//Calculating stress in each truss<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2]; <br />
Str:=(X*dis);<br />
stress1[i]:=Modelica.Math.Vectors.length(Str);<br />
end for;<br />
//Safety factor<br />
for i in 1:Trusses loop<br />
if stress1[i]>0 then<br />
safety[i]:=Yield/stress1[i];<br />
else<br />
safety[i]:=0;<br />
end if; <br />
end for;<br />
end Trusses_3D_Tugas_Besar;<br />
<br />
<br />
'''Komputasi'''<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51963Metnum03-Muhammad Afdhal Pradisto2021-01-04T07:09:25Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
'''Permodelan Numerik'''<br />
<br />
<br />
3D Trusses Model<br />
<br />
//define initial variable<br />
parameter Integer Points=size(P,1); //Number of Points<br />
parameter Integer Trusses=size(C,1); //Number of Trusses<br />
parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)<br />
parameter Real Area= (nilai area) ; //Luas Besi Siku (Dimension=30x30x3mm)<br />
parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)<br />
//define connection<br />
parameter Integer C[:,2]=[1,5; // (Elemen 1)<br />
2,6; // (Elemen 2)<br />
3,7; // (Elemen 3)<br />
4,8; // (Elemen 4)<br />
5,6; // (Elemen 5)<br />
6,7; // (Elemen 6)<br />
7,8; // (Elemen 7)<br />
5,8; // (Elemen 8)<br />
5,9; // (Elemen 9)<br />
6,10; // (Elemen 10)<br />
7,11; // (Elemen 11)<br />
8,12; // (Elemen 12)<br />
9,10; // (Elemen 13)<br />
10,11;// (Elemen 14)<br />
11,12;// (Elemen 15)<br />
9,12; // (Elemen 16)<br />
9,13; // (Elemen 17)<br />
10,14;// (Elemen 18)<br />
11,15;// (Elemen 19)<br />
12,16;// (Elemen 20)<br />
13,14;// (Elemen 21)<br />
14,15;// (Elemen 22)<br />
15,16;// (Elemen 23)<br />
13,16];//(Elemen 24)<br />
//define coordinates (please put orderly)<br />
parameter Real P[:,6]=[ 0 ,0 ,0,1,1,1; //node 1<br />
0.75,0 ,0,1,1,1; //node 2<br />
0.75,0.6,0,1,1,1; //node 3<br />
0 ,0.6,0,1,1,1; //node 4<br />
<br />
0 ,0 ,0.3,0,0,0; //node 5<br />
0.75,0 ,0.3,0,0,0; //node 6<br />
0.75,0.6,0.3,0,0,0; //node 7<br />
0 ,0.6,0.3,0,0,0; //node 8<br />
<br />
0 ,0 ,1.05,0,0,0; //node 9<br />
0.75,0 ,1.05,0,0,0; //node 10 <br />
0.75,0.6,1.05,0,0,0; //node 11<br />
0 ,0.6,1.05,0,0,0; //node 12<br />
<br />
0 ,0 ,1.8,0,0,0; //node 13<br />
0.75,0 ,1.8,0,0,0; //node 14<br />
0.75,0.6,1.8,0,0,0; //node 15<br />
0 ,0.6,1.8,0,0,0]; //node 16<br />
<br />
//define external force (please put orderly)<br />
parameter Real F[Points*3]={0,0,0,<br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,-1000, <br />
0,0,-500, <br />
0,0,-500, <br />
0,0,-1000}; <br />
//solution<br />
Real displacement[N], reaction[N];<br />
Real check[3];<br />
Real stress1[Trusses];<br />
Real safety[Trusses];<br />
Real dis[3];<br />
Real Str[3];<br />
protected<br />
parameter Integer N=3*Points;<br />
Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];<br />
Real err=10e-15, ers=10e-8;<br />
algorithm<br />
//Creating Global Matrix<br />
G:=id;<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2];<br />
//Transforming to global matrix<br />
g:=zeros(N,N); <br />
for m,n in 1:3 loop<br />
g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];<br />
g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];<br />
end for; <br />
G_star:=G+g;<br />
G:=G_star;<br />
end for;<br />
//Implementing boundary<br />
for x in 1:Points loop<br />
if P[x,4] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-2,a]:=0;<br />
G[(x*3)-2,(x*3)-2]:=1;<br />
end for;<br />
end if;<br />
if P[x,5] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-1,a]:=0;<br />
G[(x*3)-1,(x*3)-1]:=1;<br />
end for;<br />
end if;<br />
if P[x,6] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[x*3,a]:=0;<br />
G[x*3,x*3]:=1;<br />
end for;<br />
end if;<br />
end for;<br />
//Solving displacement<br />
displacement:=Modelica.Math.Matrices.solve(G,F);<br />
//Solving reaction<br />
reaction:=(G_star*displacement)-F;<br />
//Eliminating float error<br />
for i in 1:N loop<br />
reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];<br />
displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];<br />
end for;<br />
//Checking Force<br />
check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});<br />
check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});<br />
check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); <br />
for i in 1:3 loop<br />
check[i] := if abs(check[i])<=ers then 0 else check[i];<br />
end for;<br />
//Calculating stress in each truss<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2]; <br />
Str:=(X*dis);<br />
stress1[i]:=Modelica.Math.Vectors.length(Str);<br />
end for;<br />
//Safety factor<br />
for i in 1:Trusses loop<br />
if stress1[i]>0 then<br />
safety[i]:=Yield/stress1[i];<br />
else<br />
safety[i]:=0;<br />
end if; <br />
end for;<br />
end Trusses_3D_Tugas_Besar;<br />
<br />
<br />
'''Komputasi'''<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51957Metnum03-Muhammad Afdhal Pradisto2021-01-04T07:07:24Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
'''Permodelan Numerik'''<br />
<br />
<br />
3D Trusses Model<br />
<br />
//define initial variable<br />
parameter Integer Points=size(P,1); //Number of Points<br />
parameter Integer Trusses=size(C,1); //Number of Trusses<br />
parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)<br />
parameter Real Area= (nilai area) ; //Luas Besi Siku (Dimension=30x30x3mm)<br />
parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)<br />
//define connection<br />
parameter Integer C[:,2]=[1,5; // (Elemen 1)<br />
2,6; // (Elemen 2)<br />
3,7; // (Elemen 3)<br />
4,8; // (Elemen 4)<br />
5,6; // (Elemen 5)<br />
6,7; // (Elemen 6)<br />
7,8; // (Elemen 7)<br />
5,8; // (Elemen 8)<br />
5,9; // (Elemen 9)<br />
6,10; // (Elemen 10)<br />
7,11; // (Elemen 11)<br />
8,12; // (Elemen 12)<br />
9,10; // (Elemen 13)<br />
10,11;// (Elemen 14)<br />
11,12;// (Elemen 15)<br />
9,12; // (Elemen 16)<br />
9,13; // (Elemen 17)<br />
10,14;// (Elemen 18)<br />
11,15;// (Elemen 19)<br />
12,16;// (Elemen 20)<br />
13,14;// (Elemen 21)<br />
14,15;// (Elemen 22)<br />
15,16;// (Elemen 23)<br />
13,16];//(Elemen 24)<br />
//define coordinates (please put orderly)<br />
parameter Real P[:,6]=[ 0 ,0 ,0,1,1,1; //node 1<br />
0.75,0 ,0,1,1,1; //node 2<br />
0.75,0.6,0,1,1,1; //node 3<br />
0 ,0.6,0,1,1,1; //node 4<br />
<br />
0 ,0 ,0.3,0,0,0; //node 5<br />
0.75,0 ,0.3,0,0,0; //node 6<br />
0.75,0.6,0.3,0,0,0; //node 7<br />
0 ,0.6,0.3,0,0,0; //node 8<br />
<br />
0 ,0 ,1.05,0,0,0; //node 9<br />
0.75,0 ,1.05,0,0,0; //node 10 <br />
0.75,0.6,1.05,0,0,0; //node 11<br />
0 ,0.6,1.05,0,0,0; //node 12<br />
<br />
0 ,0 ,1.8,0,0,0; //node 13<br />
0.75,0 ,1.8,0,0,0; //node 14<br />
0.75,0.6,1.8,0,0,0; //node 15<br />
0 ,0.6,1.8,0,0,0]; //node 16<br />
<br />
//define external force (please put orderly)<br />
parameter Real F[Points*3]={0,0,0,<br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,-1000, <br />
0,0,-500, <br />
0,0,-500, <br />
0,0,-1000}; <br />
//solution<br />
Real displacement[N], reaction[N];<br />
Real check[3];<br />
Real stress1[Trusses];<br />
Real safety[Trusses];<br />
Real dis[3];<br />
Real Str[3];<br />
protected<br />
parameter Integer N=3*Points;<br />
Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];<br />
Real err=10e-15, ers=10e-8;<br />
algorithm<br />
//Creating Global Matrix<br />
G:=id;<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2];<br />
//Transforming to global matrix<br />
g:=zeros(N,N); <br />
for m,n in 1:3 loop<br />
g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];<br />
g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];<br />
end for; <br />
G_star:=G+g;<br />
G:=G_star;<br />
end for;<br />
//Implementing boundary<br />
for x in 1:Points loop<br />
if P[x,4] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-2,a]:=0;<br />
G[(x*3)-2,(x*3)-2]:=1;<br />
end for;<br />
end if;<br />
if P[x,5] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-1,a]:=0;<br />
G[(x*3)-1,(x*3)-1]:=1;<br />
end for;<br />
end if;<br />
if P[x,6] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[x*3,a]:=0;<br />
G[x*3,x*3]:=1;<br />
end for;<br />
end if;<br />
end for;<br />
//Solving displacement<br />
displacement:=Modelica.Math.Matrices.solve(G,F);<br />
//Solving reaction<br />
reaction:=(G_star*displacement)-F;<br />
//Eliminating float error<br />
for i in 1:N loop<br />
reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];<br />
displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];<br />
end for;<br />
//Checking Force<br />
check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});<br />
check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});<br />
check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); <br />
for i in 1:3 loop<br />
check[i] := if abs(check[i])<=ers then 0 else check[i];<br />
end for;<br />
//Calculating stress in each truss<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2]; <br />
Str:=(X*dis);<br />
stress1[i]:=Modelica.Math.Vectors.length(Str);<br />
end for;<br />
//Safety factor<br />
for i in 1:Trusses loop<br />
if stress1[i]>0 then<br />
safety[i]:=Yield/stress1[i];<br />
else<br />
safety[i]:=0;<br />
end if; <br />
end for;<br />
end Trusses_3D_Tugas_Besar;<br />
<br />
<br />
'''Komputasi'''<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51953Metnum03-Muhammad Afdhal Pradisto2021-01-04T07:04:47Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
'''Permodelan Numerik'''<br />
<br />
<br />
3D Trusses Model<br />
<br />
//define initial variable<br />
parameter Integer Points=size(P,1); //Number of Points<br />
parameter Integer Trusses=size(C,1); //Number of Trusses<br />
parameter Real Yield= (nilai yield) ; //Yield Strength Material(Pa)<br />
parameter Real Area= (nilai area) ; //Luas Besi Siku (Dimension=30x30x3mm)<br />
parameter Real Elas= (nilai elastisitas) ; //Elasticity Material (Pa)<br />
//define connection<br />
parameter Integer C[:,2]=[1,5; // (Elemen 1)<br />
2,6; // (Elemen 2)<br />
3,7; // (Elemen 3)<br />
4,8; // (Elemen 4)<br />
5,6; // (Elemen 5)<br />
6,7; // (Elemen 6)<br />
7,8; // (Elemen 7)<br />
5,8; // (Elemen 8)<br />
5,9; // (Elemen 9)<br />
6,10; // (Elemen 10)<br />
7,11; // (Elemen 11)<br />
8,12; // (Elemen 12)<br />
9,10; // (Elemen 13)<br />
10,11;// (Elemen 14)<br />
11,12;// (Elemen 15)<br />
9,12; // (Elemen 16)<br />
9,13; // (Elemen 17)<br />
10,14;// (Elemen 18)<br />
11,15;// (Elemen 19)<br />
12,16;// (Elemen 20)<br />
13,14;// (Elemen 21)<br />
14,15;// (Elemen 22)<br />
15,16;// (Elemen 23)<br />
13,16];//(Elemen 24)<br />
//define coordinates (please put orderly)<br />
parameter Real P[:,6]=[ 0 ,0 ,0,1,1,1; //node 1<br />
0.75,0 ,0,1,1,1; //node 2<br />
0.75,0.6,0,1,1,1; //node 3<br />
0 ,0.6,0,1,1,1; //node 4<br />
<br />
0 ,0 ,0.3,0,0,0; //node 5<br />
0.75,0 ,0.3,0,0,0; //node 6<br />
0.75,0.6,0.3,0,0,0; //node 7<br />
0 ,0.6,0.3,0,0,0; //node 8<br />
<br />
0 ,0 ,1.05,0,0,0; //node 9<br />
0.75,0 ,1.05,0,0,0; //node 10 <br />
0.75,0.6,1.05,0,0,0; //node 11<br />
0 ,0.6,1.05,0,0,0; //node 12<br />
<br />
0 ,0 ,1.8,0,0,0; //node 13<br />
0.75,0 ,1.8,0,0,0; //node 14<br />
0.75,0.6,1.8,0,0,0; //node 15<br />
0 ,0.6,1.8,0,0,0]; //node 16<br />
<br />
//define external force (please put orderly)<br />
parameter Real F[Points*3]={0,0,0,<br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,0, <br />
0,0,-1000, <br />
0,0,-500, <br />
0,0,-500, <br />
0,0,-1000}; <br />
//solution<br />
Real displacement[N], reaction[N];<br />
Real check[3];<br />
Real stress1[Trusses];<br />
Real safety[Trusses];<br />
Real dis[3];<br />
Real Str[3];<br />
protected<br />
parameter Integer N=3*Points;<br />
Real q1[3], q2[3], g[N,N], G[N,N], G_star[N,N], id[N,N]=identity(N), cx, cy, cz, L, X[3,3];<br />
Real err=10e-15, ers=10e-8;<br />
algorithm<br />
//Creating Global Matrix<br />
G:=id;<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Area*Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2];<br />
//Transforming to global matrix<br />
g:=zeros(N,N); <br />
for m,n in 1:3 loop<br />
g[3*(C[i,1]-1)+m,3*(C[i,1]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,2]-1)+n]:=X[m,n];<br />
g[3*(C[i,2]-1)+m,3*(C[i,1]-1)+n]:=-X[m,n];<br />
g[3*(C[i,1]-1)+m,3*(C[i,2]-1)+n]:=-X[m,n];<br />
end for; <br />
G_star:=G+g;<br />
G:=G_star;<br />
end for;<br />
//Implementing boundary<br />
for x in 1:Points loop<br />
if P[x,4] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-2,a]:=0;<br />
G[(x*3)-2,(x*3)-2]:=1;<br />
end for;<br />
end if;<br />
if P[x,5] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[(x*3)-1,a]:=0;<br />
G[(x*3)-1,(x*3)-1]:=1;<br />
end for;<br />
end if;<br />
if P[x,6] <> 0 then<br />
for a in 1:Points*3 loop<br />
G[x*3,a]:=0;<br />
G[x*3,x*3]:=1;<br />
end for;<br />
end if;<br />
end for;<br />
//Solving displacement<br />
displacement:=Modelica.Math.Matrices.solve(G,F);<br />
//Solving reaction<br />
reaction:=(G_star*displacement)-F;<br />
//Eliminating float error<br />
for i in 1:N loop<br />
reaction[i]:=if abs(reaction[i])<=err then 0 else reaction[i];<br />
displacement[i]:=if abs(displacement[i])<=err then 0 else displacement[i];<br />
end for;<br />
//Checking Force<br />
check[1]:=sum({reaction[i] for i in (1:3:(N-2))})+sum({F[i] for i in (1:3:(N-2))});<br />
check[2]:=sum({reaction[i] for i in (2:3:(N-1))})+sum({F[i] for i in (2:3:(N-1))});<br />
check[3]:=sum({reaction[i] for i in (3:3:N)})+sum({F[i] for i in (3:3:N)}); <br />
for i in 1:3 loop<br />
check[i] := if abs(check[i])<=ers then 0 else check[i];<br />
end for;<br />
//Calculating stress in each truss<br />
for i in 1:Trusses loop<br />
for j in 1:3 loop<br />
q1[j]:=P[C[i,1],j];<br />
q2[j]:=P[C[i,2],j];<br />
dis[j]:=abs(displacement[3*(C[i,1]-1)+j]-displacement[3*(C[i,2]-1)+j]);<br />
end for; <br />
//Solving Matrix<br />
L:=Modelica.Math.Vectors.length(q2-q1);<br />
cx:=(q2[1]-q1[1])/L;<br />
cy:=(q2[2]-q1[2])/L;<br />
cz:=(q2[3]-q1[3])/L; <br />
X:=(Elas/L)*[cx^2,cx*cy,cx*cz;<br />
cy*cx,cy^2,cy*cz;<br />
cz*cx,cz*cy,cz^2]; <br />
Str:=(X*dis);<br />
stress1[i]:=Modelica.Math.Vectors.length(Str);<br />
end for;<br />
//Safety factor<br />
for i in 1:Trusses loop<br />
if stress1[i]>0 then<br />
safety[i]:=Yield/stress1[i];<br />
else<br />
safety[i]:=0;<br />
end if; <br />
end for;<br />
end Trusses_3D_Tugas_Besar;<br />
<br />
<br />
'''Komputasi'''<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51933Metnum03-Muhammad Afdhal Pradisto2021-01-04T06:53:58Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1 (Area Locked)<br />
<br />
7. Optimasi 2 (Elasticity Locked)<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51929Metnum03-Muhammad Afdhal Pradisto2021-01-04T06:49:40Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Flow Chart'''<br />
<br />
1. Mendefinisikan masalah<br />
<br />
2. Menentukan asumsi dan constraint<br />
<br />
3. Researh data profil besi siku<br />
<br />
4. Permodelan Numerik<br />
<br />
5. Komputasi<br />
<br />
6. Optimasi 1<br />
<br />
7. Optimasi 2<br />
<br />
8. Penentuan akhir material<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51916Metnum03-Muhammad Afdhal Pradisto2021-01-04T06:41:12Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51905Metnum03-Muhammad Afdhal Pradisto2021-01-04T06:35:55Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal48.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:Metnumafdhal48.png&diff=51904File:Metnumafdhal48.png2021-01-04T06:35:29Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51903Metnum03-Muhammad Afdhal Pradisto2021-01-04T06:34:50Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={171e-6,291e-6,924e-6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal47.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51879Metnum03-Muhammad Afdhal Pradisto2021-01-04T06:17:49Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
algorithm<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
model callcurve<br />
parameter Real [3] X={5.8e6,3.4e6,1.1e6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal47.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51875Metnum03-Muhammad Afdhal Pradisto2021-01-04T06:16:43Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
Berikut coding untuk menentukan curve fitting untung cost pada excel<br />
<br />
function Curve_Fitting<br />
<br />
input Real X[:];<br />
input Real Y[size(X,1)];<br />
input Integer order=2;<br />
output Real Coe[order+1];<br />
<br />
protected<br />
Real Z[size(X,1),order+1];<br />
Real ZTr[order+1,size(X,1)];<br />
Real A[order+1,order+1];<br />
Real B[order+1];<br />
<br />
algorithm<br />
<br />
for i in 1:size(X,1) loop<br />
for j in 1:(order+1) loop<br />
Z[i,j]:=X[i]^(order+1-j);<br />
end for;<br />
end for;<br />
ZTr:=transpose(Z);<br />
<br />
A:=ZTr*Z;<br />
B:=ZTr*Y;<br />
Coe:=Modelica.Math.Matrices.solve(A,B);<br />
//Coe:=fill(2,size(Coe,1));<br />
<br />
end Curve_Fitting;<br />
/*<br />
for i in 1:3 loop<br />
for j in 1:Points loop<br />
R[j]:=reaction[3*(j-1)+i];<br />
end for;<br />
Sur[i]:=sum(R);<br />
end for;<br />
*/<br />
<br />
<br />
model callcurve<br />
parameter Real [3] X={5.8e6,3.4e6,1.1e6};<br />
parameter Real [3] Y={239500,420900,1697700};<br />
Real [3] Coe;<br />
algorithm<br />
Coe:=Curve_Fitting(X,Y);<br />
end callcurve;<br />
<br />
<br />
<br />
[[File:metnumafdhal47.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51869Metnum03-Muhammad Afdhal Pradisto2021-01-04T06:11:31Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
<br />
- Beban terdistribusi pada node<br />
<br />
- Safety Factor = 2<br />
<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
<br />
- Variabel bebas<br />
<br />
Constraint:<br />
<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
<br />
1. Node 13 & 16 = 1000N<br />
<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal47.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51867Metnum03-Muhammad Afdhal Pradisto2021-01-04T06:10:56Z<p>Muhammad Afdhal Pradisto: /* Tugas Besar */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
'''Asumsi dan Constraint'''<br />
<br />
Asumsi:<br />
- Diasumsikan tidak ada bending karena bersifat truss<br />
- Beban terdistribusi pada node<br />
- Safety Factor = 2<br />
- Batas displacement 0,001m sebelum terjadi buckling<br />
- Variabel bebas<br />
<br />
Constraint:<br />
- Node 1,2,3,4 (lantai dasar) fixed<br />
- Beban F1 dan F2 terdistribusi ke node sekitaranya, sehingga:<br />
1. Node 13 & 16 = 1000N<br />
2. Node 14 & 15 = 500N<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal47.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51860Metnum03-Muhammad Afdhal Pradisto2021-01-04T06:08:25Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.<br />
<br />
<br />
[[File:metnumafdhal46.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal47.png|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:Metnumafdhal47.png&diff=51859File:Metnumafdhal47.png2021-01-04T06:07:27Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:Metnumafdhal46.png&diff=51856File:Metnumafdhal46.png2021-01-04T06:06:48Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51697Metnum03-Muhammad Afdhal Pradisto2021-01-04T05:13:20Z<p>Muhammad Afdhal Pradisto: /* Pertemuan 6: 14 Desember 2020 */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya.<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=51635Metnum03-Muhammad Afdhal Pradisto2021-01-04T04:40:33Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 6: 14 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb. Pada pertemuan ini Pak Dai meminta mahasiswanya muasabah diri untuk pencapaian dalam memahami materi Metode Numerik ini. Saya sudah agak memahami bagaimana menggunakan openmodelica walaupun belum sepenuhnya. Saya sudah mengerti flow chart dalam mengerjakan persoalan fisika tetapi untuk codingannya saya belum mengerti sepenuhnya. Jika dilihat dari pencapaian saya dalam memahami materi kuliah ini, mungkin saya memberi nilai 75 untuk diri saya jika diskalakan 1-100.<br />
<br />
<br />
<br />
== Pertemuan 7: 21 Desember 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Berikut merupakan progres dari tugas besar yang saya kerjakan.</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Valve-Muhammad_Afdhal_Pradisto&diff=50740Valve-Muhammad Afdhal Pradisto2020-12-24T09:04:56Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ <br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
<br />
== Pertemuan 1: 12 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan pertama ini, Pak Dai menjelaskan tentang penggunaan aplikasi yang bisa mempermudah kita dalam memahami mata kuliah Sistem Fluida ini. Pak Dai menjelaskan tentang pressure drop yang terjadi pada valve yang dialiri oleh suatu fluida dengan menggunakan aplikasi CFDSOF. Lalu kita diminta untuk mencoba aplikasi CFDSOF untuk mencari pressure drop yang ada.<br />
<br />
<br />
=== Tugas 1 ===<br />
<br />
Tugas 1 ini menggunakan valve dengan gate terbuka semua. Saya belajar dari tutorial yang ada di youtube yang terdiri dari 3 part.<br />
<br />
https://www.youtube.com/watch?v=RANhtK5u5W0 (Part 1)<br />
<br />
https://www.youtube.com/watch?v=qpumUG0veRs (Part 2)<br />
<br />
https://www.youtube.com/watch?v=54OqQL1BIY0 (Part 3)<br />
<br />
Dan saya menggunakan valve yang sudah disediakan pada description di video tersebut.<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan pertama saya menggunakan CFDSOF.<br />
<br />
[[File:Valveafdhal1.png|600px|center]]<br />
<br />
[[File:Valveafdhal2.png|600px|center]]<br />
<br />
[[File:Valveafdhal3.png|600px|center]]<br />
<br />
[[File:Valveafdhal4.png|600px|center]]<br />
<br />
<br />
Jika membandingkan percobaan pertama yang saya lakukan dengan hasil yang ada pada video di youtube, tampaknya saya melakukan kesalahan karena hasilnya berbeda. Dibawah ini adalah hasil screenshot dari percobaan kedua saya.<br />
<br />
[[File:Valveafdhal5.png|600px|center]]<br />
<br />
[[File:Valveafdhal6.png|600px|center]]<br />
<br />
[[File:Valveafdhal7.png|600px|center]]<br />
<br />
[[File:Valveafdhal8.png|600px|center]]<br />
<br />
Pressure drop merupakan selisih dari preessure total inlet dan pressure total outlet. Dan pressure drop yang saya dapat adalah 0.000715978<br />
<br />
== Pertemuan 2: 19 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan kedua ini, kami berdiskusi dengan Pak Dai dan juga dengan senior kami dari kelas CFD. Kami membahas tentang metode dalam menganalisis sistem fluida.<br />
<br />
[[File:pertemuan2afdhal.png|600px|center]]<br />
<br />
Pak Dai menjelaska ada 3 metode dalam menganalisis Sistem Fluida yaitu eksperimen, CFD, dan teori. Ketiga metode tersebut saling melengkapi.<br />
<br />
Eksperimen : Melakukan eksperimen atau uji secara langssung<br />
<br />
CFD : Menggunakan aplikasi CFD untuk mempermudah simulasi percobaan<br />
<br />
Teori : Menggunakan teori-teori untuk memverifikasi data yang didapat seperti segitiga kecepatan<br />
<br />
<br />
=== Tugas 2 ===<br />
<br />
Pak Dai memberikan tugas simulasi sistem fluida menggunakan aplikasi OpenModelica. Saya menggunakan Tank yang ada pada fitur Examples yang ada didalam aplikasi tersebut.<br />
<br />
<br />
[[File:modelicaafdhal1.png|600px|center]]<br />
<br />
[[File:modelicaafdhal2.png|600px|center]]<br />
<br />
[[File:modelicaafdhal3.png|600px|center]]<br />
<br />
[[File:modelicaafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
== Pertemuan 3: 26 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan menanyakan pendapat kepada mahasiswa kelas Sistem Fluida 03 tentang definisi dari pemodelan sistem fluida. Lalu Pak Dai menjelaskan apa definisi dari pemodelan sistem fluida tersebut.<br />
<br />
Filosofi pemodelan fluida adalah sebuah usaha untuk mempelajari sebuah sistem aktual melalui sebuah sistem yang disimplifikasi. Sebuah model ini adalah sebuah sistem yang disederhanakan yang bertujuan untuk mempresentasikan kondisi sebenarnya. Permodelan tersebut akan sangat kita perlukan karena kita akan kesulitan menghadapi kondisi aktual yang memiliki kondisi yang kompleks seperti skala yang besar, temperatur yang tidak teratur, dan lain lain. Contohnya pembangkit listrik seperti PLTA atau PLTU. Maka dari itu kita mmembutuhkan sebuah sistem yang bisa menyederhanakannya. Pemodelan itu seperti membuat replika dari kondisi yang sebenarnya. Sistem itu juga akan mempermudah kita untuk mempelajari sistem fluida jika ada perubahan-perubahan pada nilai variabel dari model tersebut.<br />
<br />
Model tersebut dibagi 2 jenis.<br />
<br />
Model Fisik : membuat pemodelan dari alatnya itu sendiri<br />
<br />
Model Virtual : membuat pemodelan secara komputasi atau menggunakan komputer, memerlukan sistem fisika atau ilmu dasar seperti prinsip prinsip fluida<br />
<br />
Sebuah sistem fisik berusaha menerjemahkan dalam bentuk model, dan model itu harus didefinisikan seperti menjadi variabel-variabel apa yang terlibat dalam model tersebut, hubungan antara variabel, dan analisis terhadap hukum fisikanya.<br />
<br />
Setelah itu Pak Hariyo melakukan simulasi menggunakan aplikasi OpenModelica tentang Two Tanks yaitu sistem fluida yang berbentuk horizontal dan Empty Tank yang berbentuk vertikal. Dan juga Simple Cooling.<br />
<br />
<br />
[[File:sisfluafdhal1.png|600px|center]]<br />
<br />
<br />
[[File:sisfluafdhal2.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3 ===<br />
<br />
<br />
Analisas Pemodelan Heating System :<br />
<br />
[[File:sisfluafdhal3.png|600px|center]]<br />
<br />
<br />
1. Deskripsi/uraian fisik berdasarkan bagan yang ada<br />
<br />
Sistem berikut merupakan sistem pemanas dengan siklus aliran hidup. <br />
<br />
2. Prosedur analisa pemodelan<br />
<br />
Pertama kita harus memastikan coding yang bisa dilihat pada Text View. Kita memastikan juga apakah codingan itu sudah memiliki persamaan dan variabel yang sudah benar dengan cara klik logo ceklis satu atau check model. Setelah itu kita simulasi permodelan tersebut dan mendapatkan grafik dari setiap variabel yang ada. <br />
<br />
3. Analisa dan Interpretasi Hasil Pemodelan<br />
<br />
Aliran berawal dari tanki yang setelah itu dipompa menuju sistem pemanas. Aliran akan melalui sensor untuk menghitung laju perpindahan massa. Setelah melewati sistem pemanas, temperatur aliran akan diukur dengan sensor temperatur. Lalu aliran melaju melewati pipa dan disitu terjadi perpindahan kalor dan massa antara dalam pipa dan ambient. Aliran fluida terhenti di valve yang dikontrol. Lalu aliran melaju kembali menuju tangki. Selama proses dari pemanas hingga mencapai tangki, terjadi perpindahan kalor dan massa sepanjang pipa.<br />
<br />
4. Catatan konsep utama hukum fisika yang diimplementasikan dalam pemodelan<br />
<br />
Konsep utama hukum yang digunakan dalam pemodelan adalah:<br />
<br />
- Hukum konservasi energi<br />
<br />
- Hukum konservasi massa<br />
<br />
- Hukum konservasi momentum<br />
<br />
- Hukum Termodinamika 1<br />
<br />
5. Berikan hasil-hasil simulasi parameter untuk mendukung kesimpulan yang diperoleh<br />
<br />
Setelah saya coba simulasi, ternyata terjadi error pada simulasi tersebut. Error tersebut seperti pada gambar dibawah ini. Jadi grafik untuk sistem ini tidak muncul karena error tersebut dan saya belum paham apa yang membuat pemodelan sistem ini error.<br />
<br />
[[File:sisfluafdhal6.png|600px|center]]<br />
<br />
<br />
<br />
Analisa Pemodelan Three Tanks :<br />
<br />
[[File:sisfluafdhal4.png|600px|center]]<br />
<br />
<br />
1. Deskripsi/uraian fisik berdasarkan bagan yang ada<br />
<br />
Pada gambar diatas terdapat 3 tanki yang berhubungan dengan 3 pipa dan memiliki ketinggian air yang berbeda juga. Air dari tanki 1 akan mengisi tanki 2 dan tanki 3. Pada pemodelan ini saya bisa menganalisis perpindahan air darir tanki 1 ke tanki 2 dan tanki 3.<br />
<br />
2. Prosedur analisa pemodelan<br />
<br />
Pertama kita harus memastikan coding yang bisa dilihat pada Text View. Kita memastikan juga apakah codingan itu sudah memiliki persamaan dan variabel yang sudah benar dengan cara klik logo ceklis satu atau check model. Setelah itu kita simulasi permodelan tersebut dan mendapatkan grafik dari setiap variabel yang ada.<br />
<br />
3. Analisa dan Interpretasi Hasil Pemodelan<br />
<br />
Fluida yang digunakan dari sistem Three Tanks adalah air. Kondisi awal menunjukan bahwa ketinggian fluida dari tiap tanki berbeda. Tanki dengan volume yang lebih besar memiliki tekanan yang lebih tinggi karena massa fluidanya juga besar. Hal itu yang menyebabkan fluida dari tanki 1 akan berpindah ke tanki lainnya sampai keadaan titik seimbang.<br />
<br />
4. Catatan konsep utama hukum fisika yang diimplementasikan dalam pemodelan<br />
<br />
Konsep utama hukum yang digunakan dalam pemodelan adalah :<br />
<br />
- Hukum II Newton -> dikembangkan menjadi persamaan pressure drop<br />
<br />
- Mass balance equation<br />
<br />
5. Berikan hasil-hasil simulasi parameter untuk mendukung kesimpulan yang diperoleh<br />
<br />
Setelah disimulasi, maka akan didapatkan grafik dari hasil simulasi tersebut seperti yang ada dibawah ini.<br />
<br />
[[File:sisfluafdhal5.png|600px|center]]<br />
<br />
Grafik ini menunjukan ketinggian level fluida dari tiap tanki per satuan waktu. Dapat dilihat ketinggian tanki 1 semakin menurun karena adanya perpindahan fluida ke tanki lainnya. Sedangkan tanki 2 dan 3 mengalami kenaikan level ketinggian fluida karena mendapatkan fluida dari tanki 1 sehingga mencapai titik seimbang.<br />
<br />
<br />
<br />
<br />
== Pertemuan 4: 3 Desember 2020 ==<br />
<br />
=== Tugas 4 ===<br />
<br />
<br />
Soal :<br />
<br />
<br />
[[File:sisfluafdhal7.png|600px|center]]<br />
<br />
<br />
'''1. Bagaimanakah analisa termodinamika (konservasi massa dan energi) pada sistem tersebut, buat skematik analisisnya.'''<br />
<br />
<br />
Model Combined Cycle Power Plant digunakan untuk mensimulasikan reduksi beban berlangkah pada power generator dari 100% menjadi 50% dalam waktu 800 detik.<br />
<br />
Pada simulasi ini terdapat 2 sistem yaitu gas turbin dan steam turbin. Dibawah ini merupakan penejelasan dari kedua sistem tersebut.<br />
<br />
<br />
<br />
'''a. Gas Turbin'''<br />
<br />
<br />
Komponen :<br />
<br />
<br />
* Air Compressor : meningkatkan tekanan udara yang di alirkan menuju combustion chamber<br />
<br />
* Combusition Chamber : Tempat dimana bahan bakar bersatu dengan udara dan melakukan kontak dengan busi, campuran tersebut dibakar dan didorong keluar dari Combusition Chamber dalam bentuk energi.<br />
<br />
* Turbine : Gas panas yang memiliki temperature dan pressure tinggi diteruskan ke turbin untuk memutarkan turbin. Hasil dari turbin ada dua. Yaitu power yang nantinya akan diteruskan ke altenator generator dan udara panas hasil dari turbin gas yang akan diteruskan ke Heat Recovery Steam Generator. Gas Turbine yang berputar akibat dari panas yang di hasilkan pada combustiom chamber yang di aliri oleh nozzle menuju turbin. <br />
<br />
Siklus yang terjadi dalam gas turbine adalah siklus rankine.<br />
<br />
[[File:sisfluafdhalsiklusrankine.png|600px|center]]<br />
<br />
<br />
'''b. Steam Turbin'''<br />
<br />
<br />
Komponen :<br />
<br />
<br />
* Heat Recovery Steam Generator (HRSG) : menangkap gas buangan dari gas turbin yang jika tidak dipasang, dapat keluar melalui saluran pembuangan. HRSG berguna untuk memanaskan kembali uap pembuangan dari gas turbin untuk dialiri ke turbin, yang dimana turbin 2 bertugas memutar generator untuk menghasilkan suatu energi.<br />
<br />
* Aliran steam ini kemudian melewati steam Turbin, sehingga membuat steam turbin berputar dan menggerakkan generator drive shaft. Generator drive shaft ini kemudian mengubah sisa energi buangan Hasil buangan dari turbin dialirkan menuju kondesor untuk merubah sifat dari uap menjadi cair agar dapat didorong oleh pompa menuju HRSG untuk dipanaskan Kembali.<br />
<br />
Siklus yang terjadi pada proses ini adalah siklus bryton.<br />
<br />
[[File:sisfluafdhalsiklusbryton.png|600px|center]]<br />
<br />
<br />
<br />
'''2. Lakukan identifikasi komponen-komponen utama pada sistem serta berilah deskripsi fungsi kerjanya dalam sistem dan penjelasan analisis parameter yang digunakan.'''<br />
<br />
<br />
Terdapat 2 bagian sistem pembangkit yaitu Gas Turbin dan juga Steam Turbin.<br />
<br />
'''2.1. Steam Turbin'''<br />
<br />
'''a. Condensor'''<br />
<br />
Bisa mengubah fasa uap panas menjadi liquid<br />
<br />
[[File:sisfluafdhalcondensor.png|600px|center]]<br />
<br />
<br />
'''b. Drum'''<br />
<br />
[[File:sisfluafdhaldrum.png|600px|center]]<br />
<br />
<br />
'''c. Generator'''<br />
<br />
Didalam generator bisa mengubah energi mekanik menjadi energi listrik.<br />
<br />
[[File:sisfluafdhalgenerator.png|600px|center]]<br />
<br />
<br />
Ada juga beberapa jenis dari Heat Exchanger :<br />
<br />
<br />
* SuperHeater<br />
<br />
[[File:sisfluafdhalsuperheater.png|600px|center]]<br />
<br />
<br />
* Evaporator<br />
<br />
[[File:sisfluafdhalevaporator.png|600px|center]]<br />
<br />
<br />
* Economiser<br />
<br />
[[File:sisfluafdhaleconomiser.png|600px|center]]<br />
<br />
<br />
'''d. Turbin Uap'''<br />
<br />
Pada turbin uap ini, ada tiga jenis turbin seperti yang ada di sistem, yaitu high pressure, intermediate pressure, dan low pressure<br />
<br />
[[File:sisfluafdhalturbinuap.png|600px|center]]<br />
<br />
<br />
'''e. Valve'''<br />
<br />
Untuk mengatur laju aliran fluida<br />
<br />
[[File:sisfluafdhalvalve.png|600px|center]]<br />
<br />
<br />
'''f. Water Mixer'''<br />
<br />
Junction yang menghubungkan beberapa inlet dan menggabungkannya menjadi kurang dari atau sama dengan jumlah inlet.<br />
<br />
[[File:sisfluafdhalwatermixer.png|600px|center]]<br />
<br />
<br />
'''g. Water Splitter'''<br />
<br />
Junction yang menghubungkan 1 atau 2 inlet dan memecahnya menjadi lebih dari atau sama dengan jumlah inlet pada outlet.<br />
<br />
[[File:sisfluafdhalwatersplitter.png|600px|center]]<br />
<br />
<br />
'''2.2. Gas Turbin'''<br />
<br />
Berikut merupakan perincian dari turbin gas yang didapat dari ThermoSysPro.FlueGases.TAC.GasTurbine<br />
<br />
[[File:sisfluafdhalgasturbin.png|600px|center]]<br />
<br />
<br />
'''a. Compressor'''<br />
<br />
[[File:sisfluafdhalcompressor.png|600px|center]]<br />
<br />
<br />
'''b. Turbin Gas'''<br />
<br />
Udara di turbin gas mengalami peningkatan tekanan dan temperatur akibat proses pembakaran yang terjadi. Udara panas tersebut kemudian digunakan untuk menggerakkan turbin gas tersebut.<br />
<br />
[[File:sisfluafdhalturbingas.png|600px|center]]<br />
<br />
'''c. Combustion Chamber'''<br />
<br />
[[File:sisfluafdhalcombustionchamber.png|600px|center]]<br />
<br />
<br />
<br />
'''3. Medium fluida kerja apa saja yang terjadi dalam proses siklus tersebut, dan bagaimanakah proses analisis perhitungan dalam pemodelan.'''<br />
<br />
<br />
Berikut merupakan medium fluida yang bekerja dalam proses siklus tersebut :<br />
<br />
* Turbin Gas (Menghasilkan kerja)<br />
<br />
* Turbin Uap (Menghasilkan kerja)<br />
<br />
* Pompa Sentrifugal (Membutuhkan kerja)<br />
<br />
* Kompresor (Membutuhkan kerja)<br />
<br />
Kemudian, pada Analisa perhitungannya dapat menggunakan hukum konservasi energi dan konservasi massa<br />
<br />
* Pada kompresor,pompa,turbin dan HRSG mengalami proses adiabatic,yang dimana proses adiabatik adalah proses yang tidak terjadi pergantian kalor dari sistem ke lingkungan ataupun sebaliknya.<br />
<br />
* Proses ini diasumsikan kondisi steady state dan energi kinetic potensial diabaikan<br />
<br />
<br />
<br />
'''4. Jelaskan flow line (jalur koneksi) masing-masing yang diberi warna hitam, merah, dan biru sesuai dengan interkoneksi yang diberikan dalam diagram tersebut.'''<br />
<br />
<br />
a. Jalur Hitam : Sebagai jalur energi keluar yang dimanfaatkan sebagai penggerak.<br />
<br />
b. Jalur Merah : Sebagai aliran fluida high temperature.<br />
<br />
c. Jalur Biru : Sebagai jalur fluida low temperature.<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 5: 10 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini Pak Dai memulai kelas dengan langsung melakukan simulasi OpenModelica bersama Pak Hariyo. Simulasi yang dipelajari adalah thermosyspro yang ada pada library di OpenModelica. Pertama, kami disuruh membuka model yang sudah tersedia pada library tersebut dan memahami setiap parameter yang ada dari tiap komponen. Setelah itu kami diminta untuk membuat ulang model tersebut atau remodel dari sistem itu agar parameter yang ada pada tiap komponen bisa diubah-ubah.<br />
<br />
Kami melakukan remodel dengan mencari masing-masing komponen yang dibutuhkan pada library. Lalu kami gabungkan tiap komponen dengan cara menarik garis dari setiap ujung panah komponen ke komponen lainnya. Setiap komponen masih belum memiliki parameter. Maka tiap komponen kami isi parameternya dengan mengikuti yang sudah ada pada sistem yang sudah jadi sebelumnya. Setelah itu kami check model untuk mengetahui apakah model yang kami buat sudah sama dengan yang ada pada examples.<br />
<br />
Pak Dai juga membahas mengenai tugas besar yang akan dikerjakan oleh mahasiswa. Mahasiswa diminta untuk memiliki bayangan bagaimana permodelan yang akan dibuat menganai pemipaan yang ada dalam pengolahan bahan bakar. Pak Dai juga meminta untuk membuat cabang pada permodelan tersebut sehingga ada valve yang bisa dianalisa menggunakan CFDSOF.<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 6: 17 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-6 ini, kelas Sisflu mengadakan Kuliah Tamu. Kami kedatangan seorang CEO PT. Indopower Internasional yaitu Dr.Ir. Harum Al Rosyid. Dalam pertemuan ini beliau menjelaskan mata kuliah sistem fluida ini dengan tema The Proven Combined-Cycle Power Plant in Indonesia.<br />
<br />
<br />
<br />
<br />
<br />
== Tugas Besar ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
<br />
'''Latar Belakang'''<br />
<br />
Latar belakang dari tugas besar ini adalah agar kita bisa memahami simulasi dari suatu sistem fluida. Simulasi ini dilakukan dengan menggunakan aplikasi CFDSOF dan OpenModelica. Menggunakan bantuan aplikasi tersebut untuk mempermudah kita untuk mengetahui keadaan asli dari sistem tersebut. Aplikasi tersebut bisa mempermudah kita dengan mengatur parameter-parameter yang ada dalam sistem tersebut. <br />
<br />
'''Tujuan'''<br />
<br />
Tujuan dari tugas besar ini merupakan sebagai penilaian Pak Dai untuk mengukur seberapa jauh pemahaman mahasiswa terhadap mata kuliah sistem fluida ini terutama dalam mengenai contoh-contoh simulasi sistem fluida.<br />
<br />
'''Metodologi'''<br />
<br />
Perancangan dari tugas besar ini dilakukan dengan simulasi metode CFD dengan aplikasi OpenModelica. Ketika simulasi sudah berhasil dan memenuhi pengecekan. Maka hasil simulasi akan diambil untuk dianalisis.<br />
<br />
'''Perencanaan'''<br />
<br />
1. Meriset kasus aliran fluida<br />
<br />
2. Mempelajari OpenModelica<br />
<br />
3. Membuat sketsa sistem fluida<br />
<br />
4. Proses pembuatan skema di OpenModelica<br />
<br />
5. Melakukan revisi dan perbaikan<br />
<br />
6. Penyelesaian tugas besar.</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=50146Metnum03-Muhammad Afdhal Pradisto2020-12-21T05:56:34Z<p>Muhammad Afdhal Pradisto: /* Quiz */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.png|600px|center]]<br />
<br />
[[File:metnumafdhal42.png|600px|center]]<br />
<br />
[[File:metnumafdhal43.png|600px|center]]<br />
<br />
[[File:metnumafdhal44.png|600px|center]]<br />
<br />
[[File:metnumafdhal45.png|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=Metnum03-Muhammad_Afdhal_Pradisto&diff=50144Metnum03-Muhammad Afdhal Pradisto2020-12-21T05:55:38Z<p>Muhammad Afdhal Pradisto: /* Quiz */</p>
<hr />
<div>بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيْ<br />
<br />
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ<br />
<br />
== '''BIODATA DIRI''' ==<br />
<br />
Nama : Muhammad Afdhal Pradisto <br />
<br />
NPM : 1806181703<br />
<br />
Fakultas/ Jurusan : Teknik/ Teknik Mesin<br />
<br />
Tempat dan Tanggal Lahir : Jakarta, 11 Oktober 2000<br />
<br />
[[File:afdhal.jpg|150px]]<br />
<br />
__TOC__<br />
<br />
== Pertemuan 1: 9 November 2020 ==<br />
<br />
Assalamualaikum wr. Wb. Perkenalkan nama saya Muhammad Afdhal Pradisto dari kelas Metode Numerik 03. Pada pertemuan ini saya akan menjelaskan apa yang sudah saya pelajari tentang Metode Numerik sebelum UTS. Metode Numerik ini digunakan karena banyak permasalahan matematis tidak dapat diselesaikan menggunakan metode analitik.<br />
<br />
Keuntungan dari Metode Numerik:<br />
<br />
1. Solusi persoalan selalu dapat diperoleh.<br />
<br />
2. Dengan bantuan komputer, perhitungan dapat dilakukan dengan cepat serta hasil yang diperoleh dapat dibuat sedekat mungkin dengan nilai sesungguhnya.<br />
<br />
3. Tampilan hasil perhitungan dapat disimulasikan.<br />
<br />
Kelemahan dari Metode Numerik:<br />
<br />
1. Nilai yang diperoleh berupa pendekatan atau hampiran.<br />
<br />
2. Tanpa bantuan komputer, proses perhitungan akan berlangsung lama dan berulang-ulang.<br />
<br />
<br />
'''1. Menentukan Akar-Akar'''<br />
<br />
Ada beberapa metode yang dapat digunakan untuk menyelesaikan suatu persamaan. Metode ini merupakan penyelesaian perkiraan, tetapi lebih sistematis untuk menghitung akar-akar persamaan. Dalam metode numerik, pencarian akar f(x)=0 dilakukan secara lelaran (iteratif). Secara umum, semua metode pencarian akar dapat dikelompokkan menjadi 2 golongan besar :<br />
<br />
• Metode Tertutup<br />
<br />
Metode yang termasuk ke dalam golongan ini mencari akar di dalam selang [a,b]. Selang [a,b] sudah dipastikan berisi minimal satu buah akar, karena itu metode jenis ini selalu berhasil menemukan akar. Dengan kata lain, lelarannya selalu konvergen (menuju) ke akar, karena itu metode tertutup kadang-kadang dinamakan juga metode konvergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Biseksi atau Metode Setengah Interval ini merupakan Metode dengan bentuk paling sederhana diantara beberapa metode yang akan dipelajari.<br />
<br />
b. Metode Regula Falsi atau Metode Interpolasi Linier adalah metode mudah tapi tidak efisien. Untuk mendapatkan hasil yang mendekati nilai eksak diperlukan langkah iterasi yang cukup panjang. Metode Regula Falsi dapat menutup kekurangan itu. Metode Regula Falsi didasarkan pada interpolasi antara dua nilai dari fungsi yang mempunyai tanda berlawanan<br />
<br />
• Metode Terbuka<br />
<br />
Yang diperlukan pada metode ini, adalah tebakan awal akar, lalu dengan prosedur lelaran, kita menggunakannya untuk menghitung hampiran akar yang baru. Pada setiap lelaran, hampiran akar lama yang dipakai untuk menghitung hampiran akar yang baru. Mungkin saja hampiran akar yang baru mendekati akar sejati (konvergen), atau mungkin menjauhinya (divergen). Karena itu, metode terbuka tidak selalu berhasil menemukan akar, kadang-kadang konvergen, kadangkala ia divergen.<br />
<br />
Metode yang termasuk dalam golongan ini antara lain :<br />
<br />
a. Metode Newton Raphson, Metode ini paling banyak digunakan dalam mencari akar-akar dari suatu persamaan.<br />
<br />
b. Metode Secant, Kekurangan Metode Newton Raphson adalah diperlukannya turunan pertama (differensial) dari f(x) dalam hitungan. Kadang-kadang sulit untuk mendiferensialkan persamaan yang diselesaikan. Untuk itu maka bentuk diferensial didekati dengan nilai perkiraan berdasarkan diferensial beda hingga.<br />
<br />
c. Metode Iterasi, Dalam metode iterasi ini digunakan suatu persamaan untuk memperkirakan nilai akar persamaan. Persamaan tersebut dikembangkan dari fungsi f(x) = 0 sehingga parameter x berada disisi kiri dari persamaan, yaitu :<br />
X= g(x)<br />
Persamaan ini menunjukkan bahwa nilai x merupakan fungsi dari x, sehingga dengan memberi nilai perkiraan awal dari akar dapat dihitung perkiraan baru dengan rumus iteratif berikut :<br />
Xi+1 = g ( xi )<br />
<br />
Besar kesalahan dihitung dengan rumus berikut :<br />
∈a = | (Xi+1 – Xi )/(Xi+1 ) | X 100%<br />
<br />
<br />
'''2. Regresi Linier'''<br />
<br />
Regresi merupakan alat ukur yg digunakan untuk mengetahui ada tidaknya korelasi antarvariabel. Analisis regresi lebih akurat dlm analisis korelasi karena tingkat perubahan suatu variabel terhadap variabel lainnya dpt ditentukan). Jadi pada regresi, peramalan atau perkiraan nilai variabel terikat pada nilai variabel bebas lebih akurat pula.<br />
Regresi linier adalah regresi yang variabel bebasnya (variabel X) berpangkat paling tinggi satu. Untuk regresi sederhana, yaitu regresi linier yg hanya melibatkan dua variabel (variabel X dan Y).<br />
<br />
Y = a + bX<br />
<br />
Keterangan :<br />
<br />
Y = variabel terikat<br />
<br />
X = variabel bebas<br />
<br />
a = intersep / konstanta<br />
<br />
b = koefisien regresi / slop<br />
<br />
Persamaan regresi linear di atas dapat pula dituliskan dalam bentuk :<br />
<br />
[[File:Regresi_afdhal.png|300px|center]]<br />
<br />
<br />
'''3. Turunan Numerik'''<br />
<br />
Ini digunakan untuk menentukan nilai turunan fungsi f yang diberikan dalam bentik tabel. Ada 3 pendekatan zalm menghitung Turunan Numerik :<br />
<br />
1. Hampiran selisih-maju (forward difference approximation)<br />
<br />
[[File:Selisihmaju_afdhal.png|300px|center]]<br />
<br />
2. Hampiran selisih-mundur (backward difference approximation)<br />
<br />
[[File:Selisihmundur_afdhal.png|300px|center]]<br />
<br />
3. Hampiran selisih-pusat (central difference approximation)<br />
<br />
[[File:Selisihpusat_afdhal.png|300px|center]]<br />
<br />
<br />
<br />
=== Tugas 1: Pembelajaran OpenModelica ===<br />
<br />
Saya menggunakan tutorial yang ada di youtube sebagai referensi saya dalam mencoba memahami OpenModelica ini. Link video youtube yang saya gunakan : https://www.youtube.com/watch?v=GhtBMIlO70w<br />
<br />
Video tersebut menjelaskan tentang tools yang bisa digunakan pada OpenModelica dan libraries yang sudah tersedia. Seperti yang dilakukan pada video, saya mencoba menggunakan step dan first order untuk membuat suatu sistem.<br />
<br />
[[File:metnumafdhal13.png|600px|center]]<br />
<br />
<br />
Setelah itu sistem tersebut saya cek dan memiliki 3 persamaan dan 3 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal14.png|600px|center]]<br />
<br />
<br />
Lalu saya simulasi dan mendapatkan hasil grafiknya seperti dibawah ini.<br />
<br />
<br />
[[File:metnumafdhal15.png|600px|center]]<br />
<br />
<br />
<br />
<br />
<br />
== Pertemuan 2: 16 November 2020 ==<br />
<br />
Assalamualaikum wr. wb.<br />
<br />
Pada pertemuan kedua ini, Pak Dai membuka diskusi tentang pembelajaran OpenModelica. Mahasiswa diberikan kesempatan untuk menjelaskan tentang pembelajaran aplikasi OpenModelica yang sudah dilakukan masing-masing pada tugas 1. Lalu dilanjutkan dengan latihan membuat perhitungan sederhana menjumlahkan angka 10 terhadap suatu variabel dan menghitung rata-rata dengan menggunakan OpenModelica.<br />
<br />
Pada percobaan pertama dilakukan perhitungan nilai x untuk persamaan y=x+10 dan saya mencoba dengan x=4<br />
<br />
[[File:metnumafdhal1.png|600px|center]]<br />
<br />
<br />
Lalu dilanjutkan dengan mensimulasikannya dan mendapat grafik seperti gambar berikut dan juga didapatkan hasil y=14<br />
<br />
[[File:metnumafdhal2.png|600px|center]]<br />
<br />
<br />
Berikutnya percobaan kedua melakukan perhitungan untuk menentukan rata-rata dari kelompok data.<br />
<br />
[[File:metnumafdhal3.png|600px|center]]<br />
<br />
<br />
Kemudian disimulasi dan mendapatkan nilai rata-rata yaitu 12. Berikut hasil grafik yang didapat dari simulasi tersebut <br />
<br />
[[File:metnumafdhal4.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 2: Menyelesaikan persamaan Aljabar Simultan ===<br />
<br />
Aljabar Simultan adalah suatu penyelesaian matematik yang kompleks sehingga membutuhkan penyederhanaan dengan menggunakan bantuan software yang sudah disediakan seperti OpenModelica. Ada beberapa metode yang bisa digunakan pada Aljabar Simultan:<br />
<br />
1. Metode Eliminasi Gauss<br />
<br />
2. Metode Crammer<br />
<br />
3. Metode Gauss Seidel<br />
<br />
4. Metode Gauss-Jordan<br />
<br />
<br />
Berikut persamaan yang saya gunakan untuk aljabar simultan:<br />
<br />
X1 + 4X2 + 5X3 = 12<br />
<br />
2X1 + 3X2 + 11X3 = 15<br />
<br />
3X1 + 8X2 + 15X3 = 25<br />
<br />
<br />
Berikut dibawah ini adalah hasil screenshot yang saya lakukan untuk menyelesaikan persamaan tersebut<br />
<br />
[[File:metnumafdhal5.png|600px|center]]<br />
<br />
<br />
Rangkaian bahasa modelica sudah dicek dengan berisikan 15 persamaan dan 15 variabel yang sudah benar<br />
<br />
[[File:metnumafdhal6.png|600px|center]]<br />
<br />
<br />
Berikut adalah hasil grafik yang didapat setelah melakukan simulasi. Didapatkan juga akar-akarnya yaitu<br />
<br />
X1 = -22.75<br />
<br />
X2 = 2.75<br />
<br />
X3 = 4.75<br />
<br />
[[File:metnumafdhal7.png|600px|center]]<br />
<br />
<br />
<br />
<br />
== Pertemuan 3: 23 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ketiga ini, Pak Dai membuka diskusi dengan membahas tentang Tugas 2 yang diberikan minggu sebelumnya. Lalu Pak Dai membahas tentang step by step dalam memecahkan masalah teknik menggunakan metode numerik. Step dalam pemecahan masalah tersebut adalah :<br />
<br />
1. Masalah Teknik<br />
<br />
2. Analisis Masalah<br />
<br />
3. Model matematis<br />
<br />
4. Model Numerik<br />
<br />
5. Komputer<br />
<br />
6. Mendapatkan Solusi<br />
<br />
Pak Dai juga memberikan tugas yaitu studi kasus seperti yang ada di gambar bawah ini. Kami diminta untuk menyelesaikannya dalam OpenModelica.<br />
<br />
[[File:metnumafdhal8.png|600px|center]]<br />
<br />
<br />
Sistem tersebut diubah menjadi bentuk matriks seperti dibawah ini.<br />
<br />
[[File:Figure12_11.jpg|600px|center]]<br />
<br />
<br />
Dibawah ini adalah hasil screenshot dari percobaan function yang saya buat.<br />
<br />
[[File:metnumafdhal9.png|600px|center]]<br />
<br />
<br />
Setelah itu function tersebut di cek dan didapatkan 15 persamaan dan 15 variabel yang sudah benar.<br />
<br />
[[File:metnumafdhal10.png|600px|center]]<br />
<br />
<br />
Lalu function itu disimulasi dan mendapatkan grafik sepeti dibawah ini. Didapatkan juga nila-nilai X nya, yaitu:<br />
<br />
X1 = 7.3575<br />
<br />
X2 = 10.0552<br />
<br />
X3 = 12.5077<br />
<br />
[[File:metnumafdhal11.png|600px|center]]<br />
<br />
<br />
<br />
=== Tugas 3: Menentukan titik reaksi displacement pada setiap joint dan gaya-gaya reaksinya ===<br />
<br />
Pada tugas 3 ini Pak Dai meminta kami untuk menyelesaikan soal dibawah ini dengan menggunakan OpenModelica.<br />
<br />
[[File:metnumafdhal16.png|600px|center]]<br />
<br />
<br />
Ada 4 cara pertama Dalam menyelesaikan soal diatas :<br />
<br />
1.Mengubah problem menjadi node dan elemen<br />
<br />
2.Menentukan nilai Konstanta kekakuan/stiffness constant dari elemen<br />
<br />
3.Membuat persamaan untuk elemen<br />
<br />
4.Menyusun dan menggabungkan matriks elemen-elemen<br />
<br />
4 cara diatas ada pada buku "Finite Element Analysis" pada halaman 60-70 :<br />
<br />
[[File:metnumafdhal31.png|600px|center]]<br />
<br />
[[File:metnumafdhal30.png|600px|center]]<br />
<br />
[[File:metnumafdhal32.png|600px|center]]<br />
<br />
[[File:metnumafdhal33.png|600px|center]]<br />
<br />
[[File:metnumafdhal34.png|600px|center]]<br />
<br />
[[File:metnumafdhal35.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal36.png|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal26.png|600px|center]]<br />
<br />
<br />
== Pertemuan 4: 30 November 2020 ==<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
[[File:metnumafdhal37.png|600px|center]]<br />
<br />
<br />
Pada pertemuan keempat ini, Pak Dai membuka diskusi dengan membahas analisa beban static dan dynamic. Pak Dai memberi kesempatan kepada mahasiswa untuk memberi pengertian dari analisa static dan dynamic. Kesimpulan dari diskusi yang saya dapat adalah analisa beban static merupakan respon material dari beban yang diam atau bebannya tidak mengalami perubahan terhadap waktu atau kata lain sigma F sama dengan 0. Sedangkan analisa beban dynamic merupakan respon beban yang mengalami perubahan terhadap perubahan waktu atau sigma F tidak sama dengan 0.<br />
<br />
Hubungan antara metode numerik dengan statika struktur yaitu untuk memecahkan suatu permasalahan dari suatu kasus sehari-hari seperti pada Tugas 3 yaitu batang yang bisa dilakukan dengan breakdown gaya-gaya yang ada pada sistem tersebut.<br />
<br />
Metode Numerik untuk permasalahan teknik seperti permasalahan fisika yang diubah menjadi lebih matematis dan menggunakan komputer sebagai perhitungan numerik sebagai tools untuk menghitung perhitungan yang rumit.<br />
<br />
<br />
=== Quiz ===<br />
<br />
Pak Dai memberi 2 soal untuk quiz pada pertemuan keempat ini. Pak Dai meminta untuk mengirimkan Flow Chart terlebih dahulu. Berikut Flow Chart untuk soal yang diberikan Pak Dai.<br />
<br />
<br />
[[File:metnumafdhal38.jpg|600px|center]]<br />
<br />
<br />
[[File:metnumafdhal39.jpg|600px|center]]<br />
<br />
<br />
<br />
<br />
Jawab No.8 : <br />
<br />
[[File:metnumafdhal41.jpg|600px|center]]<br />
<br />
[[File:metnumafdhal42.jpg|600px|center]]<br />
<br />
[[File:metnumafdhal43.jpg|600px|center]]<br />
<br />
[[File:metnumafdhal44.jpg|600px|center]]<br />
<br />
[[File:metnumafdhal45.jpg|600px|center]]<br />
<br />
== Pertemuan 5: 7 Desember 2020 ==<br />
<br />
<br />
Assalamualaikum wr.wb.<br />
<br />
Pada pertemuan ke-5 ini, Pak Dai membuka kelas dengan menanyakan tentang 2 soal minggu lalu yang diberikan oleh Pak Dai. Pak Dai memberi kesempatan untuk mahasiswa yang sudah bisa dan berhasil dalam mengerjakan soal tersebut. Salah satunya adalah Ahmad Mohammad Fahmi. Fahmi menjelaskan tentang codingan yang sudah dia buat yang bisa diterapkan untuk mengerjakan soal seperti itu. Fahmi menggunakan 1 class dan beberapa function didalam OpenModelica untuk mengerjakan soal tersebut. Alur dari pengerjaannya adalah pertama membuat class untuk menaruh semua data yang ada dari soal dengan equation yaitu beberapa fungsi. Fungsi tersebut yaitu untuk matrix element, matrix global, total dari matrix global, matrix global yang sudah dipengaruhi oleh boundary, gauss jordan untuk mendapatkan nilai U, dan mencari gaya reaksi. Tiap function tersebut memiliki codingan yang berbeda dan saling terhubung. Tetapi menurut Pak Dai, masih butuh 1 function lagi yaitu untuk memastikan gaya yang ada dalam sistem tersebut apakah sudah setimbang. Hal itu menjadi sebuah revisi untuk pekerjaan minggu depan.<br />
<br />
<br />
<br />
<br />
'''Tugas 5'''<br />
<br />
<br />
Soal : <br />
<br />
<br />
[[File:metnumafdhal40.jpg|600px|center]]</div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:Metnumafdhal45.png&diff=50138File:Metnumafdhal45.png2020-12-21T05:53:04Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:Metnumafdhal44.png&diff=50137File:Metnumafdhal44.png2020-12-21T05:52:33Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradistohttp://air.eng.ui.ac.id/index.php?title=File:Metnumafdhal43.png&diff=50136File:Metnumafdhal43.png2020-12-21T05:52:07Z<p>Muhammad Afdhal Pradisto: </p>
<hr />
<div></div>Muhammad Afdhal Pradisto