Muhamad Adim Majid
Muhamad Adim Majid (lahir di Kudus, 22 Januari 2000) merupakan seorang mahasiswa Fakultas Teknik Universitas Indonesia, mengambil jurusan Teknik Mesin.
Contents
Pengenalan Metode Numerik
Kalkulus Untuk Mahasiswa Teknik
Menurut Adim, mahasiswa Teknik Mesin harus belajar Kalkulus karena pada dasarnya Kalkulus adalah hal yang paling mendasar yang diperlukan untuk mempelajari hal-hal yang lebih mendalam. Ilmu-ilmu dan konsep yang dipelajari pada Kalkulus pada nantinya akan dipakai di mata kuliah lain, seperti Termodinamika Dasar dan Matematika Teknik.
Python
Python adalah bahasa pemrograman interpretatif multigunadengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang sangat jelas,dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta komprehensif. Python juga didukung oleh komunitas yang besar.
Belajar Bahasa Python
Print "Hello World" dengan Python
Membuat tulisan di python sangatlah mudah tidak seperti bahasa pemograman yang lain cukup memberikan perintah print
print("Hello World")
Python Tuple
Masukkan Kode
tuple = ("Muhamad","Adim","Majid","Adim",(22,1,2000)) name1,name2,name3,surname,born = tuple print("Nama saya",name1,name2,name3,", biasa dipanggil",surname,". Saya muncul di bumi pada tanggal",born[0],"bulan",born[1],"tahun",born[2],".")
Akan Menghasilkan
Nama saya Muhamad Adim Majid , biasa dipanggil Adim . Saya muncul di bumi pada tanggal 22 bulan 1 tahun 2000
Menentukan Suku Ke-n Deret Fibonacci Dengan Python
Algoritma
1. Mulai
2. Tentukan definisi n
3. Tentukan nilai a=0 , b=1
4. Jika n<0, print "Incorrect input"
5. Dan jika n=0, kembali ke a
6. Dan jika n=1, kembali ke b
7. Selain itu, untuk i di range 2 dan seterusnya: c = a + b, a = b, b = c, return b
8. Input nilai n
9. Selesai
Flowchart
Kode di Python
def fibonacci(n): a = 0 b = 1 if n < 0: print("Incorrect input") elif n == 0: return a elif n == 1: return b else: for i in range(2,n): c = a + b a = b b = c return b Fibo = int(input('enter n: ')) print(fibonacci(Fibo))
Run dari kode di atas. Ketika dimasukkan nilai n = 30, program menampilkan suku ke-30 dari deret fibonacci yaitu 514229.
QUIZ
Problem 2.1 Nomor 6
#Numpy dimasukkan ke dalam program from numpy import linalg import numpy as np #Matriks dipecah menjadi 5 baris #Baris pertama dinotasikan sebagai barisA1, baris kedua barisA2, dst. #MatriksA sebagagai notasi dari matriks a barisA1 = [0,0,2,1,2] barisA2 = [0,1,0,2,-1] barisA3 = [1,2,0,-2,1] barisA4 = [0,0,0,-1,1] barisA5 = [0,1,-1,1,-1] MatriksA = np.array ([barisA1,barisA2,barisA3,barisA4,barisA5]) #MatriksB sebagagai notasi dari matriks b MatriksB = np.array ([1,1,-4,-2,-1]) #Perhitungan dengan modul numpy jawab = linalg.solve (MatriksA,MatriksB) hasilx1 = int(jawab[0]) hasilx2 = int(jawab[1]) hasilx3 = int(jawab[2]) hasilx4 = int(jawab[3]) hasilx5 = int(jawab[4]) #Hasil print ("Hasilnya adalah:") print ("x1=",hasilx1) print ("x2=",hasilx2) print ("x3=",hasilx3) print ("x4=",hasilx4) print ("x5=",hasilx5)
Jika kode tersebut di run maka akan memperlihatkan
Hasilnya adalah: x1= 3 x2= -2 x3= 1 x4= 1 x5= -1
Problem 7.1 Nomor 2
# x0 dan y sebagai titik asal, x yaitu 0.03, dan h sebagai tingkat ketinggian x0 = 0 y0 = 1 # pada x = 0.03 (Seperti di soal), y = 1 h = 0.008 # h dimisalkan 0.008 x = 0.03 # pers1 adalah persamaan awal soal #y' = x^2 - 4y def pers1(x, y): return (x**2 - 4*y) def RKrangekutta(x0, y0, x, h): n = (int)((x - x0)/h) y = y0 for i in range(1, n + 1): k1 = h * pers1(x0, y) k2 = h * pers1(x0 + 0.5 * h, y + 0.5 * k1) k3 = h * pers1(x0 + 0.5 * h, y + 0.5 * k2) k4 = h * pers1(x0 + h, y + k3) #X selanjutnya x0 = x0 + h #Y selanjutnya y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) return y #Hasilnya print("hasilnya adalah") print("Nilai y(", x, ") :") print (RKrangekutta(x0, y0, x, h))
Jika kode tersebut di run maka akan memperlihatkan
hasilnya adalah Nilai y( 0.03 ) : 0.9084685163565254
UTS
Nomor 3A
Rumus yang Digunakan
Berikut adalah Kode Python yang digunakan
import math m1 = float(input("Massa 1 (Dalam kg) :")) m2 = float(input("Massa 2 (Dalam kg) :")) m3 = float(input("Massa 3 (Dalam kg) :")) m4 = float(input("Massa 4 (Dalam kg) :")) g = float(input("Gaya Grafitasi :")) miu = float(input("Koefisien Gesek :")) alfa = float(input("Sudut Alfa :")) sinalfa = math.sin(math.radians(alfa)) cosalfa = math.cos(math.radians(alfa)) T1 = (m1 * g * sinalfa)-(m1 * g * cosalfa * miu) T2 = T1 + (m2 * g * sinalfa) - (m2 * g * cosalfa * miu) T3 = T2 + (m3 * g * sinalfa) - (m3 * g * cosalfa * miu) T4 = m4 * g print ("Nilai Tegang Tali 1 :",T1) print ("Nilai Tegang Tali 2 :",T2) print ("Nilai Tegang Tali 3 :",T3) print ("Nilai Tegang Tali 4 :",T4)
Hasil
Massa 1 (Dalam kg) :35 Massa 2 (Dalam kg) :47 Massa 3 (Dalam kg) :29 Massa 4 (Dalam kg) :80 Gaya Grafitasi :9.81 Koefisien Gesek :0.3 Sudut Alfa :30 Nilai Tegang Tali 1 : 82.47005328318387 Nilai Tegang Tali 2 : 193.21555340631653 Nilai Tegang Tali 3 : 261.54788326952604 Nilai Tegang Tali 4 : 784.8000000000001
Video Penjelasan
Nomor 3B
Rumus yang Dipakai
Kode yang Dibuat
Torsimesin = eval(input('Torsi Mesin (Nm): ')) Ukuranban = eval(input('Ukuran Ban (inch): ')) massamobil = eval(input('Massa Mobil (kg): ')) g = eval(input('Gravitasi (m/s^2): ')) N = massamobil * g koefgesek = eval(input('Koefisien gesek: ')) Fgesek = N * koefgesek BAN = Ukuranban * 0.0254 / 2 Froda = Torsimesin / BAN if Froda > Fgesek: print('Mobil Diam di tempat dan ngepot') if Fgesek > Froda: kmh = eval(input('Top speed (km/h): ')) bataskecepatan = kmh / 3.6 Cd = eval(input('Koefisien Drag: ')) A = eval(input('Area (m^2): ')) rho = eval(input('Massa jenis udara (kg/m^3): ')) Fdrag = Cd * A * rho * (bataskecepatan ** 2) / 2 atotal = (Froda - Fdrag) / massamobil t = bataskecepatan / atotal print('t (s): ', t)
Hasil
Torsi Mesin (Nm): 300 Ukuran Ban (inch): 15 Massa Mobil (kg): 1000 Gravitasi (m/s^2): 9.81 Koefisien gesek: 0.4 Top speed (km/h): 200 Koefisien Drag: 0.2 Area (m^2): 3 Massa jenis udara (kg/m^3): 1.2 t (s): 119.81132075471703
Video Penjelasan
Video Muhasabah
Contoh soal Runge-Kutta 4 orde
Soal yang Saya Buat
Coding Runge-Kutta
t0 = 0 # waktu keadaan awal v0 = 0 # V awal h = 0.001 # ini adalah ketelitian (increment) t = float(input("Nilai t (sekon): ")) # perintah untuk memasukkan nilai waktu t
if 0 <= t < 5: # untuk 0 <= t < 5 def F(t, v): return (120 * t - 0.159276 * (v**2)) # memasukkan nilai F(t) konstan pada 60t
def rungeKutta(t0, v0, t, h): # perhitungan Runge-Kutta n = (int)((t - t0) / h) # untuk mengetahui jumlah iterasi yang akan dilakukan maka panjangnya harus dibagi dengan increment yang telah ditentukan (h=0,001) v = v0 for i in range(1, n + 1): k1 = h * F(t0, v) k2 = h * F(t0 + 0.5 * h, v + 0.5 * k1) k3 = h * F(t0 + 0.5 * h, v + 0.5 * k2) k4 = h * F(t0 + h, v + k3) v = v + (1.0 / 6.0) * (k1 + 2 * k2 + 2 * k3 + k4) t0 = t0 + h return v
print("Nilai v pada waktu t =", t, "adalah", rungeKutta(t0, v0, t, h), "m/s") # menampilkan nilai v
elif t >= 5: # untuk t >= 5 def F(t, v): return (80 - 0.159276 * (v**2)) # memasukkan nilai F(t) konstan pada 40N
def rungeKutta(t0, v0, t, h): # perhitungan Runge-Kutta n = (int)((t - t0) / h) v = v0 for i in range(1, n + 1): k1 = h * F(t0, v) k2 = h * F(t0 + 0.5 * h, v + 0.5 * k1) k3 = h * F(t0 + 0.5 * h, v + 0.5 * k2) k4 = h * F(t0 + h, v + k3) v = v + (1.0 / 6.0) * (k1 + 2 * k2 + 2 * k3 + k4) t0 = t0 + h return v
print("Nilai v pada t =", t, "adalah", rungeKutta(t0, v0, t, h), "m/s") # menampilkan nilai v
else: print("Nilai t harus lebih dari 0 atau positif.")
Hasil Run
CFDSOF
Pada tugas CFDSOF kali ini, kelompok kami mencoba untuk menganalisis drag pada mobil dengan menggunakan software CFDSOF. Namun, ketika kami ingin generate mesh, program CFDSOF tidak dapat generate mesh sehingga kami tidak dapat melanjutkan tugas ini.
Airfoil
Pada tugas kali ini, kami mendesain sebuah airfoil dengan menggunakan program Autodesk Inventor untuk dites seberapa besar gaya angkat (lift force) dan gaya hambatan udara (drag force) yang dihasilkan ketika menabrak udara dengan kecepatan 180 m/s. Berikut adalah bentuk desain airfoil yang kami buat:
Data Drag Force & Lift Force
Dengan menggunakan software CFDSOF-NG V1.00, diperoleh data besarnya drag force & lift force terhadap kemiringan sudut airfoil sebagai berikut:
Kurva drag force & lift force terhadap kemiringan sudut airfoil
Berikut kurva dari drag force & lift force terhadap kemiringan sudut airfoil:
ANN
Jaringan saraf tiruan (JST) (Bahasa Inggris: artificial neural network (ANN), atau juga disebut simulated neural network (SNN), atau umumnya hanya disebut neural network (NN)), adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan sistem saraf manusia. JST merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. Oleh karena sifatnya yang adaptif, JST juga sering disebut dengan jaringan adaptif.
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.
ANN terdiri dari 3 layer: Input layer, Hidden Layer, Output layer
Cara kerja ANN
Data dimasukkan diproses terus menerus & dilakukan back propagation untuk mengulang perhitungan hingga error menjadi mendekati 0. untuk memprediksi data. kalau hasilnya akurat berarti ANN bagus kalo belum berarti ANN kurang bagus.
Enable comment auto-refresher
Anonymous user #1
Permalink |