Difference between revisions of "Richardo Ariyanto"
m (→Tugas 3) |
(→Tugas 3) |
||
Line 241: | Line 241: | ||
:end NaiveGauszzRichardo; | :end NaiveGauszzRichardo; | ||
</code> | </code> | ||
+ | |||
+ | Kemudian saya mencoba menyelesaikan contoh di bagian 9.5 menggunakan kode yang telah saya buat | ||
+ | [[File:NaiveGaussRichardo3.png|800px|center]] | ||
+ | dan saya membuat kelas panggil untuk mengeksekusi kode yang telah saya buat | ||
+ | [[File:NaiveGaussRichardo2.png|800px|center]] | ||
+ | dan setelah saya simulate, saya mendapatkan hasil X1, X2, dan X3 yang sama seperti di buku | ||
+ | [[File:NaiveGaussRichardo4.png|300px|center]] |
Revision as of 12:31, 2 December 2020
Biodata | |
---|---|
Nama | Richardo Ariyanto |
Tempat Tanggal Lahir | Bogor, 5 Januari 2001 |
NPM | 1906301280 |
richardo.ariyanto@ui.ac.id | |
Youtube | https://www.youtube.com/c/RichardoAriyanto/ |
Hobi | Fotografi |
Halo! Perkenalkan, nama saya adalah Richardo Ariyanto (1906301280), mahasiswa Teknik Mesin angkatan 2019, Fakultas Teknik, Universitas Indonesia. Saya bercita-cita untuk masuk ke program studi Teknik Mesin sejak dari masuk SMA.
Contents
Catatan Minggu Pertama (11 November 2020)
Tujuan Pembelajaran
- Memahami konsep dan prinsip dasar metode numerik
- Dapat menerapkan pemahaman yang didapatkan dalam mata kuliah Metode Numerik
- Mampu menerapkan pemahaman metode numerik dalam bidang keteknikan
- Membentuk kita menjadi orang yang lebih beradab
Manfaat Belajar bagi Diri Saya Sendiri
Menurut saya, pembelajaran adalah suatu proses untuk memahami peristiwa-peristiwa yang terjadi di sekitar kita. Saya merasakan bahwa dengan belajar, saya dapat lebih memahami tentang peristiwa-peristiwa yang terjadi di lingkungan saya, dan membantu saya untuk memecahkan permasalahan baru yang sebelumnya belum pernah saya temukan. Belajar juga dapat meningkatkan kepekaan sosial, kepedulian dan empati dalam diri saya.
Komputer dalam Metode Numerik
Komputer merupakan alat hitung yang sangat cepat, namun pada hakikatnya, komputer bersifat "dummy" dan mempunyai batasan-batasan hitungan yang tidak dapat dilewati. Apa artinya bagi diri saya adalah saya menyadari bahwa komputer merupakan alat hitung yang cepat, namun pada akhirnya semuanya bergantung kepada sang pengguna itu sendiri, sehingga kita harus bisa lebih percaya diri dan menyadari bahwa kemampuan kita bahkan lebih diatas komputer manapun.
Sebelum UTS
Sebelum UTS saya telah mempelajari
- Deret Mclaurin & Deret Taylor, dengan metode forward, center, dan backward
- Bracketing Methods dan Open Methods, dimana bracketing methods meliputi graphical methods, bisection methods, dan false-position methods sedangkan open methods meliputi simple fixed-point iteration, newton-raphson methods, secant methods, dan brents methods
- Mencari nilai interpolasi dan regresi linier menggunakan matriks
Tugas Minggu Pertama
Dalam kesempatan kali ini saya membuat suatu video pembelajaran mengenai penggunaan aplikasi OpenModelica pada perhitungan interpolasi tabel Saturated Liquid-Vapor dalam Termodinamika :
Berikut adalah bahasa Modelica yang saya gunakan untuk membuat interpolasi
- model SaturatedWater
- parameter Real T1=50;//(C)
- parameter Real T2=55;//(C)
- parameter Real T=52;//(C)
- parameter Real P1=0.1235;//(bar)
- parameter Real P2=0.1576;//(bar)
- parameter Real SVL1=1.0121*10^(-3);//(m^3/kg)
- parameter Real SVL2=1.0146*10^(-3);//(m^3/kg)
- parameter Real SVV1=12.032;//(m^3/kg)
- parameter Real SVV2=9.568;//(m^3/kg)
- parameter Real IEL1=209.32;//(kJ/kg)
- parameter Real IEL2=230.21;//(kJ/kg)
- parameter Real IEV1=2443.5;//(kJ/kg)
- parameter Real IEV2= 2450.1;//(kJ/kg)
- parameter Real ESL1=209.33;//(kJ/kg)
- parameter Real ESL2=230.23;//(kJ/kg)
- parameter Real EEVAP1=2382.7;//(kJ/kg)
- parameter Real EEVAP2=2370.7;//(kJ/kg)
- parameter Real ESV1=2592.1;//(kJ/kg)
- parameter Real ESV2=2600.9;//(kJ/kg)
- parameter Real ENSL1=0.7038;//(kJ/kg*K)
- parameter Real ENSL2=0.7679;//(kJ/kg*K)
- parameter Real ENSV1=8.0763;//(kJ/kg*K)
- parameter Real ENSV2=7.9913;//(kJ/kg*K)
- Real P;
- Real SVL;
- Real SVV;
- Real IEL;
- Real IEV;
- Real ESL;
- Real EEVAP;
- Real ESV;
- Real ENSL;
- Real ENSV;
- equation
- P=P1+((T-T1)/(T2-T1))*(P2-P1);
- SVL=SVL1+((T-T1/T2-T1))*(P2-P1);
- SVV=SVV1+((T-T1/T2-T1))*(SVV2-SVV1);
- IEL=IEL1+((T-T1/T2-T1))*(IEL2-IEL1);
- IEV=IEV1+((T-T1/T2-T1))*(IEV2-IEV1);
- ESL=ESL1+((T-T1/T2-T1))*(ESL2-ESL1);
- EEVAP=EEVAP1+((T-T1/T2-T1))*(EEVAP2-EEVAP1);
- ESV=ESV1+((T-T1/T2-T1))*(ESV2-ESV1);
- ENSL=ENSL1+((T-T1/T2-T1))*(ENSL2-ENSL1);
- ENSV=ENSV1+((T-T1/T2-T1))*(ENSV2-ENSV1);
- end SaturatedWater;
Catatan Minggu Kedua (18 November 2020)
Dalam perkuliahan minggu ini, terdapat beberapa catatan penting :
- Dalam menjalani proses pembelajaran, orang yang merugi adalah orang yang sama dengan hari kemarin. Hal ini menurut saya adalah fakta, lantas mengapa demikian? Karena ketika sama dengan hari kemarin, orang lain pasti akan senantiasa untuk menjadi "lebih" dalam bidangnya masing-masing, sehingga ketika kita sama dengan hari kemarin maka bukan berarti kita diam, melainkan kita mengalami kemunduran karena orang lain sudah bergerak lebih maju dari kita.
- Dalam metode numerik, segalanya berpusat dalam perhitungan. Dalam proses perhitungan sendiri merupakan suatu seni untuk menyusun algoritma yang cepat, efisien, dan menghasilkan output yang akurat.
- Dalam dunia Engineering, faktor cepat dan akurat memegang peranan yang penting dalam penggunaan di lapangan. Sebagai seorang calon Engineer, kita memerlukan suatu sistem yang dapat memenuhi dua aspek penting sebelumnya untuk menyelesaikan permasalahan secara efisien baik di lapangan maupun dalam proses perancangan.
- Pak Dai berkata bahwa saat ini, bahasa mesin yang cepat untuk mengeluarkan nilai outputnya adalah bahasa Fortran dan C. Namun beliau lebih memilih untuk menggunakan bahasa Modelica dalam mata kuliah Metode Numerik karena beberapa alasan:
- Modelica adalah bahasa pemodelan, yang artinya dapat dimengerti dengan lebih mudah oleh individu yang bukan berlatar belakang dari bidang Ilmu Komputer, sehingga bisa diterapkan di bidang Teknik.
- Modelica dapat mengeluarkan hasil hitungan yang cepat karena menggunakan bahasa pemrograman C
- Modelica merupakan suatu bahasa yang open source, sehingga gratis dan mudah diakses oleh semua orang, serta memiliki komunitas pengguna yang cukup banyak.
- Dalam menggunakan OpenModelica, untuk melakukan suatu perhitungan, maka variabel haruslah didefinisikan.
- Apabila variabel tersebut memiliki nilai; maka nilai tersebut haruslah ditulis dengan menggunakan
parameter Real variabel=nilai
- Apabila variabel tersebut merupakan persamaan atau sesuatu yang ingin kita cari, maka variabel tersebut harus dituliskan dalam equation.
- Apabila variabel tersebut memiliki nilai; maka nilai tersebut haruslah ditulis dengan menggunakan
Tugas Minggu Kedua
Di tugas kedua ini, Pak Dai meminta saya dan rekan-rekan mahasiswa Metode Numerik 02 untuk membuat sebuah class dan fungsi panggil. Disini saya akan melakukan sebuah contoh soal mencari penyelesaian dari suatu grafik menggunakan perintah Modelica.Math.Matrices.solve
Pada contoh soal kali ini saya akan mencoba untuk menyelesaikan bentuk matriks Ax=B sebagai berikut:
Kemudian saya akan membuat sebuah class yang berisi matriks yang akan saya operasikan.
Lalu saya akan membuat sebuah fungsi baru yang berfungsi untuk "memanggil" matriks yang ada di dalam class untuk dioperasikan.
Langkah selanjutnya adalah saya akan mengklik perintah simulate untuk mendapatkan hasil perhitungannya, dan berikut adalah hasil dari x1, x2 dan x3.
Berikut adalah video penjelasan singkat saya untuk tugas minggu kedua.
Catatan Minggu ke-3 (Rabu, 25 November 2020)
Pengenalan secara Mandiri
Di minggu ke-3 ini, Pak Dai meminta mahasiswa untuk mempelajari mengenai aplikasi Metode Numerik pada bidang Engineering, salah satunya adalah Truss. Namun sebelum melangkah lebih jauh, saya terlebih dahulu menonton video dari Youtube untuk membantu saya memahami mengenai metode penghitungan yang digunakan pada Truss, yaitu Finite Element Analysis (FEA). Berikut adalah video yang saya tonton untuk membantu saya memahami mengenai Finite Element Analysis.
Dalam video pengenalan ini, terdapat beberapa hal yang cukup penting dan fundamental untuk memahami perhitungan FEA, yaitu:
- Pada prinsipnya, FEA merupakan suatu metode untuk memecahkan masalah yang kompleks dengan cara memecahnya menjadi masalah yang lebih kecil yang dapat dimodelkan secara matematis, lalu menggabungkan hasil pemodelannya kembali untuk memodelkan solusi dari permasalahan kompleks.
- Kunci dari Finite Element Analysis adalah geometri (bentuk dari model yang akan kita analisis) dan material (bahan penyusun model yang akan kita analisis). Hal ini penting untuk menyelesaikan pemodelan FEA.
- Adapun material yang kita gunakan dalam FEA selanjutnya kita sebut dengan "Mesh". Mesh sendiri menurut apa yang saya pahami merupakan bagian pengisi dari model geometri yang akan kita analisis, dan merupakan bentuk penyusun masalah kecil dari masalah keseluruhan. Contoh dari Mesh adalah:
- Kita menggunakan garis sebagai mesh untuk memodelkan suatu beam
- Kita menggunakan silinder sebagai mesh untuk memodelkan batang pohon, dsb.
- Contoh pengaplikasian nyata yang dibahas pada video ini adalah Crash Test dari suatu kendaraan.
- Sebelum mengenal metode FEA, para insinyur harus mengetes keamanan mobil dengan cara melakukan tes kecelakaan pada produknya. Hasilnya memang akurat dan merupakan "real world test", namun cara seperti ini memakan banyak waktu, biaya dan tenaga yang tidak sedikit.
- Setelah adanya metode FEA, insinyur dapat memodelkan objek (dalam hal ini kendaraan) kedalam suatu model FEA, dan melakukan simulasinya dengan komputer, sehingga menghemat waktu dan biaya serta mendapatkan hasil dengan cepat.
Setelah saya memahami dasar dari apa itu metode FEA, saya kemudian mempelajari video yang dibuat oleh Mahesh Gadwantikar yang membahas tentang problem dasar pada elemen Truss menggunakan Finite Element Analysis. Berikut adalah tautan videonya
Catatan Kelas
Dalam perkuliahan, Pak Dai berkata bahwa untuk menyelesaikan permasalahan keteknikan, dibutuhkan suatu urutan kerangka berpikir, yaitu
- Menganalisis permasalahan yang dihadapi.
- Melakukan pemodelan secara matematis.
- Menerjemahkan model matematis menjadi bahasa pemodelan yang dapat diolah oleh komputer.
- Melakukan perhitungan model matematis di komputer dan mendapatkan hasilnya.
Tugas 3
Dalam tugas ke 3 ini saya mencoba untuk menerjemahkan pseudocode yang ada pada Figure 9.4 di Buku Chapra menjadi bahasa Modelica. Berikut adalah bahasa Modelica yang telah saya buat.
- function NaiveGauszzRichardo
- //Pseudocode dari Figure 9.4 buku Chapra
- //Forward Elimination
- //DOFOR k = 1, n - 1
- // DOFOR i = k + 1, n
- // factor = a[i,k] / a[k,k]
- // DOFOR j = k + 1 to n
- // a[i,j] = a[i,j] - factor * a[k,j]
- // END DO
- // b[i] = b[i] - factor * b[k]
- // END DO
- //END DO
- //Backward Elimination
- //x[n] = b[n] / a[n,n]
- //DOFOR i = n - 1, 1, -1
- // sum = b[i]
- // DOFOR j = i + 1, n
- // sum = sum = a[i,j] * x[j]
- // END DO
- // x[i] = sum / a[i,i]
- //END DO
- //Naive-Gauss Algorithm
- //Richardo Ariyanto
- //Metode Numerik 02
- //Desember 2020
- input Real [:, :] A; //Koefisien Persamaan Linier
- input Real [:] B; // Konstanta Ruas Kanan di Persamaan Linier
- output Real [:, :] x; //Hasil Perhitungan
- protected
- Integer m = size(A,1);
- Integer n = size(A,2);
- Integer c = 0;
- Real i = 1;
- Real j = 1;
- Real k = 1;
- Real sum = 1;
- Real factor = 1;
- Real [:,:] a;
- Real [:] b;
- algorithm
- a := A;
- b := B;
- for k in 1:(n-1) loop //Forward Elimination dimulai disini
- for i in (k+1):n loop
- factor := a[i,k] / a[k,k];
- for j in (k+1):n loop
- a[i,j] := a[i,j] - (factor * a[k,j]);
- end for;
- b[i] := b[i] - (factor * b[k]);
- end for;
- end for;
- x[n] := b[n] / a[n,n]; //Backward Substitution dimulai disini
- for i in (n-1):(-1) loop
- sum := b[i];
- for j in (i+1):n loop
- sum := sum - (a[i,j] * x[j]);
- end for;
- x[i] := sum / a[i,i];
- end for;
- end NaiveGauszzRichardo;
Kemudian saya mencoba menyelesaikan contoh di bagian 9.5 menggunakan kode yang telah saya buat
dan saya membuat kelas panggil untuk mengeksekusi kode yang telah saya buat
dan setelah saya simulate, saya mendapatkan hasil X1, X2, dan X3 yang sama seperti di buku