Difference between revisions of "Satria Yusuf Erlangga"
Satriaucup (talk | contribs) |
Satriayusuf (talk | contribs) |
||
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | '''السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ''' | ||
+ | |||
'''Biodata''' | '''Biodata''' | ||
Line 44: | Line 46: | ||
− | + | ==''' Catatan 4 , 25 September 2019'''== | |
+ | Pada pertemuan kali ini, kami mempelajari Pemodelan komputer, dengan memahami dasar-dasar dan konsep pemodelan komputer. | ||
+ | |||
+ | |||
+ | Apa itu model? | ||
+ | Model adalah pengilustrasi dari suatu hal yang kita inginkan | ||
+ | Permodelan adalah sebuah simplifikasi dari sistem atau objek (dari keadaan yang rumit) | ||
+ | Contoh pada arsitek pembangunan nya rumit kemudian di simpelkan pada asumsi2 simplifikasi, representasi dan asumsi | ||
+ | jikalau ilmu dijadikan satu maka semua terhubung pada mechanical dan yang kita harus serap dari profesor adalah pikirannya. | ||
+ | |||
+ | pada buku dari python ada penerapan soal dan gauss sendiri, namun kita harus memahami dasar nya sehingga kita memahami bagaimana gauss tersebut | ||
+ | (memiliki parameter,asumsi) | ||
+ | pada saat ujian kita akan ada problem kemudian kita harus memodelkan nya, walaupun tidak pernah simulasi 100 exact seperti real nya. | ||
+ | |||
+ | Menurut saya '''Modelling computer''' adalah pengsimulasian melalui komputer sehingga kita dapat mempresentasikan suatu hal, benda atau fenomena dengan simplifikasi dan asumsi dari dasar-dasar dan paramater sehingga hal tersebut dapat dipahami oleh operator atau manusia, walaupun model tidak akan 100% sama dari aslinya | ||
+ | |||
+ | |||
+ | ==''' Catatan 5 , 2 Oktober 2019'''== | ||
+ | |||
+ | Pada pertemuan kali ini, kelas diisi oleh asisten dosen , Bang Edo. Bang Edo adalah alumni S1 DTM UI. Bang Edo menceritakan mengapa kita perlu belajar dan menggunakan python dan bukan bahasa pemrograman lain. Karena, python adalah salah satu bahasa pemrograman yang sekarang sering digunakan dan mudah dipahami. Dan kita juga dapat lebih memahami bagaimana pemrograman dari suatu kode, sedangkan di matlab semua fungsi sudah ada dan kita hanya tinggal menggunakan fungsi tersebut untuk menegerjakan dan tidak menggunakan logika pengerjaan. Kita juga diajarkan bagaimana pemodelan menggunakan python pada salah satu kasus gauss jordan dan cara pemahaman kode nya. | ||
+ | |||
+ | |||
+ | ==''' Catatan 6 , 9 Oktober 2019'''== | ||
+ | |||
+ | Pada pertemuan kali ini, kita masih tentang pemodelan. Dalam pemodelan, kita asumsuikanbahwa bahwa benda yang dimodelkan adalah kontinuum. Dari asumsi tersebut, kita dapatkan persamaan deferensial. | ||
+ | |||
+ | '''Kita diberikan tugas mengenai runge kutta''' | ||
+ | |||
+ | |||
+ | ==''' Catatan 7 , 16 Oktober 2019'''== | ||
+ | |||
+ | Pak DAI mengadakan kuis , kita harus mengerjakan kasus dari soal buku dan menuliskan algoritma nya pada kertas, dan menuliskan kode pemrograman nya pada Air.eng. kode tersebut ada pada dibawah ini. | ||
+ | '''Kuis''' | ||
− | |||
− | #Menyusun Matriks A, baris 1 disusun kembali dengan angka sehingga tidak eror | + | from numpy import* |
− | A = array([[1.,2.,0.,-2.,0.,-4],\ | + | |
+ | #Menyusun Matriks A, baris 1 disusun kembali dengan angka sehingga tidak eror | ||
+ | A = array([[1.,2.,0.,-2.,0.,-4],\ | ||
[0.,1.,0.,2.,-1.,1],\ | [0.,1.,0.,2.,-1.,1],\ | ||
[0.,0.,2.,1.,2.,1],\ | [0.,0.,2.,1.,2.,1],\ | ||
[0.,0.,0.,-1,1.,-2],\ | [0.,0.,0.,-1,1.,-2],\ | ||
[0.,1.,-1.,1.,-1.,-1]]) | [0.,1.,-1.,1.,-1.,-1]]) | ||
− | print ('Matrix A Adalah =',A) | + | print ('Matrix A Adalah =',A) |
− | n=len(A) | + | n=len(A) |
− | #Segitiga atas menggunakan Gauss | + | #Segitiga atas menggunakan Gauss |
− | for k in range(0,n-1): | + | for k in range(0,n-1): |
for i in range(k+1,n): | for i in range(k+1,n): | ||
Line 68: | Line 103: | ||
A[i][j]=A[i][j]-m*A[k][j] | A[i][j]=A[i][j]-m*A[k][j] | ||
+ | #Subtitusi | ||
+ | Hasil = zeros((n,1)) | ||
+ | Hasil[n-1][0]=A[n-1][n]/A[n-1][n-1] | ||
+ | for j in range(n-2,-1,-1): | ||
+ | S=0 | ||
+ | for i in range(j+1,n): | ||
+ | S=S+A[j][i]*Hasil[i][0] | ||
+ | Hasil[j][0]=(A[j][n]-S)/A[j][j] | ||
+ | #Print Hasil | ||
+ | print ('Hasil=',Hasil) | ||
+ | |||
+ | Run | ||
+ | |||
+ | Matrix A Adalah = [[ 1. 2. 0. -2. 0. -4.] | ||
+ | [ 0. 1. 0. 2. -1. 1.] | ||
+ | [ 0. 0. 2. 1. 2. 1.] | ||
+ | [ 0. 0. 0. -1. 1. -2.] | ||
+ | [ 0. 1. -1. 1. -1. -1.]] | ||
+ | Hasil= [[ 2.] | ||
+ | [-2.] | ||
+ | [ 1.] | ||
+ | [ 1.] | ||
+ | [-1.]] | ||
+ | |||
+ | |||
+ | '''2''' | ||
+ | |||
+ | #definisikan | ||
+ | def dydx(x, y): | ||
+ | return ((x**2 - 4*y)) | ||
+ | |||
+ | # Mencari nilai dari y untuk x menggunakan ukuran h | ||
+ | def rungeKutta(x0, y0, x, h): | ||
+ | n = (int)((x - x0)/h) | ||
+ | # Iterasi | ||
+ | y = y0 | ||
+ | for i in range(1, n + 1): | ||
+ | "Apply Runge Kutta Formulas to find next value of y" | ||
+ | k1 = h * dydx(x0, y) | ||
+ | k2 = h * dydx(x0 + 0.5 * h, y + 0.5 * k1) | ||
+ | k3 = h * dydx(x0 + 0.5 * h, y + 0.5 * k2) | ||
+ | k4 = h * dydx(x0 + h, y + k3) | ||
+ | |||
+ | # Penambahan nilai y dan x | ||
+ | y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) | ||
+ | x0 = x0 + h | ||
+ | return y | ||
+ | |||
+ | #Pemisalan dan penambahan data : | ||
+ | o = input ("berapakah nilai x0 ") | ||
+ | p = input ("berapakah nilai y ") | ||
+ | q = input ("berapakah nilai x ") | ||
+ | r = input ("berapakah nilai h ") | ||
+ | x0= int(o) | ||
+ | y= int(p) | ||
+ | x= float(q) | ||
+ | h= float(r) | ||
+ | print ('Nilai y pada x adalah:', rungeKutta(x0, y, x, h)) | ||
+ | |||
+ | |||
+ | '''Run''' | ||
+ | |||
+ | |||
+ | berapakah nilai x0 0 | ||
+ | berapakah nilai y 1 | ||
+ | berapakah nilai x 0.03 | ||
+ | berapakah nilai h 0.01 | ||
+ | Nilai y pada x adalah: 0.8869291754400297 | ||
+ | |||
+ | |||
+ | UTS | ||
+ | |||
+ | 1 | ||
+ | |||
+ | from math import * | ||
+ | #asumsi nilai gravitasi | ||
+ | g = 9.81 | ||
+ | #input nilai m1-m3 | ||
+ | m1 = eval(input("beratnya massa 1 adalah: ")) | ||
+ | m2 = eval(input("beratnya massa 1 adalah: ")) | ||
+ | m3 = eval(input("beratnya massa 1 adalah: ")) | ||
+ | #mengasumsikan sudut 30 dengan nilai sin 0.5 | ||
+ | sin = 0.5 | ||
+ | #menghitung nilai m4 yang dibutuhkan untuk menghitung | ||
+ | m4 = sin*(m1 + m2 + m3) | ||
+ | #mencetak nilai m4 | ||
+ | print ('nilai massa untuk mengimbangi nya adalah', m4 ) | ||
+ | T = g*m4 | ||
+ | #mencetak nilai | ||
+ | print ('nilai tegangan nya adalah',T) | ||
+ | |||
+ | beratnya massa 1 adalah: 1 | ||
+ | beratnya massa 1 adalah: 2 | ||
+ | beratnya massa 1 adalah: 3 | ||
+ | nilai massa untuk mengimbangi nya adalah 3.0 | ||
+ | nilai tegangan nya adalah 29.43 | ||
+ | |||
+ | 2 | ||
+ | |||
+ | #asumsikan g = 9.81 | ||
+ | g = 9.81 | ||
+ | #input nilai massa | ||
+ | m = eval(input("berat mobil adalah: ")) | ||
+ | #input nilai koef gesek | ||
+ | D = eval(input("nilai koefisien geseknya adalah: ")) | ||
+ | #input nilai koef H aeronya | ||
+ | Cu = eval(input("nilai koef H aeronya adalah: ")) | ||
+ | #asumsikan kecepatan maksimal | ||
+ | VS = 30 | ||
+ | #Menghitung | ||
+ | A = VS*m | ||
+ | B = Cu * 164.32 + m * g * D | ||
+ | t = A/B | ||
+ | #print waktu yang dibutuhkan | ||
+ | print ('waktu yang dibutuhkan adalah',t) | ||
+ | |||
+ | berat mobil adalah: 1000 | ||
+ | nilai koefisien geseknya adalah: 2 | ||
+ | nilai koef H aeronya adalah: 3 | ||
+ | waktu yang dibutuhkan adalah 1.4915755811178464 | ||
+ | |||
+ | UTS | ||
+ | |||
+ | https://youtu.be/w7LaBgf8HAo | ||
+ | |||
+ | from math import * | ||
+ | #asumsi nilai gravitasi | ||
+ | g = 9.81 | ||
+ | #input nilai m1-m3 | ||
+ | m1 = eval(input("beratnya massa 1 adalah: ")) | ||
+ | m2 = eval(input("beratnya massa 2 adalah: ")) | ||
+ | m3 = eval(input("beratnya massa 3 adalah: ")) | ||
+ | A = eval(input("Sudut A adalah: ")) | ||
+ | #mengasumsikan sudut 30 dengan nilai sin 0.5 | ||
+ | |||
+ | sinA = sin (radians (A)) | ||
+ | #menghitung nilai m4 yang dibutuhkan untuk menghitung | ||
+ | m4 = sinA*(m1 + m2 + m3) | ||
+ | #mencetak nilai m4 | ||
+ | print ('nilai massa untuk mengimbangi nya adalah', m4 ) | ||
+ | T1 = m1*g*sinA | ||
+ | T2 = T1+m2*g*sinA | ||
+ | T3 = T2+m3*g*sinA | ||
+ | T4 = T3 | ||
+ | #mencetak nilai | ||
+ | print ('nilai sin dari sudut adalah',sinA) | ||
+ | print ('nilai T1 nya adalah',T1) | ||
+ | print ('nilai T2 nya adalah',T2) | ||
+ | print ('nilai T3 nya adalah',T3) | ||
+ | print ('nilai T4 nya adalah',T4) | ||
+ | |||
+ | |||
+ | |||
+ | from numpy import* | ||
+ | from math import * | ||
+ | #asumsi nilai gravitasi | ||
+ | g = 9.81 | ||
+ | #input nilai m1-m3 | ||
+ | m1 = eval(input("beratnya massa 1 adalah: ")) | ||
+ | m2 = eval(input("beratnya massa 2 adalah: ")) | ||
+ | m3 = eval(input("beratnya massa 3 adalah: ")) | ||
+ | m4 = eval(input("beratnya massa 4 adalah: ")) | ||
+ | |||
+ | sinA = m4 / (m1+m2+m3) | ||
+ | |||
+ | #Menyusun Matriks A, baris 1 disusun kembali dengan angka sehingga tidak eror | ||
+ | A = array([[1.,0.,0.,0.,(m1*g*sinA)],\ | ||
+ | [-1.,1.,0.,0.,(m2*g*sinA)],\ | ||
+ | [0.,-1.,1.,0.,(m3*g*sinA)],\ | ||
+ | [0.,0.,-1.,1,0.]]) | ||
+ | print ('Matrix A Adalah =',A) | ||
+ | |||
+ | n=len(A) | ||
+ | #Segitiga atas menggunakan Gauss | ||
+ | for k in range(0,n-1): | ||
+ | for i in range(k+1,n): | ||
+ | m=A[i][k]/A[k][k] | ||
+ | for j in range(0,n+1): | ||
+ | A[i][j]=A[i][j]-m*A[k][j] | ||
#Subtitusi | #Subtitusi | ||
Hasil = zeros((n,1)) | Hasil = zeros((n,1)) | ||
Hasil[n-1][0]=A[n-1][n]/A[n-1][n-1] | Hasil[n-1][0]=A[n-1][n]/A[n-1][n-1] | ||
for j in range(n-2,-1,-1): | for j in range(n-2,-1,-1): | ||
− | + | S=0 | |
− | + | for i in range(j+1,n): | |
− | + | S=S+A[j][i]*Hasil[i][0] | |
− | + | Hasil[j][0]=(A[j][n]-S)/A[j][j] | |
#Print Hasil | #Print Hasil | ||
print ('Hasil=',Hasil) | print ('Hasil=',Hasil) | ||
+ | |||
+ | |||
+ | #asumsikan g = 9.81 | ||
+ | g = 9.81 | ||
+ | V0 = 0 | ||
+ | #input nilai massa | ||
+ | m = eval(input("berat mobil adalah: ")) | ||
+ | #input nilai koef gesek | ||
+ | D = eval(input("nilai koefisien geseknya adalah: ")) | ||
+ | #input nilai koef H aeronya | ||
+ | Cu = eval(input("nilai koef H aeronya adalah: ")) | ||
+ | #asumsikan kecepatan maksimal | ||
+ | VS = eval(input("nilai kecepatan maksimal adalah (dlm m/s): ")) | ||
+ | #Menghitung | ||
+ | a = eval(input ("nilai percepatan mobilnya adalah: ")) | ||
+ | fD = D*g*m | ||
+ | fU = Cu*VS**1.5 | ||
+ | fA = m*a - fD - fU | ||
+ | aS = fA/m | ||
+ | t = (VS-V0) / aS | ||
+ | print ("Waktu yang dibutuhkan untuk mencapai kecepatan akhir adalah",t , "detik") | ||
+ | |||
+ | |||
+ | m= float (input("massanya adalah :")) | ||
+ | g = float (input("gravitasinya adalah :")) | ||
+ | #massa jenis udara | ||
+ | ro = 1.2 #massa jenis udara | ||
+ | am = float(input("percepatan mobilnya adalah: ")) | ||
+ | Cu = float(input("koefisien dragnya adalah: ")) | ||
+ | D = float(input("koefisien gesekannya adalah: ")) | ||
+ | A = float(input("area [m^2]: ")) | ||
+ | v0 = float(input("kecepatan awal mobil adalah [m/s]: ")) | ||
+ | vf = float(input("kecepatan mobil max adalahn [m/s]: ")) | ||
+ | |||
+ | # total perceptan adalah gabungan dari am, af , ad | ||
+ | Ff = m * g * D # rumusnya Ff = m * g * nu | ||
+ | Fd = (Cu * A * ro * v0 ** 2) / 2 # rumusnya Fd = (Cd * A * p * v0 ** 2) / 2 | ||
+ | a2 = (am) - (Fd / m) - (Ff / m) | ||
+ | def dtdtv(t, y): | ||
+ | return ((m) / (am*g - m * g * D - 0.5 * Cu * A * ro * v0 ** 2)) | ||
+ | t = 0 | ||
+ | h = 0.01 | ||
+ | def rungekutta(v0, t0, vf, h): | ||
+ | n = (int)((vf - v0) / h) | ||
+ | t = t0 | ||
+ | for i in range(1, n + 1): | ||
+ | #rumus Runge kutta | ||
+ | k1 = h * dtdtv(v0, t) | ||
+ | k2 = h * dtdtv(v0 + 0.5 * h, t + 0.5 * k1) | ||
+ | k3 = h * dtdtv(v0 + 0.5 * h, t + 0.5 * k2) | ||
+ | k4 = h * dtdtv(v0 + h, t + k3) | ||
+ | |||
+ | #mendapatkan nilai t yang diperlukan hingga mencapai kecepatan tersebut | ||
+ | t = t + (1.0 / 6.0) * (k1 + (2 * k2) + (2 * k3) + k4) | ||
+ | |||
+ | # nilai Vo | ||
+ | v0 = v0 + h | ||
+ | return t | ||
+ | te = rungekutta(v0, t, vf, h) | ||
+ | |||
+ | print(te) | ||
+ | |||
+ | https://youtu.be/4sYxS38i1hs | ||
+ | |||
+ | |||
+ | '''Muhasabah''' | ||
+ | |||
+ | |||
+ | https://youtu.be/9gbba4FE3UI | ||
+ | |||
+ | |||
+ | https://youtu.be/xIldfYAnCX0 | ||
+ | |||
+ | ==''' Catatan 8 , 30 Oktober 2019'''== | ||
+ | |||
+ | [[Kasus fisika dengan runge kutta]] | ||
+ | |||
+ | ==''' Catatan 9 , 6 November 2019'''== | ||
+ | Pada pertemuan kali ini ,Kita diajarkan belajar mengenai cara berpikir dari metode numerik adalah sebuah cara, a[akah anda percaya adanya gelombang?. (getaran yang merambat) apa yang disampaikan orang tua anda tidak hanya dari suara melainkan visual juga ,dengan mengetahui masalah bukan hanya dik dit jawab dan cocok-cocokan rumusnya. kita diharapkan menjadi lulusan yang merumuskan masalah samapai membuat solusinya. sebelum menggunakan metode numerik coba pahami dulu masalahnya. Metode numerik telah disusunsecara terstruktur dan dibukukan. namun karena perkembangan teknologi sangat cepat, metode numerik belum bisa untuk mengikuti perkembangan terhadap metode-metode baru yang ada seperti AI (artificial intelligence). | ||
+ | |||
+ | ==''' Catatan 10 , 13 November 2019'''== | ||
+ | Proses mengelola data ada beberapa seperti Regresi linier, curve fitting, least square. Menentukan metode mana yang kita gunakan untuk membuat suatu grafik dengan pendekatan regresi linier. Hal yang harus kita lakukan adalah memahami fenomena fisikanya untuk menentukan grafik seperti apa yang kita inginkan nanti. Optimasi sendiri merupakan proses yang bertujuan untuk mencari nilai minimum atau maksimum dari suatu fungsi. fungsi ini dapat berasal dari data yang dikumpulkan atau model matematis yang dibuat. Dengan melakukan optimasi, kita bisa mendapatkan nilai efektif atau efisien dari suatu sistem. Contohnya, volume mobil agar bensin dapat diiritkan, desain suatu panel surya agar output daya maksimal, dan seterusnya. | ||
+ | |||
+ | ==''' Catatan 11 , 20 November 2019'''== | ||
+ | Pada pertemuan hari ini kita diajarkan mengenai CFD SOF,yang dikembangkan oleh CCIT FTUI. CFDSOF adalah software yang digunakan untuk mendapatkan hasil simulasi aliran fluida dan thermal pada sebuah model/ design CAD (Computer Aided Design) salah satunya adalah Inventor dan Solidworks. Kita diajarkan Cara menggunakan CFDSOF dengan contoh model mobil, Kita mencari berapa drag force nya dengan memvariasikan kecepatan udara. | ||
+ | |||
+ | Catatan: Tugas simulasi Air foil menggunakan CFDSOF dan dengan sudut serang kelipatan 15 derajat dengan range antara | ||
+ | -15 hingga 90 derajat | ||
+ | |||
+ | ==''' Catatan 12 , 27 November 2019'''== | ||
+ | Kuis Dadakan dan kelompok saya presentasi | ||
+ | |||
+ | ==''' Catatan 13, 4 Desember 2019'''== | ||
+ | Presentasi | ||
+ | |||
+ | ==''' Catatan 13, 11 Desember 2019'''== | ||
+ | Pada pertemuan kali ini, kita belajar tentang ANN. ANN adalah Artificial Neural Network Artificial atau Jaringan Syaraf Tiruan merupakan sebuah teknik atau pendekatan pengolahan informasi yang terinspirasi oleh cara kerja sistem saraf biologis, khususnya pada sel otak manusia dalam memproses informasi. |
Latest revision as of 15:45, 17 December 2019
السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
Biodata
NPM : 1706036242
TTL : Tegal, 1 september 1999
Contents
- 1 Catatan 1 ,4 September 2019
- 2 Catatan 2 ,11 September 2019
- 3 Catatan 3 ,18 September 2019
- 4 Catatan 4 , 25 September 2019
- 5 Catatan 5 , 2 Oktober 2019
- 6 Catatan 6 , 9 Oktober 2019
- 7 Catatan 7 , 16 Oktober 2019
- 8 Catatan 8 , 30 Oktober 2019
- 9 Catatan 9 , 6 November 2019
- 10 Catatan 10 , 13 November 2019
- 11 Catatan 11 , 20 November 2019
- 12 Catatan 12 , 27 November 2019
- 13 Catatan 13, 4 Desember 2019
- 14 Catatan 13, 11 Desember 2019
Catatan 1 ,4 September 2019
Sekarang ini kita tidak luput dari pemrograman, salah satu salah satu aplikasi yang digunakan dari pemrograman adalah python. Banyak dari universitas di indonesia maupun di luar negeri sudah mencantumkan pemrograman sebagai salah satu mata kuliah wajib mereka dikarenakan betapa pentingnya mata kuliah ini.
Kenapa kita mempelajari kalkulus dalam salah satu mata kuliah teknik mesin?
Karena dalam kalkulus kita mempelajari dasar-dasar perhitungan dan rumus dasar yang dapat kita gunakan pada mata kuliah lanjutan seperti matematika teknik , mekanika fluida dan mata kuliah lainnya.
HW 1 : Pelajari Python dan dan membuat program untuk menyelesaikan suatu fungsi
Pada Tugas yang pertama kali ini kita diminta untuk menyelesaikan limit dari fungsi F(x)= (x^2-1)/(x-1)
dengan x=1
Pada tugas kali ini, saya mencoba menggunakan import library sympy untuk simbolic mathemathic dari library python itu sendiri. sympy tersendiri didesain agar memiliki feature full sebagai CAS atau computer algebra system
Berikut langkah2 yang saya lakukan:
Catatan 2 ,11 September 2019
Kita sebagai engineer , harus memahami komputer itu sendiri. Tidak hanya cuma bisa menggunakan nya, namun memahami juga bagaimana program dari komputer sendiri dapat digunakan. Seperti kata Pak Radon, jika kita ingin mempelajari kita harus langsung masuk mencobanya dibandingkan membaca teori dari buku.
Kemudian kami diajarkan dasar-dasar python dari Pak Radon. Saya menggunakan aplikasi Spyder dari laptop saya dikarenakan komputer yang saya gunakan tidak bisa terhubung pada internet. Disitu kami belajar sedikit tentang Tupples dan List. Berikut adalah latihan saya :
Catatan 3 ,18 September 2019
Pada hari ini,Pak Dai dan Pak Radon memberikan kuis untuk menyelesaikan soal program deret fibonacci melalui python.
Deret tersebut : 1, 1, 2, 3, 5, 8, 13, .. , n. Ada banyak cara untuk menyelesaikan deret fungsi tersebut, namun yang saya gunakan adalah dengan cara if else :
Catatan 4 , 25 September 2019
Pada pertemuan kali ini, kami mempelajari Pemodelan komputer, dengan memahami dasar-dasar dan konsep pemodelan komputer.
Apa itu model?
Model adalah pengilustrasi dari suatu hal yang kita inginkan
Permodelan adalah sebuah simplifikasi dari sistem atau objek (dari keadaan yang rumit)
Contoh pada arsitek pembangunan nya rumit kemudian di simpelkan pada asumsi2 simplifikasi, representasi dan asumsi
jikalau ilmu dijadikan satu maka semua terhubung pada mechanical dan yang kita harus serap dari profesor adalah pikirannya.
pada buku dari python ada penerapan soal dan gauss sendiri, namun kita harus memahami dasar nya sehingga kita memahami bagaimana gauss tersebut (memiliki parameter,asumsi) pada saat ujian kita akan ada problem kemudian kita harus memodelkan nya, walaupun tidak pernah simulasi 100 exact seperti real nya.
Menurut saya Modelling computer adalah pengsimulasian melalui komputer sehingga kita dapat mempresentasikan suatu hal, benda atau fenomena dengan simplifikasi dan asumsi dari dasar-dasar dan paramater sehingga hal tersebut dapat dipahami oleh operator atau manusia, walaupun model tidak akan 100% sama dari aslinya
Catatan 5 , 2 Oktober 2019
Pada pertemuan kali ini, kelas diisi oleh asisten dosen , Bang Edo. Bang Edo adalah alumni S1 DTM UI. Bang Edo menceritakan mengapa kita perlu belajar dan menggunakan python dan bukan bahasa pemrograman lain. Karena, python adalah salah satu bahasa pemrograman yang sekarang sering digunakan dan mudah dipahami. Dan kita juga dapat lebih memahami bagaimana pemrograman dari suatu kode, sedangkan di matlab semua fungsi sudah ada dan kita hanya tinggal menggunakan fungsi tersebut untuk menegerjakan dan tidak menggunakan logika pengerjaan. Kita juga diajarkan bagaimana pemodelan menggunakan python pada salah satu kasus gauss jordan dan cara pemahaman kode nya.
Catatan 6 , 9 Oktober 2019
Pada pertemuan kali ini, kita masih tentang pemodelan. Dalam pemodelan, kita asumsuikanbahwa bahwa benda yang dimodelkan adalah kontinuum. Dari asumsi tersebut, kita dapatkan persamaan deferensial.
Kita diberikan tugas mengenai runge kutta
Catatan 7 , 16 Oktober 2019
Pak DAI mengadakan kuis , kita harus mengerjakan kasus dari soal buku dan menuliskan algoritma nya pada kertas, dan menuliskan kode pemrograman nya pada Air.eng. kode tersebut ada pada dibawah ini.
Kuis
from numpy import*
#Menyusun Matriks A, baris 1 disusun kembali dengan angka sehingga tidak eror A = array([[1.,2.,0.,-2.,0.,-4],\ [0.,1.,0.,2.,-1.,1],\ [0.,0.,2.,1.,2.,1],\ [0.,0.,0.,-1,1.,-2],\ [0.,1.,-1.,1.,-1.,-1]]) print ('Matrix A Adalah =',A)
n=len(A) #Segitiga atas menggunakan Gauss for k in range(0,n-1):
for i in range(k+1,n): m=A[i][k]/A[k][k]
for j in range(0,n+1): A[i][j]=A[i][j]-m*A[k][j]
#Subtitusi Hasil = zeros((n,1)) Hasil[n-1][0]=A[n-1][n]/A[n-1][n-1] for j in range(n-2,-1,-1): S=0 for i in range(j+1,n): S=S+A[j][i]*Hasil[i][0] Hasil[j][0]=(A[j][n]-S)/A[j][j] #Print Hasil print ('Hasil=',Hasil)
Run
Matrix A Adalah = [[ 1. 2. 0. -2. 0. -4.] [ 0. 1. 0. 2. -1. 1.] [ 0. 0. 2. 1. 2. 1.] [ 0. 0. 0. -1. 1. -2.] [ 0. 1. -1. 1. -1. -1.]] Hasil= [[ 2.] [-2.] [ 1.] [ 1.] [-1.]]
2
#definisikan def dydx(x, y): return ((x**2 - 4*y)) # Mencari nilai dari y untuk x menggunakan ukuran h def rungeKutta(x0, y0, x, h): n = (int)((x - x0)/h) # Iterasi y = y0 for i in range(1, n + 1): "Apply Runge Kutta Formulas to find next value of y" k1 = h * dydx(x0, y) k2 = h * dydx(x0 + 0.5 * h, y + 0.5 * k1) k3 = h * dydx(x0 + 0.5 * h, y + 0.5 * k2) k4 = h * dydx(x0 + h, y + k3) # Penambahan nilai y dan x y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) x0 = x0 + h return y #Pemisalan dan penambahan data : o = input ("berapakah nilai x0 ") p = input ("berapakah nilai y ") q = input ("berapakah nilai x ") r = input ("berapakah nilai h ") x0= int(o) y= int(p) x= float(q) h= float(r) print ('Nilai y pada x adalah:', rungeKutta(x0, y, x, h))
Run
berapakah nilai x0 0 berapakah nilai y 1 berapakah nilai x 0.03 berapakah nilai h 0.01 Nilai y pada x adalah: 0.8869291754400297
UTS
1
from math import * #asumsi nilai gravitasi g = 9.81 #input nilai m1-m3 m1 = eval(input("beratnya massa 1 adalah: ")) m2 = eval(input("beratnya massa 1 adalah: ")) m3 = eval(input("beratnya massa 1 adalah: ")) #mengasumsikan sudut 30 dengan nilai sin 0.5 sin = 0.5 #menghitung nilai m4 yang dibutuhkan untuk menghitung m4 = sin*(m1 + m2 + m3) #mencetak nilai m4 print ('nilai massa untuk mengimbangi nya adalah', m4 ) T = g*m4 #mencetak nilai print ('nilai tegangan nya adalah',T)
beratnya massa 1 adalah: 1 beratnya massa 1 adalah: 2 beratnya massa 1 adalah: 3 nilai massa untuk mengimbangi nya adalah 3.0 nilai tegangan nya adalah 29.43
2
#asumsikan g = 9.81 g = 9.81 #input nilai massa m = eval(input("berat mobil adalah: ")) #input nilai koef gesek D = eval(input("nilai koefisien geseknya adalah: ")) #input nilai koef H aeronya Cu = eval(input("nilai koef H aeronya adalah: ")) #asumsikan kecepatan maksimal VS = 30 #Menghitung A = VS*m B = Cu * 164.32 + m * g * D t = A/B #print waktu yang dibutuhkan print ('waktu yang dibutuhkan adalah',t)
berat mobil adalah: 1000 nilai koefisien geseknya adalah: 2 nilai koef H aeronya adalah: 3 waktu yang dibutuhkan adalah 1.4915755811178464
UTS
from math import *
- asumsi nilai gravitasi
g = 9.81
- input nilai m1-m3
m1 = eval(input("beratnya massa 1 adalah: ")) m2 = eval(input("beratnya massa 2 adalah: ")) m3 = eval(input("beratnya massa 3 adalah: ")) A = eval(input("Sudut A adalah: "))
- mengasumsikan sudut 30 dengan nilai sin 0.5
sinA = sin (radians (A))
- menghitung nilai m4 yang dibutuhkan untuk menghitung
m4 = sinA*(m1 + m2 + m3)
- mencetak nilai m4
print ('nilai massa untuk mengimbangi nya adalah', m4 ) T1 = m1*g*sinA T2 = T1+m2*g*sinA T3 = T2+m3*g*sinA T4 = T3
- mencetak nilai
print ('nilai sin dari sudut adalah',sinA) print ('nilai T1 nya adalah',T1) print ('nilai T2 nya adalah',T2) print ('nilai T3 nya adalah',T3) print ('nilai T4 nya adalah',T4)
from numpy import* from math import *
- asumsi nilai gravitasi
g = 9.81
- input nilai m1-m3
m1 = eval(input("beratnya massa 1 adalah: ")) m2 = eval(input("beratnya massa 2 adalah: ")) m3 = eval(input("beratnya massa 3 adalah: ")) m4 = eval(input("beratnya massa 4 adalah: "))
sinA = m4 / (m1+m2+m3)
- Menyusun Matriks A, baris 1 disusun kembali dengan angka sehingga tidak eror
A = array([[1.,0.,0.,0.,(m1*g*sinA)],\
[-1.,1.,0.,0.,(m2*g*sinA)],\ [0.,-1.,1.,0.,(m3*g*sinA)],\ [0.,0.,-1.,1,0.]])
print ('Matrix A Adalah =',A)
n=len(A)
- Segitiga atas menggunakan Gauss
for k in range(0,n-1):
for i in range(k+1,n): m=A[i][k]/A[k][k] for j in range(0,n+1): A[i][j]=A[i][j]-m*A[k][j]
- Subtitusi
Hasil = zeros((n,1)) Hasil[n-1][0]=A[n-1][n]/A[n-1][n-1] for j in range(n-2,-1,-1):
S=0 for i in range(j+1,n): S=S+A[j][i]*Hasil[i][0] Hasil[j][0]=(A[j][n]-S)/A[j][j]
- Print Hasil
print ('Hasil=',Hasil)
#asumsikan g = 9.81 g = 9.81 V0 = 0 #input nilai massa m = eval(input("berat mobil adalah: ")) #input nilai koef gesek D = eval(input("nilai koefisien geseknya adalah: ")) #input nilai koef H aeronya Cu = eval(input("nilai koef H aeronya adalah: ")) #asumsikan kecepatan maksimal VS = eval(input("nilai kecepatan maksimal adalah (dlm m/s): ")) #Menghitung a = eval(input ("nilai percepatan mobilnya adalah: ")) fD = D*g*m fU = Cu*VS**1.5 fA = m*a - fD - fU aS = fA/m t = (VS-V0) / aS print ("Waktu yang dibutuhkan untuk mencapai kecepatan akhir adalah",t , "detik")
m= float (input("massanya adalah :")) g = float (input("gravitasinya adalah :")) #massa jenis udara ro = 1.2 #massa jenis udara am = float(input("percepatan mobilnya adalah: ")) Cu = float(input("koefisien dragnya adalah: ")) D = float(input("koefisien gesekannya adalah: ")) A = float(input("area [m^2]: ")) v0 = float(input("kecepatan awal mobil adalah [m/s]: ")) vf = float(input("kecepatan mobil max adalahn [m/s]: "))
# total perceptan adalah gabungan dari am, af , ad Ff = m * g * D # rumusnya Ff = m * g * nu Fd = (Cu * A * ro * v0 ** 2) / 2 # rumusnya Fd = (Cd * A * p * v0 ** 2) / 2 a2 = (am) - (Fd / m) - (Ff / m) def dtdtv(t, y): return ((m) / (am*g - m * g * D - 0.5 * Cu * A * ro * v0 ** 2)) t = 0 h = 0.01 def rungekutta(v0, t0, vf, h): n = (int)((vf - v0) / h) t = t0 for i in range(1, n + 1): #rumus Runge kutta k1 = h * dtdtv(v0, t) k2 = h * dtdtv(v0 + 0.5 * h, t + 0.5 * k1) k3 = h * dtdtv(v0 + 0.5 * h, t + 0.5 * k2) k4 = h * dtdtv(v0 + h, t + k3)
#mendapatkan nilai t yang diperlukan hingga mencapai kecepatan tersebut t = t + (1.0 / 6.0) * (k1 + (2 * k2) + (2 * k3) + k4)
# nilai Vo v0 = v0 + h return t te = rungekutta(v0, t, vf, h)
print(te)
Muhasabah
Catatan 8 , 30 Oktober 2019
Kasus fisika dengan runge kutta
Catatan 9 , 6 November 2019
Pada pertemuan kali ini ,Kita diajarkan belajar mengenai cara berpikir dari metode numerik adalah sebuah cara, a[akah anda percaya adanya gelombang?. (getaran yang merambat) apa yang disampaikan orang tua anda tidak hanya dari suara melainkan visual juga ,dengan mengetahui masalah bukan hanya dik dit jawab dan cocok-cocokan rumusnya. kita diharapkan menjadi lulusan yang merumuskan masalah samapai membuat solusinya. sebelum menggunakan metode numerik coba pahami dulu masalahnya. Metode numerik telah disusunsecara terstruktur dan dibukukan. namun karena perkembangan teknologi sangat cepat, metode numerik belum bisa untuk mengikuti perkembangan terhadap metode-metode baru yang ada seperti AI (artificial intelligence).
Catatan 10 , 13 November 2019
Proses mengelola data ada beberapa seperti Regresi linier, curve fitting, least square. Menentukan metode mana yang kita gunakan untuk membuat suatu grafik dengan pendekatan regresi linier. Hal yang harus kita lakukan adalah memahami fenomena fisikanya untuk menentukan grafik seperti apa yang kita inginkan nanti. Optimasi sendiri merupakan proses yang bertujuan untuk mencari nilai minimum atau maksimum dari suatu fungsi. fungsi ini dapat berasal dari data yang dikumpulkan atau model matematis yang dibuat. Dengan melakukan optimasi, kita bisa mendapatkan nilai efektif atau efisien dari suatu sistem. Contohnya, volume mobil agar bensin dapat diiritkan, desain suatu panel surya agar output daya maksimal, dan seterusnya.
Catatan 11 , 20 November 2019
Pada pertemuan hari ini kita diajarkan mengenai CFD SOF,yang dikembangkan oleh CCIT FTUI. CFDSOF adalah software yang digunakan untuk mendapatkan hasil simulasi aliran fluida dan thermal pada sebuah model/ design CAD (Computer Aided Design) salah satunya adalah Inventor dan Solidworks. Kita diajarkan Cara menggunakan CFDSOF dengan contoh model mobil, Kita mencari berapa drag force nya dengan memvariasikan kecepatan udara.
Catatan: Tugas simulasi Air foil menggunakan CFDSOF dan dengan sudut serang kelipatan 15 derajat dengan range antara -15 hingga 90 derajat
Catatan 12 , 27 November 2019
Kuis Dadakan dan kelompok saya presentasi
Catatan 13, 4 Desember 2019
Presentasi
Catatan 13, 11 Desember 2019
Pada pertemuan kali ini, kita belajar tentang ANN. ANN adalah Artificial Neural Network Artificial atau Jaringan Syaraf Tiruan merupakan sebuah teknik atau pendekatan pengolahan informasi yang terinspirasi oleh cara kerja sistem saraf biologis, khususnya pada sel otak manusia dalam memproses informasi.