Wahyu Nugroho Ramadhan

From ccitonlinewiki
Jump to: navigation, search
alt text

Pertemuan Pertama

Telapak Kaki Kalkulus

Rabu, 4 September 2019. MAhasiswa kelas Metode Numerik 02 diberi tugas membuat tulisan dengan tema mengapa kita harus belajar kalkulus

Berikut adalah tulisan saya


Calculus12.jpg


Kalkulus merupakan salah satu mata kuliah yang saya pelajari sata semester 1 dan 2 perkuliahan di Fakultas Teknik Universitas Indonesia. Dengan Jurusan Teknik Mesin kini sadar bahwa suatu teknologi paling mutakhir sejatinya berawal dari perhitungan yang matang. Dan kalkulus adalah pondasinya. Seperti ketika kita ingin membuat baling2 pesawat tentu kita harus tau volume benda putarnya agar ketika baling2 berputar tidak terjadi benturan dengan bagian lain. Maka dari itu bisa dibilang kalau kalkulus adalah telapak kaki anak teknik yang akan selalu digunakan untuk berjalan menyusuri dunia perkulihanan hingga pekerjaan



Pertemuan Kedua

Rabu, 11 September 2019

pada pertemuan kedua saya mempelajari fungsi variabel, string, tuplet, dan list

Variable Merupakan pendefinisian suatu hal menggunakan simbol misal A = 2

Variabel.png

String Berfungi untuk menggantikan sebuah kalimat panjang menjadi lebih sederhana misal Menu1 = Nasi padang bumbu kacang menu2 = Nasi rawon bumbu kecap

Tuples adalah cara input data agar mudah di cari misal pada nama yang panjang 1. Muhammad 2. Bagus 3. Ferdinan 4. Siregar

Diinput dalam rumus >>> rec("Wahyu","Nugroho","Ramadhan",(06,12,2000)

untuk membuka nama kita gunakan >>> namaDepan,namaTengah,namaBelakang,tanggalLahir=rec

hasilnya adalah kita dapat mencari kata yang dicari dengan memasukan kata kuci tiap-tiap kata misal Wahyu = namaDepan Nugroho = namaTengah Ramadhan = namaBelakang 06,12,200 = tanggalLahir

Tupples.png

Pertemuan ketiga

Rabu, 18 September 2019

Pada pertemuan ketiga kita melakukan quiz dengan mengubah bilangan Fibonacci kedalam bahasa pemrograman pyton pada percobaan pertama kami mengerjakan tugas tanpa melihat aplikasi maupun bantuan lainnya jadi bahasa pemrograman yang kami buat di percobaan pertama murni merepresentasikan sejauh mana pengetahuan kami tentang bahsa pemrograman lalu pada percobaan kedua kami diberi clue oleh dosen, dapat membuka aplikasi, maupun bekerja sama dengan teman

pada percobaan kedua kami diberi dua tugas yaitu membuat bahsa programnya serta flowchart


def Fibonacci(n):

   if n<0: 
       print("Incorrect input") 
   # First Fibonacci number is 0 
   elif n==1: 
       return 0
   # Second Fibonacci number is 1 
   elif n==2: 
       return 1
   else: 
       return Fibonacci(n-1)+Fibonacci(n-2) 

print(Fibonacci( ))

dengan subtitusi angka ke-n maka akan muncul Un

lalu untuk flowchartny

Fibonacci12.png

Pertemuan Keempat

Rabu, 25 September 2019

Pada pertemuan keempat mahasiswa kelas metode numerik mempelajari tentang eliminasi gauss

  1. 07:23, 23 October 2019 (WIB)~inisialisasi matrik augment07:23, 23 October 2019 (WIB)#

A = array([[1.,1.,0.,3.,4],\

          [2.,1.,-1.,1.,1],\
          [3.,-1.,-1.,2.,-3],\
          [-1.,2.,3.,-1,4]])

print ('Matriks A=',A)

  1. ===== METODE ELIMINASI GAUSS =========#

n=len(A)

  1. 07:23, 23 October 2019 (WIB)~proses triangularisasi07:23, 23 October 2019 (WIB)07:23, 23 October 2019 (WIB)#

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]
  1. 07:23, 23 October 2019 (WIB)~proses substitusi-mundur07:23, 23 October 2019 (WIB)Wahyu.nugroho81 (talk)#

