Marcellino Lorenzo
Hello!
Nama : Marcellino Lorenzo
NPM : 1806201011
Mahasiswa Teknik Mesin 2018
Contents
Pertemuan Pertama
Rabu, 4 September 2019
Pada pertemuan pertama kelas Metode Numerik pada hari Rabu, 4 September 2019, kami bertemu dengan Dr. Ahmad Indra atau Pak DAI dan Pak Radon. Kami diajarkan brain storming tentang mengapa kami perlu belajar kalkulus di jurusan teknik mesin. Menurut saya, kalkulus penting dipelajari oleh semua calon sarjana teknik karena kalkulus adalah ilmu dasar keteknikan. Di mesin sendiri, kalkulus berguna untuk menghitung segala macam benda terutama saat kami mendesain suatu benda seperti pipa, jalur udara, dll.
To do list 1 minggu kedepan :
- Belajar bahasa pemrograman (Python)
- Coba susun berdasarkan flow chart
- Buat suatu program untuk memecahkan suatu masalah atau menjawab pertanyaan di papan tulis
- Minggu depan jika mau mempresentasikan hasil program akan mendapat bonus atau tambahan nilai
- Semangat !!!
Progress Belajar Python
Minggu, 8 September 2019, saya bermain ke kost teman saya. Dia bernama Jovi Handono, mahasiswa fakultas ilmu komputer yang kebetulan 1 kost dengan saya. Dia adalah teman saya sejak SD. Saya datang ke kamar dia untuk belajar Python. Malam ini saya diajarkan banyak hal dasar oleh Jovi mulai dari dasar-dasar bahasa pemrograman. Saya memulai dengan mendownload Python di https://python.org . Setelah itu Jovi mulai mengajarkan berbagai hal tentang dasar-dasar bahasa python dengan referensi buku Numerical Method for Engineering with Python 3. Malam ini saya belajar =
Print Variabel, String Integer If List Loop Slicing dll
Keesokan hari nya saya mencoba belajar online melalui YouTube dan website sembari berusaha membuat codingan untuk menyelesaikan tugas yang diberi minggu lalu, membuat codingan untuk menyelesaikan T(x) = X^2 - 1 / X - 1
Pertemuan Kedua
Hari ini kami belajar tentang Python. Setelah itu kami diberi syntax seperti ini
Tuples
rec = ("Marcellino","Lorenzo",(18,4,00)) NamaAwal,NamaAkhir,tanggallahir = rec print(NamaAwal) TahunLahir = tanggallahir[0] print(TahunLahir) name = rec[0]+" "+rec[1] print(name) print(rec[0:2])
Saat di run, maka ini akan menghasilkan kalimat
Marcellino 18 Marcellino Lorenzo ('Marcellino', 'Lorenzo') 4
dari hasil ini saya dapat memahami rec adalah merekam data menjadi semacam database dan mirip dengan fungsi list, lalu angka rec[0] dll karena angka dalam Python dimulai dari 0 sehingga, saat mengetikan rec[0] maka yang keluar adalah list pertama yaitu "Marcellino". Beitu juga dengan sistem print untuk mencetak tulisan. Jadi saat semua sudah saya tulis maka akan tercetak nama dan juga tanggal lahir yaitu 18.
List
a = [1.0,2.0,3.0] a.append(4.0) print(a) a.insert(0,0.0) print(len(a)) a[2:4] = [1.0, 1.0, 1.0]
Jika ini di run, maka akan menghasilkan
[1.0, 2.0, 3.0, 4.0] 5
Ini adalah contoh simple penggunaan Python, syntax diatas adalah contoh penggunaan list. Seperti dilihat, awalnya hanya ada 3 angka di dalam list yaitu 1,2,3.
Dibaris berikutnya, ditambahkan perintah untuk menambahkan angka 4 dan juga menambahkan angka 0 di baris pertama (0).
Maka saat perintah ini di run akan menghasilkan baris baru yaitu (1,2,3,4).
Pertemuan Ketiga
Rabu, 18 September 2019, kami mengerjakan test tentang baris Fibonacci dengan menggunakan Python. Kami wajib membuat algoritma, "flow chart", dan bahasa Python-nya.
Algoritma nya adalah : Fn = F(n-2) + F(n-1)
Untuk bahasa Python nya (dengan While.loop)
nNum = 15 num = 1 num1 = 1 num2 = 1 count = 0
while (count<nNum): print(num1) num = num1 +num2 num1 = num2 num2 = num count +=1
nNum menunjukkan hingga baris ke berapa baris Fibonacci yang ingin ditampilkan. num1 = 1 menunjukkan baris dimulai dari 1 bukan 0. Count +=1 sebagai operasi hitung.
(dengan Subroutine)
# Subroutine # Recurrence Relation # Fn = Fn-1 + Fn-2 def recur_fibo(n): if n <= 1: return n else: return(recur_fibo(n-1)+recur_fibo(n-2))
nNum = 15 for i in range(nNum): print(recur_fibo(i))
Pertemuan Keempat
(Sebelum Hilang dari page Pemodelan Komputer)
Dari diskusi hari ini, kita dapat mempelajari pentingnya mempelajari suatu model. model dapat berarti representasi, simplifikasi, dan asumsi. Dengan mempelajari suatu pemodelan kita dapat memahami cara pikir dan alur berpikir suatu proses. Sebagai contoh dari suatu fondasi yang terlihat 3D dan memiliki banyak unsur, agar mempermudahnya kita dapat membuat suatu pemodelan dan menjadikan nya 2D. Kita dapat melihat gaya2 yang bekerja di dalam fondasi secara lebih jelas saat kita membelahnya menjadi 2D. Ini lah contoh kecil dari pemodelan.
9/10/19
hari ini mempelajari apa yang bisa dilakukan komputer dalam membantu kita menghitung
mempelajari sistem persamaan
mau sampai 1 juta juga masih bisa dihitung komputer
aspek metnum dalam mesin :
1. (tidak dilanjutkan)
kita harus menjadi orang cerdas bukan hanya pintar. apakah surga dan neraka ada sedangkan belum terbukti ?
kita harus memperhatikan hal-hal kecil seperti udara.
Komputasi Teknik, Differential Equation
Metode Runge Kutta
Metode numerik pasti ada error tapi dapat digunakan untuk pendekatan semua masalah
1. Pers diferensial
2. Initial Condition
Quiz, 16 Oktober 2019
Jawaban soal 2.1 dan 7.1 (dari buku Numerical Method for Engineering with Python 3)
Soal 2.1
#Mendelegasikan perintah dari library from numpy import linalg import numpy as np #Memasukan nilai Matriks per baris bar1 = [0,0,2,1,2] bar2 = [0,1,0,2,-1] bar3 = [1,2,0,-2,1] bar4 = [0,0,0,-1,1] bar5 = [0,1,-1,1,-1] #Mengaplikasikan penghitungan matriks masing-masing baris nmat = np.array ([bar1,bar2,bar3,bar4,bar5]) print ("n Matrix adalah sebagai berikut:") print (nmat) cons = np.array ([1,1,-4,-2,-1]) print ("Matrix Y adalah sebagai berikut:") print (cons) jawab = linalg.solve (nmat,cons) #Mencari nilai X x1val = int(jawab[0]) x2val = int(jawab[1]) x3val = int(jawab[2]) x4val = int(jawab[3]) x5val = int(jawab[4]) #Menampilkan hasil nilai X print ("hasil X adalah :") print ("x1= ",x1val) print ("x2= ",x2val) print ("x3= ",x3val) print ("x4= ",x4val) print ("x5= ",x5val)
Maka jika di run akan menghasilkan hasil :
x1 = 3 x2 = -2 x3 = 1 x4 = 1 x5 = -1
Soal 7.1
def dydx(x, y): return ((x**2 - 4*y)) # Mencari nilai Y dari nilai X dengan h # dan nilai saat X0 dan Y0. def rungeKutta(x0, y0, x, h): # Menghitung dengan step size # step height h n = (int)((x - x0)/h) y = y0 for i in range(1, n + 1): "Jalankan Runge Kutta Formulas untuk mendapat nilai Y berikutnya" 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) # Update nilai Y berikutnya y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) # Update nilai X berikutnya x0 = x0 + h return y #Misalkan : x0 = 0 y = 1 x = 0.03 h = 0.01 print ('Nilai dari Y saat di X adalah :', rungeKutta(x0, y, x, h))
Maka jika di run akan menghasilkan hasil :
Nilai dari Y saat di X adalah : 0.8869291754400297
Ujian Tengah Semester
Untuk soal IA
from math import * from sympy import *
- Menentukan nilai atau besaran masing-masing benda
g = 9.8 m1 = eval(input("massa1 : ")) m2 = eval(input("massa2 : ")) m3 = eval(input("massa3 : ")) k1 = eval(input("koefisien gesek1 : ")) k2 = eval(input("koefisien gesek2 : ")) k3 = eval(input("koefisien gesek3 : ")) a = eval(input("percepatan sistem : ")) teta = eval(input("sudut kemiringan : ")) s = sin(teta) c = cos(teta)
t1 = m1*g*(s-k1*c) - m1*a t2 = m2*g*(s-k2*c) + t1 - m2*a t3 = m3*g*(s-k3*c) + t2 - m3*a m4 = -(t3 - m1*a)/g
print ("massa benda 4 adalah :",m4)
Untuk soal IB
from math import *
from sympy import *
- Menentukan besaran
g = 9.8 rho = 1.2 #massa jenis udara
cd = eval(input("drag coef: ")) area = eval(input("area: ")) v0 = eval(input("kecepatan awal: ")) m = eval(input("massa mobil (kg): ")) u = eval(input("koef gesek: ")) a = eval(input("percepatan mobil: ")) t = eval(input("waktu (s): "))
fs = g*u fdrag = (cd*area*rho*v0**2)/2*m f1 = a atotal = f1 - (fdrag + fs) v1 = v0+atotal*t
print ("kecepatan mobil dari diam: ",v1)