Difference between revisions of "Raymond Lesmana"
(→Flowchart) |
(→Flowchart) |
||
Line 272: | Line 272: | ||
== Flowchart == | == Flowchart == | ||
− | [[File: | + | [[File:Reaction_Force.jpeg]] |
Revision as of 16:58, 19 March 2019
Contents
AKAL
Terdapat 2 dosen pengajar di kelas Metode Numerik ini yaitu Dr. Ahmad Indra Siswantara alias Aki Dai dan Dr. Gunawan. Beliau memberitahukan kepada kami mengenai 2 tujuan utama dari kelas Metode Numerik ini. Tujuan kelas ini adalah :
A. Mehamami konsep / prinsip dan mampu menenerapkannya
B. Menjadi orang yang lebih mengenal siapa dirinya
Dari kedua tujuan yang dipaparkan oleh beliau, hal yang menjadi prasyaratnya adalah BERAKAL. Manusia diberkahi dengan akal budi dari Tuhan Yang Maha Esa. Orang yang berakal adalah orang yang dapat membedakan mana yang benar dan salah. Dengan berakal sudah sepatutnya manusia menjadi pribadi yang baik dan bijaksana dalam konteks berpikir ataupun bertindak. Aki Dai berkata bahwa matematika adalah hal yang dapat memberikan jawaban dan sekaligus dapat menyesatkan. Tidak sedikit ilmuwan kelas dunia yang berubah menjadi atheis dikarenakan oleh pengetahuan yang dimilikinya. Hal ini yang disebutkan oleh Aki Dai sebagai matematika dapat menyesatkan kita.
Metode Numerik
Dalam perkuliahan yang dilakukan ini ada 5 langkah pembelajaran untuk dapat memahami dan menguasai mata kuliah ini secara maksimal. Langkah tersebut sebagai berikut :
1. Algoritma, Flowchart, Pemograman, Metode iterative
2. Penyelesaian Persamaan-Persamaan Aljabar Simultan
3. Differensial dan Integral
4. Optimasi
5. Studi Kasus
Dari langkah-langkah pembelajaran di atas, kita sudah sepatutnya memahami betul mengenai persamaan aljabar simultan, differensial, dan integral di mata kuliah kalkulus yang sudah kita ambil sebelumnya. Mengapa hal tersebut sangatlah penting di mata kuliah ini karena untuk mengoptimasi sebuah keadaan atau kasus yang berhubungan dengan engineering untuk mendapatkan output maksimum dengan input minimum perlu dibuat sebuah perhitungan matematis yang dapat mendefinisikan dan mencari solusi dari masalah yang ada. Contoh untuk menghitung Stress ataupun tegangan yang ada kita perlu melalui perhitungan seperti ini :
ΣF = 0
Dσ = 0
dengan melakukan penurunan rumus seperti halnya diatas kita dapat menentukan dan mengetahui tegangan yang ada lalu kita dapat mengoptimasikan bagaimana pengaturan tegangan yang terbaik. Optimasi ini dilakukan dengan komputer karena kecepatan perhitungan atau komputasinya yang dapat memberikan solusi terbaik dari berbagai keadaan dan percobaan yang ada dengan kurun waktu yang cepat dikarenakan komputer dapat menghitung lebih cepat dari manusia. Kita mempelajari algoritma, flow chart, dan pemograman di mata kuliah sehingga kita mengetahui bagaimana komputer tersebut mengeksekusi sebuah sistem yang ada dan kita dapat mengerti bahasa pemograman sehingga kita dapat menuangkan apa yang kita mau lewat aplikasi yang kita buat.
Studi Kasus
Aki Dai mengajak kita berpikir mengenai persoalan matematis yang ada. Beliau memberikan contoh soal sebagai berikut :
Apabila kita langsung memasukan x = 1, maka perhitungan yang didapat ialah 0/0 atau tidak terdefinisi. Menurut beliau, 0/0 bukanlah terdefinisi namun hanya Tuhan yang tahu jawabannya dan kita manusia tidak sampai kesana. Solusi yang dapat kita lakukan adalah melakukan penurunan sehingga didapat bahwa hasilnya adalah 2. Namun Aki Dai meminta kita untuk berpikir lebih dalam, dan salah seorang teman kami memnjawab persamaan itu tidak dapat diselesaikan begitu saja karena titik x = 1 tidak ada pada fungsi yang tersebut sehingga dilakukan pendekatan yang menggunakan limit. Cara berpikir yang logis dan matematis diperlukan untuk menyelesaikan permasalahan-permasalahan yang ada terutama pada mata kuliah Metode Numerik ini sehingga mata kuliah ini dapat menjadi bekal kita untuk semakin berkembang dan berpikir layaknya seorang engineer.
Pertemuan 2
Metode Numerik yang dilakukan mempermudah kita sebagai calon engineer untuk melakukan perhitungan dengan cepat. Oleh karena itu, banyak permasalahan di dunia yang dapat ditulis dalam rumus matematis dapat kita lakukan perhitungan dengan menggunakan metode numerik demi mendapat nilai yang paling ideal. Optimasi juga dapat dilakukan guna untuk mendapat nilai terbaik atau hasil terbaik dengan waktu yang singkat.
Kasus yang dapat diselesaikan dengan persamaan matematis
1. Optimasi bentuk propeller sehingga propulsi yang dihasilkan seoptimal mungkin
2. Optimasi peletakan kamar mesin sehingga tenaga yang dihasilkan lebih terjaga
PR
Perintah :
1. Cetak ax +by = c dan px +qy=r
2. Cetak masukan nilai a,b,c dan p,q,r
3. Input nilai a,b,c dan p,q,r
4. Taruh nilai a,b dan p,q ke dalam satu matrix
5. Taruh nilai c dan r ke dalam matrix lainnya
6. Lakukan perhitungan dengan menggunakan numpy linear algebra
7. Cetak hasil x dan y
Coding :
import numpy as np
print("Hello this is linear algebra solution program :)")
print("ax + by = c")
print("px + qy = r")
print("Please input the value")
a = int(input("input value of a :"))
b = int(input("input value of b :"))
c = int(input("input value of c :"))
p = int(input("input value of p :"))
q = int(input("input value of q :"))
r = int(input("input value of r :"))
x = np.array([[a,b],[p,q]])
y = np.array([c,r])
z = np.linalg.solve(x,y)
xval = int(z[0])
yval = int(z[1])
print("x = ",xval)
print("y = ", yval)
Pertemuan 3
Pada pertemuan kali ini kita mempelajari mengenai bahasa pemograman Python. Python dapat kita gunakan untuk memecahkan berbagai macam permasalahan yang ada baik dalam hal matematis ataupun lainnya. Dengan menggunakan python kita dapat membuat sebuah aplikasi atau program yang dapat mempermudah kita melakukan perhitungan ataupun memecahkan masalah yang ada dengan pertimbangan berbagai macam aspek. Python juga dapat digunakan untuk membuat program optimasi yang ada untuk mendapat output terbaik. Kita dapat memecahkan permasalahan matematis seperti aljabar linear, persamaan kuadrat, aritmetika, dan banyak hal lainnya. Kita hanya perlu untuk menterjemahkan output yang kita mau ke dalam bahasa pemograman python.
PR Eliminasi Gauss
1. Soal
2. Eliminasi Gauss Jordan halaman 41
Pertemuan 4
Pada pertemuan kali ini kita diajarkan mengenai penggunaan numpy untuk menyelesaikan aljabar linear. Kita mengimport numpy pada python dengan tujuan agar module numerical python yang akan dipergunakan untuk menyelesaikan masalah numerik sudah terpasang pada aplikasi yang kita buat. Mengakses numpy dengan syntax "np." seperti np.array atau np.linalg bergantung pada kebutuhan. np.array dipergunakan untuk mengakses sub bab array dari modul numerical python untuk membuat matriks. Syntax print sebuah text harus diberi tanda kutip seperti print("Hello World"). Untuk print sebuah text dan variable a dapat ditulis print("Variabel A adalah" , a). Len() digunakan untuk mengukur panjang baris dari matriks yang ada. Looping pada python bisa dipergunakan syntax for atau if dengan kondisi tertentu sesuai kasus yang ada seperti for k in range(0,n-1). Jarak menjorok ke dalam mengartikan bahwa syntax yang ada adalah bagian dari syntax sebelumnya sehingga saling berkaitan. Kita diajarkan mengenai bagaimana syntax eliminasi gauss jordan pada python
Tugas Break Even Point
Link Youtube :
Pertemuan 5
Membahas mengenai peralihan dan peregangan. Apabila luas bangunan tidak dapat dicapai hanya dengan satu lantai maka akan dibuat lantai-lantai baru hingga luas yang dicapai memadai. Optimasi mengenai struktur atau fondasi dari rumah.
Tugas Program Pegas
video youtube : https://youtu.be/dH5keiMH0-Y
import numpy as np
- menentukan jumlah pegas
N = eval(input("berapa jumlah pegas ? "))
y = N+1
K = np.zeros((y,y),float)
- mendefinisikan array berisi konstanta pegas
k_peg = np.zeros(N)
for i in range (0,N):
print("berapa nilai konstanta pegas yang ke ", i+1 , "?")
k_peg[i] = eval(input())
- membuat matriks global kekuatan
K[0,0] = k_peg[0]
K[N,N] = k_peg[N-1]
- pola1
j_1 = 0
for i_1 in range (0,N):
j_1 += 1
K[i_1,j_1] =- (k_peg[i_1])
- pola2
i_2 = 0
for j_2 in range (0,N):
i_2 += 1
K[i_2,j_2] =- (k_peg[j_2])
- pola3
j_3 = 0
for i_3 in range(1,N):
j_3 += 1
K[i_3,j_3]= k_peg[i_3]+k_peg[i_3 - 1]
print("Matriks kekakuan global sisem pegas adalah : ")
print("")
print (K)
- menentukan gaya yang bekerja
gaya = eval(input("berapa gaya yang bekerja ? "))
A = K[1:y , 1:y]
n = len(A)
B = np.zeros(n,float)
B[n-1] = gaya
- eliminasi gauss
for k in range (0,n-1):
for i in range (k+1,n): if A[i,k] != 0.0 : lam = A[i,k]/A[k,k] A[i, k:n] = A[i, k:n] - lam*A[k, k:n] B[i]=B[i] - lam*B[k]
print("Matriks A : ")
print("")
print(A)
- back substitution
U = np.zeros(n,float)
for m in range (n-1,-1,-1):
U[m]=(B[m]-np.dot(A[m,m+1:n], U[m+1:n]))/A[m,m]
print("Nilai U", m+2," =",U[m])
- reaction force
f1 = k_peg[0] * U[0]
print("Maka nilai F1 adalah : ", f1)