X = zeros((n,1)) X[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]*X[i][0]
       X[j][0]=(A[j][n]-S)/A[j][j]
  1. ======================================#

print ('X=',5)


Gauss11.png

Pertemuan Kelima

2 Oktober 2019

Pertemuan kelima mahasiswa kelas metode numerik diberi pembelajaran tentang penurunan rumus pegas seri 4 untuk rungi kuta

Pegas12.png


Pertemuan Keenam

9 oktober 2019

Pada pertemuan saya belajar bahwa dalan dunia engineering banyak hal/permasalahan engineering yang belum terselesaikan. Untuk menyelesaikan permasalahan tersebut terkadang diperlukan tools khusus. salah satunya adalah RUnge kutta. kita semua tentu menyadari bahwa dalam melakukan perhitungan untuk menyelesaikan permasalahanan engineering kita sering salah metode sehingga hasilnya tidak akurat karena perhitungan kita menggunakan perhitungan aritmtika biasa. Lalu apa itu ruge kutta?

Jika kita melakukan perhitungan aritmatika biasa itu ibarat kita berjalan dengan langkah yang besar kesuatu tujuan lalu jika menggunakan RUnge kutta ibarat kita berjalan dengan langkah kecil ketempat yang sama. Perhitungan dengan aritmatika itu cepat dan mudah namun akurasinya ditak terlalu tingi, beda dengan menggunakan Runge Kutta kita ibarat berjalan dengan langkah kecil. Perhitungan runge kutta memerlukan pengulangan yang banyak namun hasinya akutat. Runge kutta sendiri terdiri dari 4 orde. Orde ini melambangkan tingkat akurasi dari runge kutta, orde 4 merupakan orde dg tingkat akurasi tertinggi

Pertemuan6.png

Pertemuan Ketujuh

16 Oktober 2019

membuat algoritma python unutk soal

Prolem set 2.1 hal 55


from numpy import linalg import numpy as np

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]

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)

x1val = int(jawab[0]) x2val = int(jawab[1]) x3val = int(jawab[2]) x4val = int(jawab[3]) x5val = int(jawab[4])

print ("hasil X adalah :")

print ("x1= ",x1val) print ("x2= ",x2val) print ("x3= ",x3val) print ("x4= ",x4val) print ("x5= ",x5val)


Matrik12.png



PROBLES SET 7.1 def dydx(x, y):

   return ((x**2 - 4*y)) 
 
  1. Finds value of y for a given x using step size h
  2. and initial value y0 at x0.

def rungeKutta(x0, y0, x, h):

   # Count number of iterations using step size or 
   # step height h 
   n = (int)((x - x0)/h)  
   # Iterate for number of iterations 
   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) 
 
       # Update next value of y 
       y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) 
 
       # Update next value of x 
       x0 = x0 + h 
   return y 
 
  1. misalkan :

x0 = 0 y = 1 x = 0.03 h = 0.01 print ('The value of y at x is:', rungeKutta(x0, y, x, h))

Rungi12.png

Pertemuan Kedelapan

23 Oktober 2019 UTS

soal tegangan tali

m1= 10 N m2= 20N m3= 30N

alfa 30 derajat sin 30 = 0.5

print ('Program perkalian matriks [A]*[B]=[C]')

from numpy import * A = array([[0.5,0,0],\

          [0.5,0.5,0],\
          [0.5,0.5,0.5]]) # A berukuran 3x3

B = array([[10.],\

          [20.],\
          [30.]]) # B berukuran 3x1

