Difference between revisions of "Muhammad Yusuf Abdurrahman"

From ccitonlinewiki
Jump to: navigation, search
Line 100: Line 100:
 
>> Kodingan :
 
>> Kodingan :
  
 +
<nowiki>
 
import numpy as np
 
import numpy as np
 
import math
 
import math
  
 +
#Mencari matriks umum dari sistem
  
 
M = eval(input('Berapa Jumlah Massa'))
 
M = eval(input('Berapa Jumlah Massa'))
Line 110: Line 112:
  
 
for i in range (0,Mi):
 
for i in range (0,Mi):
print('berapa besar massa ke-', i+1,'?')
+
    print('berapa besar massa ke-', i+1,'?')
n_m[i]=eval(input())
+
    n_m[i]=eval(input())
 
      
 
      
 
a= 0
 
a= 0
 
for a in range (0,Mi):
 
for a in range (0,Mi):
m[a,0] = n_m[0]
+
    m[a,0] = n_m[0]
 
      
 
      
 
b= 0
 
b= 0
 
for b in range (1,Mi):
 
for b in range (1,Mi):
m[b,1] = n_m[1]
+
    m[b,1] = n_m[1]
 
      
 
      
 
m[2,2] = n_m[2]
 
m[2,2] = n_m[2]
 
print('matriks massa sistem bidang miring statis adalah', '\n',m)
 
print('matriks massa sistem bidang miring statis adalah', '\n',m)
 +
 +
#Definisikan matriks b sebagai pengali massa
  
 
g = eval(input('berapa besar percepatan gravitasi?'))
 
g = eval(input('berapa besar percepatan gravitasi?'))
Line 130: Line 134:
 
d = 0
 
d = 0
 
for d in range (0,Mi):
 
for d in range (0,Mi):
mat_b[d] = g*math.sin(math.radians(teta))
+
    mat_b[d] = g*math.sin(math.radians(teta))
  
 
print(mat_b)
 
print(mat_b)
 +
 +
#Melakukan Perkalian Dot Product agar mendapatkan nilai T
  
 
T = np.dot(m,mat_b)
 
T = np.dot(m,mat_b)
 
for l in range (0,Mi):
 
for l in range (0,Mi):
     print('nilai T ke- ', l+1, 'adalah', T[l])
+
     print('nilai T ke- ', l+1, 'adalah', T[l])</nowiki>
  
 
>> Hasil Kodingan :
 
>> Hasil Kodingan :
Line 157: Line 163:
 
>> Kodingan penyelesaian dengan metode Runge-Kutta orde 4 :
 
>> Kodingan penyelesaian dengan metode Runge-Kutta orde 4 :
  
 +
<nowiki>
 
import numpy as np
 
import numpy as np
 
from math import *
 
from math import *
  
 +
# Mengasumsikan parameter-parameter fisika pada sistem
  
 
f = eval(input('berapa gaya dorong dari mesin mobil?'))
 
f = eval(input('berapa gaya dorong dari mesin mobil?'))
Line 167: Line 175:
 
m = eval(input('berapakah massa mobil?0'))
 
m = eval(input('berapakah massa mobil?0'))
  
 +
 +
# Mencari besar kecepatan maksimum
 
v_maks = ((f-fk*m*g)/cd)**(2/3)
 
v_maks = ((f-fk*m*g)/cd)**(2/3)
 +
 +
#mendefinisikan fungsi diferensial f(v,t)
  
 
def diff_v (v,t):
 
def diff_v (v,t):
 
     fungsi = ((f-cd*(v**(3/2))-m*g*fk)/m)
 
     fungsi = ((f-cd*(v**(3/2))-m*g*fk)/m)
 
     return (fungsi)
 
     return (fungsi)
 +
 +
# Nilai kecepatan initial
  
 
t = 0
 
t = 0
 
v = 0
 
v = 0
 +
#Menentukan nilai step
  
 
h=0.3
 
h=0.3
 
step_size = np.arange(v,v_maks,h)
 
step_size = np.arange(v,v_maks,h)
  
 +
#Membuat looping untuk melakukan iterasi kecepatan k
  
 
for t in step_size:
 
for t in step_size:
k1 = diff_v (v,t)
+
    k1 = diff_v (v,t)
k2 = diff_v (v+0.5*h,t+0.5*h*k1)
+
    k2 = diff_v (v+0.5*h,t+0.5*h*k1)
k3 = diff_v (v+0.5*h,t+0.5*h*k2)
+
    k3 = diff_v (v+0.5*h,t+0.5*h*k2)
k4 = diff_v (v+h,v+k1*h)
+
    k4 = diff_v (v+h,v+k1*h)
 
      
 
      
t = t+1/6*(k1+2*k2+2*k3+k4)*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')
 
print ('maka waktu yang dibutuhkan untuk dapat mencapai v maksimum adalah', t, 'sekon')
 +
</nowiki>
  
 
>> Hasil Kodingan :
 
>> Hasil Kodingan :
  
 
[[File:Runge Kutta 4th Hasil.PNG]]
 
[[File:Runge Kutta 4th Hasil.PNG]]

Revision as of 23:43, 30 October 2019

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