Difference between revisions of "Latitia Dhayita Pramudito"

From ccitonlinewiki
Jump to: navigation, search
Line 422: Line 422:
 
  print ("velocity maksimal adalah: ", v1, "m/s")
 
  print ("velocity maksimal adalah: ", v1, "m/s")
  
== Pemodelan Damping Dengan Method Runge Kutta ==
+
 
 +
== Pertemuan Kesembilan : Pemodelan Damping Dengan Method Runge Kutta ==
 +
 
 +
'''Hari, Tanggal : Rabu, 30 September 2019'''
 +
 
 +
'''Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika'''
  
 
[[File:Damping_System_-_Latitia.png]]
 
[[File:Damping_System_-_Latitia.png]]
Line 457: Line 462:
  
  
== Penjelasan CFD Drag Force Dalam Mobil  ==
+
== Pertemuan Kesepuluh : Penyelesaian menggunakan Metode Numerik ==
 +
 
 +
'''Hari, Tanggal : Rabu, 6 November 2019'''
 +
 
 +
'''Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika'''
 +
 
 +
 
 +
== Pertemuan Kesebelas : Penjelasan Curve Fitting ==
  
 
'''Hari, Tanggal : Rabu, 13 November 2019'''
 
'''Hari, Tanggal : Rabu, 13 November 2019'''
 +
 +
'''Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika'''
 +
 +
 +
== Pertemuan Kedua belas : Penjelasan CFD Drag Force Dalam Mobil  ==
 +
 +
'''Hari, Tanggal : Rabu, 20 November 2019'''
  
 
'''Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika'''
 
'''Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika'''
Line 474: Line 493:
  
  
== Penjelasan Optimasi Sudut Serang Pada Airfoil ==
+
== Pertemuan Ketiga Belas : Penjelasan Optimasi Sudut Serang Pada Airfoil ==
  
 
'''Hari, Tanggal : Rabu, 27 November 2019'''
 
'''Hari, Tanggal : Rabu, 27 November 2019'''
Line 519: Line 538:
 
   
 
   
 
  [[File:Sudut Paling Optimal.Kelompok8.png]]
 
  [[File:Sudut Paling Optimal.Kelompok8.png]]
 +
 +
 +
== Pertemuan Keempat belas : Presentasi CFD Drag  ==
 +
 +
'''Hari, Tanggal : Rabu, 4 Desember 2019'''
 +
 +