n=3 # jumlah baris matrik A m=1 # jumlah kolom matrik B p=3 # jumlah kolom matrik A sekaligus jumlah baris matrik B C = zeros((n,m)) for i in range(0,n):

   for j in range(0,m):
       for k in range(0,p):
           C[i][j]=C[i][j]+A[i][k]*B[k][j]

print () print ('matriks A') print (A) print () print ('matriks B') print (B) print () print ('matriks C (hasil)') print (C)

  1. maka nilai tegangan tali adalah 30 N

menyelesaikan soal A1 cara lain from math import *

  1. Input Data

m1 = eval(input('masukkan nilai massa benda 1: ')) m2 = eval(input('masukkan nilai massa benda 2: ')) m3 = eval(input('masukkan nilai massa benda 3: ')) teta = eval(input('masukkan nilai sudut miring: ')) ns = eval(input('masukkan nilai koefisien gesek statis: ')) g = eval(input('masukkan nilai konstanta gravitasi: '))

  1. Mencari data besar gaya gesek yang diterima benda

y = sin(teta) x = cos(teta)

Fgesek1 = (m1*g*x*ns) Fgesek2 = (m2*g*x*ns) Fgesek3 = (m3*g*x*ns)

  1. Rumus Tegangan tali T=m*g*sin(teta)+Fgesek

T1 = (m1*g*y+Fgesek1) T2 = (m2*g*y+Fgesek2 + T1) T3 = (m3*g*y+Fgesek3 + T2) T4 = (T3)

m4 = (T4/g)

  1. Data Hasil Perhitungan \

print('Nilai Tegangan 1 adalah = ',T1) print('Nilai Tegangan 2 adalah = ',T2) print('Nilai Tegangan 3 adalah = ',T3) print('Nilai Tegangan 4 adalah = ',T4) print('Nilai massa 4 adalah = ',m4)



Soal !B


from math import *

g = 9.8

  1. input data

a0 = eval(input('percepatan awal mobil: ')) v = eval(input('masukkan nilai top speed: ')) cd = eval(input('masukkan nilai drag coeficient: ')) m = eval(input('masukkan nilai massa mobil: ')) nk = eval(input('masukkan nilai koefisien gesek kinetis: '))

  1. Nilai Percepatan

fs = g*nk fd = (cd*v**1.5)/m a = a0-(fs+fd)

  1. menentukan nilai waktu untuk mencapai top speed

t = v/a


Video Muhasabah diri


I.gede81

8 months ago
Score 0++
Untuk nomor 1 sudah dikerjakan dengan baik, namun untuk nomor 2 seharusnya lebih dahulu membuat persamaan turunan tersebut, lalu setelah itu baru dikerjakan dengan runge kutta
Add your comment
ccitonlinewiki welcomes all comments. If you do not want to be anonymous, register or log in. It is free.


Pertemuan Kesembilan

30 Oktober 2019

alt text

from math import *

  1. mendefinisikan nilai besaran gravitasi

g = 10 t0 = 0 v0 = 0 dt = 1 err = 100

  1. input data

a0 = eval(input('input percepatan awal: ')) cd = eval(input('input drag coeficient: ')) m = eval(input('input massa mobil: ')) nk = eval(input('input koefisien gesek kinetis: '))

  1. rumus percepatan total

fs = g*nk fd = (cd*v0**1.5)/m a = a0-(fs+fd)

  1. rumus top speed dg runge kutta

def dvdt(t0, v0):

   return a0-(fs+fd)

time = []

while err > 0.005:

   k1 = dvdt(t0, v0)
   k2 = dvdt(t0 + 0.5 * dt, v0 + 0.5 * dt * k1)
   k3 = dvdt(t0 + 0.5 * dt, v0 + 0.5 * dt * k2)
   k4 = dvdt(t0 + dt, v0 + dt * k3)
   v1 = v0 + (1.0 / 6.0) * (k1 + 2 * k2 + 2 * k3 + k4)
   t0 = t0 + dt
   err = ((v1 - v0) / v1) * 100
   v0 = v1
   time.append(v1)

t = len(time)

  1. hasil perhitungan

