Difference between revisions of "Fauzan Zuhdi"
Fauzan.zuhdi (talk | contribs) |
Fauzan.zuhdi (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 107: | Line 107: | ||
tugaas | tugaas | ||
aplikasi metnum pada struktur sederhana dengan menggunakan python | aplikasi metnum pada struktur sederhana dengan menggunakan python | ||
+ | |||
+ | '''week06''' | ||
+ | |||
+ | tugas aplikasi pegas pada python | ||
+ | |||
+ | |||
+ | import numpy as np | ||
+ | from numpy import array | ||
+ | |||
+ | #1. Menentukan jumlah pegas | ||
+ | N= eval(input('berapa jumlah pegas pada sistem ini?')) | ||
+ | |||
+ | #nilai dari node | ||
+ | ni=N+1 | ||
+ | #nilai K | ||
+ | K= np.zeros((ni,ni),float) | ||
+ | #nilai K sama dengan jumlah node nya | ||
+ | |||
+ | #2. Mendefinisikan konstanta pegas | ||
+ | n_k=np.zeros(N) | ||
+ | |||
+ | for i in range (0,N): | ||
+ | print('berapakah nilai konstanta pegas yang ke-',i+1,' ?') | ||
+ | n_k[i]= eval(input()) | ||
+ | |||
+ | #3.Membuat matriks global kekauannya | ||
+ | K[0,0]=n_k[0] | ||
+ | K[N,N]=n_k[N-1] | ||
+ | |||
+ | #4.Membuat Pola Matriks | ||
+ | |||
+ | #Pola 1 | ||
+ | j_1=0 | ||
+ | for i_1 in range (0,N): | ||
+ | j_1+=1 | ||
+ | K[i_1,j_1]=-(n_k[i_1]) | ||
+ | #Pola 2 | ||
+ | i_2=0 | ||
+ | for j_2 in range (0,N): | ||
+ | i_2+=1 | ||
+ | K[i_2,j_2]=-(n_k[j_2]) | ||
+ | #Pola 3 | ||
+ | j_3=0 | ||
+ | for i_3 in range (1,N): | ||
+ | j_3+=1 | ||
+ | K[i_3,j_3]=n_k[i_3]+n_k[i_3-1] | ||
+ | print('matriks kekakuan global sistem pegas adalah:','\n',K) | ||
+ | |||
+ | #5. Menentukan gaya yang berkerja | ||
+ | Fn= eval(input('berapakah gaya yang berkerja?')) | ||
+ | |||
+ | A=K[1:ni,1:ni] | ||
+ | |||
+ | |||
+ | n=len(A) #number of rows and colomn, due too the matrix that is square matrix | ||
+ | |||
+ | B=np.zeros(n, float) | ||
+ | B[n-1]=Fn | ||
+ | |||
+ | |||
+ | #elminasi gauss | ||
+ | for k in range (0,n-1): | ||
+ | for i in range (k+1,n): | ||
+ | if A[i,k] != 0.0 : #perintah jika sebuah baris yang akan di eliminasi, ada bagiannya yang tidak 0 maka akan di substract dengan pivot | ||
+ | lam = A[i,k]/A[k,k] | ||
+ | A[i, k+1:n] = A[i, k+1:n] - lam*A[k, k+1:n] | ||
+ | B[i]=B[i] - lam*B[k] | ||
+ | print('matrix A:','\n',A) | ||
+ | #back subt | ||
+ | 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]) | ||
+ | |||
+ | # Determine the reaction force | ||
+ | F=-n_k[0]*U[0] | ||
+ | print ('maka nilai gaya reaksinya adalah',F) | ||
+ | |||
+ | Tugas | ||
+ | https://youtu.be/qg0VlSOuNe8 |
Latest revision as of 08:13, 20 March 2019
week01
Tujuan Perkuliahan Metode Numerikal • Memahami konsep atau prinsip dan aplikasi mata kuliah ini • Menjadi orang yang lebih mengenal siapa dirinya
Prasyarat perkuliahan -> berakal, memiliki makna menarik yang dapat dijelaskan dalam persamaan X’2 – 1 / X – 1, X = 1. Dalam soal ini, kebanyakan orang akan menjawab dengan langsung menggunakan cara turunan atau membagi persamaan diatas dan mendapatkan hasil satu. Sedikit yang memahami arti dari angka satu tersebut. Dalam pelajaran kalkulus pun telah diajarkan bahwa angka satu muncul akibat asumsi pendekatan angka karena pada dasarnya angka satu sangat sulit ditemukan bahkan oleh orang yang paham betul bidang ini. Aki Dai menjelaskan bahwa hal ini adalah tanda dari Tuhan bahwa tidak semua hal dapat manusia peroleh. Menusia memiliki keterbatasan daya pikir dan sepatutnya taat kepada Tuhan yang memahami Alam Semesta. Pemahaman manusia akan hal ini menjadi parameter manusia yang menunjukkan bahwa dirinya berakal. Dengan berakal manusia akan paham Batasan-batasan mereka, akan tertuntun kepada matematika yang mencerdaskan bukan menyesatkan. Berakal menghentikan kita dari ego pribadi kepada kayakinan yang bertambah terhadap adanya Tuhan pencipta alam semesta.
Pembahasan kuliah
1. Algoritma, pemrograman, flowchart, metode iterative
2. Penyelesaian persamaan-persamaan aljabar simultan
3. Diferensial integral
4. Optimasi
5. Studi kasus
Ujian Pada ujian MetNum, sesuai dengan tujuan pembelajaran mata kuliah ini, selain uji pengetahuan, kompetensi, dan skil atau keahlian kita dalam mata kuliah ini akan ada bagian muhasabah diri kita terhadap apa yang telah kita pelajari.
week02
persamaan
5x+4y=9 3x+7y=14 tentukan x dan y
gunakan cmd
pip install numpy
python
>>import numpy
>>kiri = numpy.array([[5,4],[3,7]])
>>kanan = numpy.array([9,14])
>>hasil = numpy.linalg.solve(persamaan,hasil)
>>hasil
array([0.30434783, 1.86956522])
week03
Aplikasi python cthnyaa menyelesaikan persamaan pada mata kuliah aljabar linear agar bisa menggunakan python, kita harus paham secara fisik tujuan dan bahasa python sendiri menggunakan python untuk memempermudah perhitungan namun python hanya mengerti bentuk +,-,*,: kunci dari pengerjaan python terletak pada pola matriks mengulang matkul alin dasar(gauss jordan equation)
tugas book page 40 pake code doi, bikin matriks lain 3x3, kasih penjelasan
22:45, 26 February 2019 (WIB)~
import numpy as np #tulisan numpy jadi np from numpy import array #array dari numpy
- define the matrix [A]
A=array([[4, -2, 1], [-2, 4, -2], [1, -2, 4]], float) #tipe data float yaitu tipe data untuk angka dengan koma #integer angka tidak dengan koma #str kalimat atau kata
- define matrix b
b = array ([[11], [-16], [ 17]], float) #matrix nya menjadi c=array([[4, -2, 1, 11], [-2, 4, -2, -16], [1, -2, 4, 17]], float)
print ('Matrix dari persamaan adalah : ') print (c)#penulisan matriks judul dan matriks tersebut
- define rows column
n=len(b) #panjang dari b #number of rows and colomn, due too the matrix that is square matrix print ('n adalah ' + str(n)) #fungsi str x=np.zeros((3), float) #penulisan x = 3.0
- eliminasi
for k in range (0,n-1): #untuk K dalam jangkauan 0 sampai n-1 karena pada matriks nilai K11 sama dengan 0, K22 sama dengan 1 dst
for i in range (k+1,n): #untuk i dalam jangkauan K+1 sampai n, karena nilai i normal sesuai matriks dan ditulis berkebalikan dengan k if A[i,k] != 0.0 :#perintah jika sebuah baris yang akan di eliminasi, ada bagiannya yang tidak 0 maka akan di eliminasi dengan acuan pivot lam = A[i,k]/A[k,k] #lamda merupakan hasil antara pembagian tersebut A[i, k+1:n] = A[i, k+1:n] - lam*A[k, k+1:n] #matriks elemen yg dicari merupakan matriks tersebut -lamda kali elemen matriks bawahnya b[i]=b[i] - lam*b[k] #pada matriks b juga berlaku hal tersebut
- substitusi
for k in range (n-1,-1,-1):
x[k]=(b[k]-np.dot(A[k,k+1:n], x[k+1:n]))/A[k,k] # x=B/A, dicari nilai x untuk tiap kolom print (x[k]) #print x sama dengan nilai dari kudua proses eliminasi dan substitusi diatas
week 04
dijelaskan terkait eliminasi pada python diberikan tugas membuat video aplikasi penggunaan python pada bisnis kos-kosan
week 05
tugaas aplikasi metnum pada struktur sederhana dengan menggunakan python
week06
tugas aplikasi pegas pada python
import numpy as np
from numpy import array
- 1. Menentukan jumlah pegas
N= eval(input('berapa jumlah pegas pada sistem ini?'))
- nilai dari node
ni=N+1
- nilai K
K= np.zeros((ni,ni),float)
- nilai K sama dengan jumlah node nya
- 2. Mendefinisikan konstanta pegas
n_k=np.zeros(N)
for i in range (0,N):
print('berapakah nilai konstanta pegas yang ke-',i+1,' ?') n_k[i]= eval(input())
- 3.Membuat matriks global kekauannya
K[0,0]=n_k[0] K[N,N]=n_k[N-1]
- 4.Membuat Pola Matriks
- Pola 1
j_1=0 for i_1 in range (0,N):
j_1+=1 K[i_1,j_1]=-(n_k[i_1])
- Pola 2
i_2=0 for j_2 in range (0,N):
i_2+=1 K[i_2,j_2]=-(n_k[j_2])
- Pola 3
j_3=0 for i_3 in range (1,N):
j_3+=1 K[i_3,j_3]=n_k[i_3]+n_k[i_3-1]
print('matriks kekakuan global sistem pegas adalah:','\n',K)
- 5. Menentukan gaya yang berkerja
Fn= eval(input('berapakah gaya yang berkerja?'))
A=K[1:ni,1:ni]
n=len(A) #number of rows and colomn, due too the matrix that is square matrix
B=np.zeros(n, float) B[n-1]=Fn
- elminasi gauss
for k in range (0,n-1):
for i in range (k+1,n): if A[i,k] != 0.0 : #perintah jika sebuah baris yang akan di eliminasi, ada bagiannya yang tidak 0 maka akan di substract dengan pivot lam = A[i,k]/A[k,k] A[i, k+1:n] = A[i, k+1:n] - lam*A[k, k+1:n] B[i]=B[i] - lam*B[k]
print('matrix A:','\n',A)
- back subt
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])
- Determine the reaction force
F=-n_k[0]*U[0] print ('maka nilai gaya reaksinya adalah',F)