'''Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika''
 +
 +
Pada Pertemuan kali ini, kita menyelesaikan kelompok-kelompok yang belum melakukan presentasi. Pembahasan dari presentasi ini adalah penggunaan software CFD-SOF untuk menghitung drag dan lift pada sebuah airfoil yang telah dibuat oleh masing-maisng Kelompok. Karena Kelompok saya sudah presentasi di awal, maka dalam Pertemuan ini saya mendengarkan Kelompok lain presentasi.
 +
 +
 +
== Pertemuan Kelima Belas : Penjelasan tenting ANN ==
 +
 +
'''Hari, Tanggal : Rabu, 11 Desember 2019'''
 +
 +
'''Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika'''
 +
 +
ANN Adalah sistem pembelajaran terawasi yang dibangun dari sejumlah besar elemen sederhana, yang disebut neuron atau perceptron. Setiap neuron dapat membuat keputusan sederhana, dan  memberi makan keputusan itu ke neuron lain, yang diorganisasikan dalam lapisan yang saling berhubungan.
 +
Backpropagation adalah algoritma pembelajaran untuk memperkecil tingkat error dengan cara menyesuaikan bobotnya berdasarkan perbedaan output dan target yang diinginkan. 
 +
 +
Backpropagation juga merupakan sebuah metode sistematik untuk pelatihan multilayer.
 +
 +
Arsitektur algoritma backpropagation terdiri dari tiga layer, yaitu input layer, hidden layer dan output layer. Pada input layer tidak terjadi proses komputasi, namun pada input  layer terjadi pengiriman sinyal input X ke hidden layer. Pada hidden dan output layer terjadi proses komputasi terhadap bobot dan bias dan dihitung pula besarnya output dari hidden dan output layer tersebut berdasarkan fungsi aktivasi tertentu. Dalam algoritma backpropagation ini digunakan fungsi aktivasi sigmoid biner, karena output yang diharapkan bernilai antara 0 sampai 1.
 +
 +
Algoritma backpropagation adalah sebuah algoritma untuk memperkecil tingkat error dengan menyesuaikan bobot berdasarkan perbedaan output dan target yang diinginkan.
 +
Secara umum algoritmanya terdiri dari tiga langkah utama, yaitu :
 +
Pengambilan input
 +
Penelusuran error
 +
Penyesuaian bobot
 +
 +
Steps untuk membuat ANN :
 +
 +
Data Preprocessing
 +
Add input layer
 +
Random w init
 +
Add Hidden Layers
 +
Select Optimizer, Loss, and Performance Metrics
 +
Compile the model
 +
use model.fit to train the model
 +
Evaluate the model
 +
Adjust optimization parameters or model if needed
  
  

Revision as of 15:34, 17 December 2019

السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ

Latitia Dhayita P. Foto.JPG

Nama : Latitia Dhayita Pramudito

NPM : 1706986385

Mahasiswa Departemen Teknik Mesin 2017

Pertemuan Pertama Metode Numerik

Hari, Tanggal : Rabu, 4 September 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


Pada pertemuan pertama, Pak Dr. Ahmad Indra atau yang biasa disapa Pak Dai menjelaskan setiap pelajaran yang kita ambil, harus kita serap ilmunya. Lalu Pak Dai memberikan contoh berupa pertanyaan, mengapa kita perlu belajar mata kuliah Kalkulus? Alasan dibalik itu karena dalam mata kuliah Kalkulus kita dapat mengambil ilmu-ilmu dan logika matematika yang nantinya akan digunakan untuk mata kuliah mesin kedepannya. Seperti mata kuliah matematika teknik, termodinamika, heat transfer, dll


Metode Numerik merupakan bagian dari ilmu matematika yang cara penyelesaiannya menggunakan metode numerik. Bahasa pemograman yang digunakan adalah Python. Metode numerik digunakan untuk mengerjakan persoalan matematika yang rumit menjadi lebih sederhana. Namun, biarpun metode numerik dijadikan solver, ide tetap berasal dari manusia.


Untuk menunjang ide-ide tersebut digunakan langkah-langkah. Langkah-langkah berupa instruksi yang dibutuhkan untuk komputer. Karena itulah diperlukan bahasa penulisan dari bahasa natural yang kita mengerti dirubah menjadi bahasa mesin atau yang biasa disebut bahasa pemograman. Jadi, langkah-langkah yang kita buat akan menggunakan bahasa pemograman. Untuk membantu membuat bahasa pemograman dapat digunakan flow chart. Flow chart merupakan instruksi yang menggunakan bagan dengan simbol-simbol tertentu.


Selain itu, dalam mata kuliah ini yang dinilai adalah gradien dari hasil mahasiswa. Dicontohkan dengan sebuah grafik dengan sumbu y : Lesson Learn dan sumbu x : Waktu (6 bulan). Jadi yang dilihat adalah proses dari awal mahasiswa mengikuti kelas metode numerik sampai selesai selama 6 bulan berlangsung.


Lalu pak Dr. Eng. Radon Dhelika atau yang biasa disapa Pak Radon juga menambahkan, bahwa skill pemograman sangat dibutuhkan di pasar industry 4.0 sekarang. Jadi, sebagai mahasiswa Teknik Mesin UI harus menyerap ilmu sebanyak-banyaknya dan tidak menyianyiakan mata kuliah ini karena mata kuliah metode numerik merupakan mata kuliah wajib yang disediakan yang banyak mempelajari bahasa pemograman. Selain itu, alasan penggunaan bahasa Python di departemen teknik mesin UI adalah berkaca dari Massachusetts Institute of Technology (MIT) yang menerapkan Python pada mahasiswa teknik mesin nya untuk pembelajaran bahasa pemograman.


Pada akhir pertemuan, diberikan tugas untuk :
1. Belajar langsung menggunakan Python masing-masing
2. Membuat program utuk menyelesaikan persoalan T(x)= (x^2-1)/(x-1)  dalam bentuk algoritma / flowchart


Setelah melakukan beberapa kali percobaan dan mencari-cari info dari berbagai sumber seperti buku dan internet, saya berhasil mendapatkan algoritma untuk persoalan T(x)= (x^2-1)/(x-1).

Algoritma yang saya gunakan menggunakan modul sympy

from sympy import *
x= symbols('x')
hasil = limit(((x ** 2) - 1 )/ (x - 1), x, 1)
print(hasil)
Phyton screenshot 1.png

Hasil yang didapatkan setelah melakukan run pada algoritma diatas adalah :

2
Phyton screenshot 2.png

Pertemuan Kedua Metode Numerik

Hari, Tanggal : Rabu, 11 September 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


Artificial Intelligence (AI)

Rekayasa Kecerdasan. Berguna untuk membantu manusia dan dibuat seakan menyerupai manusia. Tetapi yang mmiliki kecerdasan sebenarnya adalah manusia. Tetapi manusia memiliki keterbatasan. Namun dibalik keterbatasannya, manusia memiliki hal yang tidak dimiliki robot buatan yaitu Hati


Menurut pak Dai, Industry 5.0 adalah PancasilaKarena teknologi harusnya dikuasai oleh manusia jadi jangan sampai teknologi melemahkan manusia. Manusia tidak boleh di drive oleh teknologi. Namun, manusia yang mendrive teknologi dengan cara mengerti teknologi itu sendiri. Contoh, mahasiswa teknik mesin maka bisa dengan belajar metode numerik.


Belajar metode numerik membuat kita berhubungan dekat dengan komputer. Komputer dapat membantu kita dalam berbagai hal salah satunya adalah menghafal berbagai angka. Contoh dalam permainan catur melawan komputer, komputer didalamnya sudah menyimpann database untuk mengingat gerakan-gerakan untuk melawan kita. Karena itu, sebagai partner kita, kita harus mengenal komputer mulai dari istilah-istilah yang digunakan. Istilah salah satunya adalah 32 bit dan 64 bit.


Perbedaan 32 bit dan 64 bit : Sistem operasi 32 bit hanya mampu menggunakan RAM berkapasitas maksimal 4 GB sedangkan batas maksimal RAM yang mampu dibaca sistem operasi 64 bit adalah 192 GB. Selain itu, sistem operasi 32 bit hanya mampu memproses data sebesar 64 nilai komputasi sedangkan sistem operasi 64 bit mampu memproses data hingga 256 nilai komputasi dalam sekali siklus pemrosesan.


Seperti dalam otak manusia, manusia mampu menyimpan data dalam binary digit. Jika 64 bit, maka komputer memiliki kemampuan yang lebih akurat dan cepat. Karena itu, sekarang hampir semua gadget yang digunakan menggunakan sistem 64 bit.


Untuk memperkaya wawasan kita akan metode numerik, kita dapat bereksekusi langsung dengan belajar Python. Berbagai situs sudah dirancang untuk mempermudah manusia belajar Python. Salah satunya adalah [1] Selain itu, jika kita kesulitan dalam penginstallan python pada laptop atau komputer, kita dapat menggunakan situs [2] untuk mengakses Python tanpa menginstall Python.


Pada pertemuan kali ini, mahasiswa diminta untuk berlatih dalam penggunaan tuples & lists di Python. Dan ini hasil pengerjaan saya :


Tuples : Tuples-tisya.png

Tuples result-tisya.png


Lists : Lists-tisya.png

Lists result-tisya.png


Pertemuan Ketiga Metode Numerik

Hari, Tanggal : Rabu, 18 September 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


Pada pertemuan ini diadakan kuis tentang dasar-dasar bahasa python. Kuis yang diberikan berisikan tentang Fibonacci Sequence. Hasil dari jawaban saya adalah berikut dibawah ini :


Loop-fibonacci.png


Metode yang saya gunakan diatas adalah dengan menggunakan Loop dengan while condition.


Function-fibonacci.png


Selain itu, pada metode ini saya menggunakan function.


Pertemuan Keempat Metode Numerik

Hari, Tanggal : Rabu, 25 September 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


Pelajaran hari ini, mempelajari apa itu Pemodelan Komputer. Dalam mempelajari sebuah konsep lebih baik mengerti apa isi dari konsep tersebut. Karena itu hari ini kita belajar terlebih dahulu isi dari pemodelan komputer.


Numerical Computing -> Pemodelan Komputer Pemodelan Komputer terdiri dari modelling dan computation.


Sebelumnya, mengapa kita harus berhitung? (Dalam ranah teknik)


Karena apa yang telah di design hasilnya harus dipastikan berfungsi secara baik, reliable dan berfungsi secara optimal. Namun manusia memiliki keterbatasan, tetapi bisa menghitung secara pendekatan. Contoh untuk menghitung 0/0 hasilnya bukan tidak ada namun kita tidak tahu tetapi bisa dilakukan melakukan pendekatan. Untuk itu sebagai manusia kita harus memiliki value dalam diri kita seperti komputer jika listrik mati tidak akan bisa menyimpan lagi. Sama seperti value dalam diri kita.


Selanjutnya kita belajar apa itu model?


Model adalah sebuah representasi yang di asumsikan agar dapat mensimplifikasi dari keadaan real yang rumit menjadi lebih simple. 


Jadi model terdiri dari 3 unsur yaitu :

1. Representasi

2. Simplifikasi

3. Asumsi


Contoh dari sebuah model pada fondasi. Untuk menghitung kekuatan fondasi menahan beban. Fondasi di modelkan dalam bentuk 2D dan di asumsikan Modulus Elastisitas pada semua titik sama, lalu mensimplifikasi dengan menggunakan model 2D.


Dari berbagai model yang kita buat, dibutuhkan ilmu dalam membangun persamaan aljabar dan memodelkan persamaan dalam komputasi. Untuk itu kita harus belajar giat serta berlatih sejak dini untuk menggunakan komputasi. Selain itu ada juga aplikasi dari komputasi yaitu Diskritisasi yaitu membuat sesuatu yang kontinu menjadi titik-titik yang berhingga.


Pertemuan Kelima Metode Numerik

Hari, Tanggal : Rabu, 2 Oktober 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


Semua masalah yang didapat dapat dimodelkan, model dapat memudahkan dalam penyelesaian masalah. Salah satunya dengan menggunakan Bahasa Python sebagai penyelesaian masalah. Menagapa bahasa Python?

Karena Python merupakan bahasa yang GRATIS dan semua orang saat ini sedang gunakan dalam Industry 4.0

Pada pertemuan ini mempelajari :

-Aplikasi Aljabar yang akan dimodelkan pada Sistem Pegas


Tugas untuk minggu depan adalah :

- Membaca Metode Runge-Kutta


Pada pertemuan kali ini, Asisten Dosen menjelaskan tentang Penggunaan Pemodelan pada Sistem Tunggal menjadi sebuah persamaan linier dengan menerjemahkan rumus yang biasa digunakan pada materi Pegas menjadi sebuah Matrix.


Selain itu pada pertemuan ini mempelajari tentang Cara Pembuatan Matrix Pegas yang bukan Tunggal yaitu dengan menerapkan Superposisi Matrix. Lalu, diberikan contoh pemodelan sistem ganda pada pegas seri.


Terakhir diberikan penjelasan dan cara penggunaan modul yang dapat digunakan pada Python yang dapat memudahkan perhitungan Sistem Persamaan Linier yaitu :

- Numpy

- Sympy


Pertemuan Keenam Metode Numerik

Hari, Tanggal : Rabu, 9 Oktober 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


Kemarin belajar memecahkan satu set persamaan aljabar. Satu set bisa 100,1000,100000 persamaan aljabar. Langkah2 teknik menyelesaikan aljabar :

- metode eliminasi : mengurangi variable dr persamaan berikutnya, sehingga persamaan akhirnya hanya 1 variable lalu nanti disubstitusi.

- Gauss

- Trial and Error dll

Yang perlu diketahui adalah peran komputer dalam permodelan. Logika tetap dari human namun komputer membantu mempercepat perhitungan.


Karena itu kemarin kita berdiskusi tentang sebuah permodelan dari suatu permasalahan menjadi persamaan aljabar.


Kontinu Assumption :


- contoh dalam satu ruangan dipenuhi oleh oksigen, maka tidak ada ruang hampa dalam ruangan. Seluruh ruangan dipenuhi oleh oksigen dan kita dapat mengukur Temperature dititik manapun dalam ruangan

- contoh lagi pada meja, dianggap seluruh meja memiliki massa. Saat diduduki atau diberikan external force maka seluruh titik akan merasakan external force.


Formasi dan udara mungkin tidak terlihat tetapi harus kita bayangkan. Karena imajinasi lebih powerful dari knowledge.


Model matematis nanti akan berupa persamaan diferensial. Adanya persamaan diferensial karena permasalahan yang kita hadapi terjadi secara kontinu. Kontinu Assumption jika diberikan gaya maka setiap titik akan merasakan beban maka setiap titik akan berdislokasi atau berpindah tempat. selisih perpindahan tempatnya disebut dengan displacement (u). Perubahan displacement disebut (du) artinya limit ketika delta u menuju 0 tetapi tidak 0. Jadi diferensial itu sangat kecil namun tidak 0


Pembicaraan ini dilakukan untuk menjadi mahasiswa cerdas bukan hanya pintar. Cerdas yang dimaksud adalah berpikir kedepannya. Mata kuliah metode numerik lebih cocok dengan mata kuliah Computer Aided Engineering


HASIL QUIZ 2

Hari, Tanggal : Rabu, 16 Oktober 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


Hasil Pemograman saya untuk Problems 2.1 nomor 6 dibawah ini :


from numpy import linalg 
import numpy as np
row1 = [0,0,2,1,2] 
row2 = [0,1,0,2,-1]
row3 = [1,2,0,-2,1]
row4 = [0,0,0,-1,1]
row5 = [0,1,-1,1,-1]
v = np.array ([1,1,-4,-2,-1])
print ("berikut adalah matriks dari Y: ")
print (v)
c = np.array ([row1,row2,row3,row4,row5])
print ("berikut adalah nilai n pada matriks : ")
print (c)
hasil = linalg.solve (c,v)
p = int(hasil[0])
q = int(hasil[1])
r = int(hasil[2])
s = int(hasil[3])
t = int(hasil[4])
print ("nilai dari x = ")
print ("x1= ",p)
print ("x2= ",q)
print ("x3= ",r)
print ("x4= ",s)Insert non-formatted text here
print ("x5= ",t)

Hasil Pemograman saya untuk Problems 7.1 nomor 2 dibawah ini

# nilai y dicari dari x yang diketahui
# menggunakan step size L
# nilai awal b saat a
def dydx(x, y): 
   return ((x**2 - 4*y)) 
def rungeKutta(a, b, x, L): 
   # menghitung n iterasi dengan step size L
   n = (int)((x - a)/L)   
   y = b 
   for i in range(1, n + 1): 
       "untuk mencari y menggunakan metode Runge-Kutta"
       k1 = L * dydx(a, y) 
       k2 = L * dydx(a + 0.5 * L, y + 0.5 * k1) 
       k3 = L * dydx(a + 0.5 * L, y + 0.5 * k2) 
       k4 = L * dydx(a + L, y + k3)
       # nilai selanjutnya pada X
       a = a + L 
       # nilai selanjutnya pada Y
       y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) 
   return y 
#memasukan nilai (a,y,x,L) sesuai dengan soal :
a = 0
y = 1
x = 0.03
L = 0.01
print ('nilai y pada x:', rungeKutta(a, y, x, L))


Hasil Jawaban UTS Metode Numerik

Hasil Pemograman Soal A
from math import *
g = 9.81
# besar massa asumsi
m1 = eval(input("Massa 1: "))
m2 = eval(input("Massa 2: "))
m3 = eval(input("Massa 3: "))
sudut = eval(input("Sudut Kemiringan: ")) # besar kemiringan
a = eval(input("Acceleration: ")) # besar percepatan
myu1 = eval(input("Koef. Gesek1: ")) # besar koefisien gesek
myu2 = eval(input("Koef. Gesek2:"))
myu3 = eval(input("Koef. Gesek3: "))
x = sin(sudut)
y = cos(sudut)
# perhitungan tegangan tali 1,2,3
T1 = m1*g*(x-myu1*y) - m1*a
T2 =m2*g*(x-myu2*y) + T1 - m2*a
T3 =m3*g*(x-myu3*y) + T2 - m3*a
print ("Besar Tegangan Tali 1: ",T1)
print ("Besar Tegangan Tali 2: ",T2)
print ("Besar Tegangan Tali 3: ",T3)

Hasil Pemograman Soal B

from math import *
from sympy import *
dens = 1.2 
g = 9.81
m = eval(input("massa mobil terkena angin (kg): "))
cd = eval(input("drag coefficient: "))
vtop = eval(input("top speed (m/s): "))
luas = eval(input("luas (m2): "))
a = eval(input("acceleration (m/s<2):"))
myu = eval(input("koefisien gesekan: "))
f1 = a
fs = g*myu
for v0 in range (0,vtop) :
   #perhitungan gesekan ban dan hambatan aerodinamis
   fdrag=(cd*v0**(3/2))/m
   atot = f1 - (fdrag + fs)
   t = -(vtop)/atot
print ("total acceleration (m/s~2):",atot)
print ("waktu yang dibutuhkan sampai kecepatan top speed: ",t) 
#semua dibagi m


VIDEO PENJELASAN HASIL UTS

Presentase Case A

Presentase Case B

Muhasabah Diri


PERBAIKAN UTS

Hasil Pemograman Bagian A Menggunakan Eliminasi Gauss

import math 
import numpy as np 
#matrix a & b
A = np.array([[1., 0., 0.],
          [-1., 1., 0.],
          [0., -1., 1.]], float)
B = np.array([21.37, 14.24, 7.12], float)
n = len(A) #panjang baris a
print('Matriks A :')
print(A,'\n')
print('Matriks A mempunyai ', n , ' baris','\n')
print('Matriks B :')
print(B,'\n') 
for k in range(0,n-1): #Metode gauss
  for i in range(k+1,n):
      if A[i,k]!=0 :
          lam = A[i,k]/A[k,k] 
          A[i,k:n] = A[i,k:n]-(A[k,k:n]*lam)
          B[i] = B[i]-(B[k]*lam)
print('matrix A:', '\n', A, '\n')
print('Besar Tegangan Tali yaitu:') 
x = np.zeros(n,float)
for m in range(n-1,-1,-1):
  x[m]=(B[m]-np.dot(A[m,m+1:n],x[m+1:n]))/A[m,m]
  print('T',m+1,'=', x[m])


Hasil Pemograman Bagian B Menggunakan Runge Kutta

g = 9.81
myu = eval(input("friction coefficient : "))
a = eval(input("car acceleration : "))
cd = eval(input("drag coefficient : "))
m = eval(input("mass car : "))
t0 = 0
v0 = 0
dt = 1 
error = 100
sigmaf = a - g*myu #dibagi mass
fs = cd/m #dibagi mass
lst = []
def dvdt(t0, v0):
   return sigmaf-(fs*(v0)**(1.5))
while error > 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
   error = ((v1 - v0) / v1)*100 
   v0 = v1
   lst.append(v1)
waktu = len(lst)
print ("waktu untuk mencapai velocity maksimal adalah: ", waktu+1, "s")
print ("velocity maksimal adalah: ", v1, "m/s")


Pertemuan Kesembilan : Pemodelan Damping Dengan Method Runge Kutta

Hari, Tanggal : Rabu, 30 September 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika

Damping System - Latitia.png

Persamaan Sistem :

F = m*a (sigma Gaya)
5t - cv = m*a
a = (5t-cv)/m
dv/dt = (5t-cv)/m

Pemograman Sistem

def TurunanV(t, v): #Fungsi Turunan V terhadap t
  return ((5*t - c*v)/m)
m=eval(input("massa (kg) : ")) 
c=eval(input("damper koefisien (Ns/m) : "))
t0 = 0 #t initial
v0 = 0 #v initial
t = 7  #kecepatan sistem ditanya pada t setelah 7s
h = 0.06  #delta yang digunakan
nilai = (int)((t - t0)/h) #menghitung jumlah increment  
for i in range(1, nilai + 1):
  k1 = h * TurunanV(t0, v0) #runge kutta
  k2 = h * TurunanV(t0 + 0.5 * h, v0 + 0.5 * k1)
  k3 = h * TurunanV(t0 + 0.5 * h, v0 + 0.5 * k2)
  k4 = h * TurunanV(t0 + h, v0 + k3)
 
  v0 = v0 + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) #sigma nilai k1,k2,k3,k4 ke y' yang baru dan membaginya  
  t0 = t0 + h
print("System Velocity : ",v0, "m/s")


Pertemuan Kesepuluh : Penyelesaian menggunakan Metode Numerik

Hari, Tanggal : Rabu, 6 November 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


Pertemuan Kesebelas : Penjelasan Curve Fitting

Hari, Tanggal : Rabu, 13 November 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


Pertemuan Kedua belas : Penjelasan CFD Drag Force Dalam Mobil

Hari, Tanggal : Rabu, 20 November 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


1) Pertama kita mengambil CAD mobil dari yang sudah disediakan. Lalu kami memmasukan CAD kedalam aplikasi CFD untuk melihat Drag Force dengan variasi kecepatan. Untuk membantu kami, kami menggunakan CFDSOF untuk menghitung hal ini. Awalnya kita menentukan besaran mesh yang kita butuhkan, yang kita ambil pada saat mesh berada di tengah mobil untuk melihat besaran Drag Forcenya. Jadi diasumsikan aliran yang melewati mobil bagian paling teratas. Setelah menentukan mesh, kami berlanjut melakukan perhitungan pada aplikasi Paraview yang menjadi third party dari CFDSOF. Pada applikasi ini, kami dapat menghitung Drag Force menggunakan calculator yaitu dengan mengalikan p*Surface x. Setelah kami melakukan percobaan dengan variasi sebanyak 10 kecepatan didapat 10 macam data sebagai berikut :
Tisya.jpg


2) Setelah mendapatkan 10 hasil Drag Force, kami menginput hasilnya kedalam Excel untuk membuat grafik & hasil persamaan yang didapat dari variasi Drag Force terhadap Kecepatan. Berikut hasil fitting curve :
Cfd1.jpg


Pertemuan Ketiga Belas : Penjelasan Optimasi Sudut Serang Pada Airfoil

Hari, Tanggal : Rabu, 27 November 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika


1) Melakukan pembuatan airfoil pada aplikasi Inventor dengan variasi 8 sudut caranya dengan merotasi airfoil dengan variasi sudut  (-15, 0, 15, 30, 45, 60, 75, 90). Foto dibawah ini merupaka Hasil airfoil buatan kelompok 8 berikut dengan dimensinya.
Airfoil kelompok8.jpg
2) Mencari besaran Drag Force & Lift Force pada setiap variasi sudut dengan menggunakan aplikasi CFDSOF menggunakan kecepatan internal sebesar 10 m/s. Melakukan perhitungan dengan   calculator pada third party yaitu Paraview. Untuk mencari Drag Force mengalikan p*surface x sedangkan untuk mencari Lift Force mengalikan p*surface y. Berikut ditampilkan salah satu hasil paraview pada sudut 75 derajat. 
Lift Force pada sudut 75 derajat
Lift Force 75.Kelompok8.png
Drag Force pada sudut 75 derajat
Drag Force 75.Kelompok8.png
3) Dari hasil setiap nilai Drag Force dan Lift Force pada setiap sudut, nilai tersebut kami input dan melakukan regresi pada Excel. Hasilnya berupa grafik dan berupa persamaan y(x) yang nantinya digunakan untuk mencari optimasi. Besar hasil Drag Force dan Lift Force berdasarkan sudutnya dapat dilihat dibawah ini :
Tabel Lift Force.Kelompok8.png
Tabel Drag Force.Kelompok8.png
Grafik pada masing-masing force adalah sebagai berikut :
Grafik Lift Force.Kelompok8.png
Grafik Drag Force.Kelompok8.png
4) Selain membuat grafik pada setiap Force, kami juga menggabungkan dua persamaan antara Lift Force dan Drag Force menjadi satu. Gunanya untuk melihat dititik manakah antara Drag Force dan Lift Force akan bertemu. Hasil dari grafik yang kami buat adalah sebagai berikut :
Grafik gabungan drag&lift.Kelompok8.png
Namun dapat dilihat hasil grafik memperlihatkan bahwa terdapat dua titik yang beririsan. Untuk itu kita perlu mencari menggunakan optimasi untuk melihat dimana persisnya sudut serang paling optimal
5) Untuk melakukan optimasi, kami membutuhkan persamaan y(x) pada Drag Force dan Lift Force yang sudah dicari tadi menggunakan Excel. Lalu menggunakan Bataan sudut 0-90 derajat. Karena setelah kami coba, hasil jika dimasukkan -15 derajat hasilnya akan sama saja. Lalu setelah itu, kami menggunakan Metode Numerik dengan Bahasa Python dengan aplikasi Jupiter Notebook. Hasil pemograman dibuat dua kali. Yang pertama menggunakan objective persamaan drag lalu yang kedua menggunakan objective persamaan lift. Metode yang digunakan adalah SLSQP. Hasil dari kedua pemograman berupa berikut :
 1. Objective drag Force
 Hasil dari program ada di sebelah kanan
 Program Obj Drag.Kelompok8.png
 2. Objective Lift Force
 Hasil dari program ada di sebelah kanan
 Program Obj Lift.Kelompok8.png
6) Melihat dari kedua hasil optimasi, kami mengambil kesimpulan bahwa titik optimasi didapatkan pada saat sudut sekitar 10 derajat karena force yang diberikan lebih sedikit dibanding pada saat sudut sekitar 30 derajat. Jadi dapat dikatakan bahwa sudut paling optimal pada saat sudut serang sebesar 10.632244814991312 derajat. 

Sudut Paling Optimal.Kelompok8.png


Pertemuan Keempat belas : Presentasi CFD Drag

Hari, Tanggal : Rabu, 4 Desember 2019

'Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika

Pada Pertemuan kali ini, kita menyelesaikan kelompok-kelompok yang belum melakukan presentasi. Pembahasan dari presentasi ini adalah penggunaan software CFD-SOF untuk menghitung drag dan lift pada sebuah airfoil yang telah dibuat oleh masing-maisng Kelompok. Karena Kelompok saya sudah presentasi di awal, maka dalam Pertemuan ini saya mendengarkan Kelompok lain presentasi.


Pertemuan Kelima Belas : Penjelasan tenting ANN

Hari, Tanggal : Rabu, 11 Desember 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika

ANN Adalah sistem pembelajaran terawasi yang dibangun dari sejumlah besar elemen sederhana, yang disebut neuron atau perceptron. Setiap neuron dapat membuat keputusan sederhana, dan   memberi makan keputusan itu ke neuron lain, yang diorganisasikan dalam lapisan yang saling berhubungan. 
Backpropagation adalah algoritma pembelajaran untuk memperkecil tingkat error dengan cara menyesuaikan bobotnya berdasarkan perbedaan output dan target yang diinginkan.  
Backpropagation juga merupakan sebuah metode sistematik untuk pelatihan multilayer.
Arsitektur algoritma backpropagation terdiri dari tiga layer, yaitu input layer, hidden layer dan output layer. Pada input layer tidak terjadi proses komputasi, namun pada input  layer terjadi pengiriman sinyal input X ke hidden layer. Pada hidden dan output layer terjadi proses komputasi terhadap bobot dan bias dan dihitung pula besarnya output dari hidden dan output layer tersebut berdasarkan fungsi aktivasi tertentu. Dalam algoritma backpropagation ini digunakan fungsi aktivasi sigmoid biner, karena output yang diharapkan bernilai antara 0 sampai 1.
Algoritma backpropagation adalah sebuah algoritma untuk memperkecil tingkat error dengan menyesuaikan bobot berdasarkan perbedaan output dan target yang diinginkan.
Secara umum algoritmanya terdiri dari tiga langkah utama, yaitu :
Pengambilan input
Penelusuran error
Penyesuaian bobot
Steps untuk membuat ANN :
Data Preprocessing
Add input layer
Random w init
Add Hidden Layers
Select Optimizer, Loss, and Performance Metrics
Compile the model
use model.fit to train the model
Evaluate the model
Adjust optimization parameters or model if needed


Terima Kasih telah membaca blog Wiki saya, apabila ada yang ingin disampaikan dapat mengisi kolom komentar dibawah ini.



Add your comment
ccitonlinewiki welcomes all comments. If you do not want to be anonymous, register or log in. It is free.