print('Percepatan total mobil adalah = ',a) print('waktu utnuk top speed adalah = ',t + 1) print("velocity maksimal adalah: ", v1)


Pertemuan Kesepuluh

Pertemuan10.jpg

6 November 2019

Pada pertemuan ini kmai diajarkan cara berpikir seorang engineer dan juga cara berpikir seorang programer. Permikiran seorang engineer sering biasanya terorientasi ada pemecahan masalah baik susah maupun mudah. Biasa seorang engineer adalah orang yang terstruktur dan sistematis agar kasus yang sedang dikerjakan bisa selesai dengan hasil yang memuaskan. Lalu cara berpikir seorang programer biasanya simpel dan juga bisa mentranslate bahasa. Untuk itu sangat diperlukan pembiasaan diri untuk melatih kemampuan seorang engineer dan programer. salah sat tools yang bisa digunakan untuk melatih diri adalah dnegan membaca buku referensi. Buku bacaan dapat mempercepat input ilmu kedalam pikiran karena kita yang membaca buku referensi ibarat sudah melakukan isi buku tersebut dengan kata lain kita sudah dapat ilmu tanpa perlu percobaan yang berulang-ulang. Cukup membaca. Sayangnya saat ini buku referensi Metode Numerik masih menggunakan rujukan lama yang belum menyesuaikan perkembangan zaman terutama revolusi industri 4.0


Pertemuan Kesebelas

alt text


13 November 2019

Pada pertemuan ini diisi oleh Bang Edo dan Bang Timo yang mengajarkan curve fitting. Pada proses engineering kita selalu berorinetasi pada produk/penyelesaian masalah yang bisa menghasilkan output terbaik. Definisi terbaik ini perlu dijabarkan lebih lanjut karena setiap produk engineer punya kapasitas terbaiknya. Untuk bisa menghasilkan output terbaik diperlukan input yang baik juga. Biasanya kita bisa memperoleh grafik hubungan input dengan grafik hubungan output setelah kita membuat sistem operasinya. dari grafik hubugan tersebut dapat kita tentukan nilai output maksimal yang bisa kita peroleh.


Ouput maksimal ini tentu akan menghemat resouce dan waktu yang ada sehingga efisiensi kerja mesin/sistem lebih baik. Disini peran metode numerik diperlukan. Selain bisa menciptakan algoritma untuk menyelesaikan permasalahan engineering, metode numerik juga bisa digunakan untuk menentukan nilai optimum dalam suatu sistem yang dibuat dengan menambahkan algoritma dan batasan-batasan.


Pertemuan Keduabelas

20 November 2019

Pada Pertemuan ini kami diajarkan melakukan optimasi menggunakan CFDSOFF Dengan desaig mobila yang dibuat oleh asisten, kami diajarkan untuk input file dan memasukan batas-batas pada CFDSOFF

Dengan batasan yang telah dibuat kami berhasil memperoleh data sebagai berikut


alt text
alt text




























Pertemuan Ketigabelas

27 November 2019

Pada pertemuan ini kami diajarkan melakukan sistem optimasi dengan menggunakan algoritma yang dibuat oleh asisten

import numpy as np from scipy.optimize import minimize


def calc_drag(x):#drag

   x = x[0]
   drag = 0.0001*x*4 -0.0049*x3 + 0.1194*x*2 - 1.38*x - 6.927
   return drag

def calc_lift(x): #lift

   x = x[0]
   lift =  -0.00006*x*4 + 0.0066*x3 - 0.0652*x*2 + 1.7418*x + 24.193
   return lift

def objective(x): #sudut yang diminimalkan

   return calc_drag(x)

def constraint1(x): #variable SUDUT yang meminimalkan persamaan garis drag

   return calc_drag(x)

def constraint2(x): #variable SUDUT yang meminimalkan persamaan garis lift

   return calc_lift(x)

con1=({'type':'ineq','fun':constraint1}) con2=({'type':'ineq','fun':constraint2}) cons = (con1,con2)

