Muhammad Yusuf Abdurrahman

From ccitonlinewiki
Revision as of 14:01, 17 December 2019 by Yusuf (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Biodata Diri

Bismillahirrahmaanirrahiim,
                                                                   Profile Pict.PNG

Halo semua, perkenalkan nama saya Muhammad Yusuf Abdurrahman. Saya merupakan mahasiswa jurusan Teknik Mesin angkatan 2016. Saat ini saya sedang mengambil mata kuliah Metode Numerik dibawah bimbingan Bapak Dr. Eng. Radon Dhelika dan juga Bapak Dr. Ir. Ahmad Indra Siswantara


==Review Hari Pertama Kelas Metode Numerik (4 September 2019)==

Pada hari pertama, kelas dimulai dengan pembukaan oleh Bapak Ahmad Indra yang memperkenalkan diri beliau beserta Pak Radon sebagai Dosen yang mengajar secara bersamaan dengan beliau.

Beliau memberikan pemahaman kepada kami mengenai dasar fondasi yang harus dipahami dalam kegiatan belajar yaitu mengenai alasan mengapa kita harus belajar beberapa topik mata kuliah secara spesifik seperti kalkulus. Kami pun diminta untuk memberikan alasan yang logis untuk menjawab pertanyaan tersebut.

Jawaban Saya :

>Kenapa Anak Mesin harus belajar kalkulus ?

>Karena kalkulus adalah tools yang fundamental digunakan dalam penyelesaian permasalahan fisika dan keteknikan yang merupakan bentuk aplikasi secara riil dari ilmu fisika. Contohnya adalah dalam menyelesaikan masalah Kinematika dan Dinamika yang sangat kental dengan Hukum Newton dimana terdapat definisi turunan percepatan, kecepatan, dan jarak.



Tugas Metode Numerik 01

Selesaikan permasalahan matematika berikut dengan menggunakan algoritma, flowchart program :




Tugas Fibonacci

Tuliskan algoritma, flowchart dan juga coding di Python untuk menentukan suku ke-n pada suatu barisan Fibonacci ?

1,1,2,3,5,8,....

>> Algoritma :

Definisikan terlebih dahulu suatu list barisan fibonacci untuk dua suku pertama yaitu 0 dan 1. Definisikan n sebagai suku ke-n dari barisan fibonacci yang ingin diketahui besarnya. Masukan fungsi input untuk memasukan nilai 'n' dan kemudian dengan fungsi eval untuk membaca nilai dari 'n'


Kemudian dengan menggunakan fungsi If, dengan block pertama adalah kondisi jika variabel n yang di input adalah kurang dari 0, maka akan menghasilkan bacaan "masukan bilangan bulat positif!"

jika kondisi pertama false, maka akan masuk ke kondisi kedua dimana jika n <= jumlah komponen pada list fibonacci, maka akan di di print nilai dari komponen list fibonacci urutan ke n-1 (karena pembacaan list dimulai dari nol)

Jika kondisi kedua false, maka block terakhir yang akan dieksekusi adalah suatu variabel yang merupakan penjumlahan dari nilai fibonacci baris ke n-1 dan n-2, nilai variabel ini akan ditambahkan ke dalam list awal fibonacci.

Kemudian masukan perintah print untuk komponen list fibonacci ke n, untuk print output suku ke -n dari barisan fibonacci yang diinginkan

>> Coding Python :

BarisFib = [0,1] a = input('Masukan suku ke-n berapa dari barisan fibonacci?') n = eval(a)

def BarisFib(n):

   if n<0: 
       print("mohon masukan bilangan bulat positif!") 
   elif n<=len(BarisFib): 
       return BarisFib[n-1] 
   else: 
       Nilaifibb = BarisFib(n-1)+BarisFib(n-2) 
       BarisFib.append(Nilaifibb) 
       return Nilaifibb 

print(BarisFib(n))



Resume Materi Kelas (25 September 2019)

Pak DAI menjelaskan bahwa pemodelan merupakan representasi, simplifikasi ataupun asumsi dari suatu sistem.

Asumsi dimaksudkan bahwa dalam memodelkan suatu sistem rancangan ataupun keadaan, kita butuh untuk memberikan asumsi keadaan yang secara sederhana dapat merepresentasikan keadaan/sistem tersebut. Kita memberikan asumsi dikarenakan keterbatasan yang kita miliki, karena pada dasarnya ilmu matematika kadang tidak bisa menerjemahkan kondisi eksak pada suatu keadaan. Ada faktor keterbatasan manusia yang membuat makna eksak sesungguhnya adalah pendekatan yang paling dekat dengan kondisi nyata.

Kemudian pak DAI menjelaskan mengenai parameter-parameter fisika, dalam hal ini adalah modulus elastisitas. E (modulus elastisitas) adalah keengganan suatu material untuk berdeformasi. Sudah menjadi keharusan bagi mahasiswa teknik mesin untuk dapat memahami parameter-parameter fisika tersebut secara mendasar, agar mampu membuat pemodelan yang baik.



UTS

A.) Kasus Soal 1A (Bidang Miring)