a = (10,90) batas = [a]

x1_guess = 20

x0 = np.array([x1_guess])

sol = minimize(objective,x0, method='SLSQP', bounds=batas, constraints=cons, options={'disp':True})

xopt = sol.x forceopt = -sol.fun

dragopt = calc_drag(xopt) # drag optimal liftopt = calc_lift(xopt) # lift optimal

print ('sudut optimal = '+str(xopt[0])) print ('total force optimal = '+str(forceopt)) print ('drag force optimal = '+str(-dragopt)) print ('lift force optimal = '+str(liftopt))


Pertemuan Keempatbelas

4 Desember 2019

Pada pertemuan ini kami mempresetasikan hasil optimasi airfoil yang telah dibuat sendiri Saya bersama Raihan, dan Jonathan dari kelompok 15 berhasil memperoleh data hasil optimasi sebagai berikut


Pertemuan141.png

File:Pertemuan142.jpg


Pertemuan Kelimabelas

11 Desember 2019

Pada pertemuan ini Pak Dai mengingatkan kita sebagai manusia harus bermuhasabah. Selnjutny Pak dari memebrikan tugas kepada mahasiswa kelas Metode Numerik 02 R sebagai bahan Ujian Akhir Semester sebagai berikut

1. Kumpulkan hasil MUHASABAH tertuis Anda dikumpulkan langsung ke Pak Dai di loker DTM due date 16 Desember 2019 2. Perbaiki /Lengkapi dokumentasi belajar Anda pada wiki pelajar individu dan kelompok di air.eng.ui.ac.id 3. Combined Oral dan written

Pertemuan Keenambelas

17 Desember 2019

Pertemuan pada Selasa, 17 Desember merupakan pertemuan terkahir di kelas Metode Numerik 02R di semester ini. Yang berarti telah selesai sudah pembekalan materi oleh Pak Dai, Pak Radon, Bang Edo, dan Bang Timo. Sebelum Ujian Akhir Semester dimiulai kamidiberi tugas untuk menuliskan hasil muhasabah diri kami dalam kertas yang ditulis tangan oleh masing-masing dari kami. Muhasabah tersebut sebagai cerminan diri kami selama satu semester ini apakaha sudah melalui proses belajar MEtone Numerik yang benar atau belum. Selain itu muhasabah diri ini menajdi sarana kami mendekatkan diri kepada ALlah SWT yang telah memberikan kesempatan kepada kami untuk belajar Metode Numerik bersama teman-teman mesin di fakultas teknik Universitas Indonesia. Saya merasa sangat bersyukur atas kesempatan yang diberikan kepada saya karena saya bisa belajar banyak hal dari Pak Dai, Pak Radon, Bang timo, dan Bang Edo

Saya berharap apa yang telah saya peroleh dikelas MetodeNumerik dapat saya manfaatkan untuk memecahkan permasalahan engineerig agar nantinya semakin banyak produk-produk engineering yang bermanfaat bagi banyak orang. Selama mengikuti kelas Metode Numerik saya merasa ada perubahan dalam diri saya yaiut saya sadar bahwa saya sebagai manusia harus terus meningkatkan kapasitas diri karena dunia ini semkin berkembang. Banyak hal sudah diambil alih oleh mesin dan komputer untuk itu saya harus terus belajar agar bisa menguasai mesin dan komputer. Mimpi besar saya adalah bisa menciptakan mesin-pesin peternakan modern di Indonesia untuk meningkatkan prduktivitas hasil ternak Indonesia. Saya yakin dengan ilmu dari jurusan mesin ditambah ilmu di kelas Metode Numerik saya bisa menciptakan mimpi saya ini dikemudian hari.

Saya sangat berterima kasih kepada Pak Dai, Pak Radon, Bang Edo, dan Bang Timo yang telah berbaik hari dan sabar dalam mendidik saya dan teman-teman. Semoga kebaikan Bapak dan Abang sekalian dibalas berlipat oleh Allah SWT.