>> Soal :

Soal 1.jpeg

>> Solusi Persamaan Linear :

Soal 2 Yusman.jpeg

>> Video Penyelesaian :

>> Kodingan :

import numpy as np
import math

#Mencari matriks umum dari sistem

M = eval(input('Berapa Jumlah Massa'))
Mi = M-1
m = np.zeros((Mi,Mi),float)
n_m = np.zeros(Mi)

for i in range (0,Mi):
    print('berapa besar massa ke-', i+1,'?')
    n_m[i]=eval(input())
    
a= 0
for a in range (0,Mi):
    m[a,0] = n_m[0]
    
b= 0
for b in range (1,Mi):
    m[b,1] = n_m[1]
    
m[2,2] = n_m[2]
print('matriks massa sistem bidang miring statis adalah', '\n',m)

#Definisikan matriks b sebagai pengali massa

g = eval(input('berapa besar percepatan gravitasi?'))
teta = eval(input('berapa sudut bidang miring?'))
mat_b = np.zeros(Mi)

d = 0
for d in range (0,Mi):
    mat_b[d] = g*math.sin(math.radians(teta))

print(mat_b)

#Melakukan Perkalian Dot Product agar mendapatkan nilai T

T = np.dot(m,mat_b)
for l in range (0,Mi):
    print('nilai T ke- ', l+1, 'adalah', T[l])

>> Hasil Kodingan :

Hasil Koding Soal IA.PNG



B.) Soal 1B : Kesetimbangan Dinamis >> Soal :

Soal 1B.jpeg

>> Video Penyelesaian :

>> Kodingan penyelesaian dengan metode Runge-Kutta orde 4 :

import numpy as np
from math import *

# Mengasumsikan parameter-parameter fisika pada sistem 

f = eval(input('berapa gaya dorong dari mesin mobil?'))
g = eval(input('berapa besar percepatan gravitasi bumi?'))
fk = eval(input('berapakah nilai koefisien gesek kinetis?'))
cd = eval(input('berapakah koefisien drag udara?'))
m = eval(input('berapakah massa mobil?0'))


# Mencari besar kecepatan maksimum 
v_maks = ((f-fk*m*g)/cd)**(2/3)

#mendefinisikan fungsi diferensial f(v,t)

def diff_v (v,t):
    fungsi = ((f-cd*(v**(3/2))-m*g*fk)/m)
    return (fungsi)

# Nilai kecepatan initial 

t = 0
v = 0
#Menentukan nilai step

h=0.3
step_size = np.arange(v,v_maks,h)

#Membuat looping untuk melakukan iterasi kecepatan k

for t in step_size:
    k1 = diff_v (v,t)
    k2 = diff_v (v+0.5*h,t+0.5*h*k1)
    k3 = diff_v (v+0.5*h,t+0.5*h*k2)
    k4 = diff_v (v+h,v+k1*h)
    
    t = t+1/6*(k1+2*k2+2*k3+k4)*h
    
print ('maka waktu yang dibutuhkan untuk dapat mencapai v maksimum adalah', t, 'sekon')

>> Hasil Kodingan :

Runge Kutta 4th Hasil.PNG



Pertemuan 30 Oktober 2019


Pertemuan 6 November 2019

Pada pertemuan ini kami diajarkan oleh Pak Dai untuk dapat berpikir secara logis dan runtut, dan mampu menyelesaikan permasalahan matematika. Pak Dai juga menjelaskan tentang prinsip kerja gelombang suara. Metode numerik merupakan ilmu yang sangat dinamis perkembangannya, namun sayangnya saat ini metode numerik belum dapat mengikuti perkembangan dengan belum memasukan materi mengenai Artificial Intellegence (AI). Sebagai mahasiswa sarjana teknik mesin, Pak Dai mengatakan bahwa kami harus mampu merumuskan permasalahan yang terjadi dalam dunia keteknikan, bukan hanya mencocokcocokan kejadian dengan rumus yang telah dihafal.



Pertemuan 13 November 2019

Pertemuan kali ini dijelaskan mengenai proses pengolahan data yang meliputi regresi linear, curve fitting dan bagaimana kita menentukan metode yang tepat dengan kebutuhan kita dalam menyelesaikan suatu persoalan. Yang harus dilakukan adalah memahami permasalahan fenomena fisikanya. Kemudian kami juga dijelaskan mengenai konsep optimasi, dimana optimasi adalah metode yang bertujuan untuk menentukan nilai minimun dan maksimum dari suatu fungsi. Nilai minimum merupakan error yang dihasilkan dari fungsi asalnya.

Pertemuan 20 November

Kali ini kami diajarkan cara penggunaan salah satu aplikasi yang menggunakan prinsip metode numerik dalam menyelesaikan permasalahan di bidang Computational Fluid Dynamic yang dibuat oleh tim IT dari CCIT UI. Kami mecoba membuat pemodelan aliran udara pada suatu model mobil yang sudah disediakan, dan bertujuan untuk mencari nilai dari gaya drag maupun lift yang dihasilkan dari pemodelan aliran udara terhadap geometri model. Langkah-langkah yang dilakukan pada software yang pertama kali adalah melakukan identifikasi fenomena fisika dengan mengatur mesh kotak-kotak yang tipis dan melewati keseluruhan model. Kemudian dengan fungsi RANS kami memodelkan arah aliran, boundary layer dan lain-lain. Kami juga mendefinisikan parameter kecepatan inflow udara sebesar 10 m/s. Kemudian setelah mesh terbentuk, dilakukanlah proses selanjutnya yaitu iterasi-iterasi untuk mendapatkan model dinamika fluidanya yang kemudian pada akhirnya ditampilkan melalui 3rd party application yaitu paraview 5.4.1.

Berikut merupakan gambar-gambar mengenai step-step yang dilakukan untuk pemodelan melalui CFD SOF :

Stepyusman1.jpg Step2 cfd 191217 0039.jpg Stepyusman3.jpg Stepyusman4.jpg

Pertemuan 4 Desember

Pada pertemuan kali ini, kelompok kami baru berhasil melakukan optimasi data drag dan lift yang dihasilkan dari CFD SOF, setelah seminggu sebelumnya kami mengalami banyak sekali kegagalan yang penyebabnya ternyata baru disadari sangat kecil, yaitu tidak bolehnya menggunakan file model 3D STL dengan format nama file yang mengandung spasi. Hal ini sangat menghambat proses pengerjaan kelompok kami. Namun berikut kami lampirkan hasil kerja kelompok kami hingga dihasilkan grafik optimasi data dari desain airfoil yang kami buat :

1. Membuat model 3D Airfoil standar NACA dengan variabel Angle of Attack yang berbeda dengan interval 10 derajat dari 0 hingga 90 derajat.

20degree.PNG

2. Memasukan model STL kedalam CFD SOF dan membuat meshing :

Generate mesh.PNG

3. Hasil Meshing untuk Airfoil dengan AoA 30 derajat :

Sayap30mesh.PNG

4. Melakukan running iterasi untuk melakukan pemodelan dinamika fluida pada geometri : Run Simulation.PNG

5. Melihat hasil simulasi melalui 3rd party Paraview 5.4.1. dan mendapatkan nilai drag dan lift force : Contoh Lift.PNG



Pertemuan 11 Desember 2019

Pada pertemuan ini, ini adalah pertemuan sebelum UAS, Pak Dai menanyakan kepada kami semua mengenai apa parameter yang paling ideal dalam menilai kemampuan mahasiswa dalam satu semester ini mengikuti perkuliahan pak Dai. Dan di akhir kelas kami juga mempelajari mengenai Artificial Neural Network atau disingkat dengan ANN. ANN ini merupakan salah satu tipe dari deep learning yang menggunakan konsep yang diambil dari cara kerja neuron pada otak manusia. ANN banyak mendapatkan perhatian di era sekarang dengan banyaknya aplikasi yang mampu dikerjakannya seperti autonomous driving, dll.

>> berikut merupakan step-step yang dilakukan dalam pembuatan ANN :

1.Data Preprocessing 2.Add input layer 3.Random w init 4.Add Hidden Layers 5.Select Optimizer, Loss, and Performance Metrics 6.Compile the model 7.use model.fit to train the model 8.Evaluate the model 9.Adjust optimization parameters or model if needed