Difference between revisions of "Fauzan Zuhdi"

From ccitonlinewiki
Jump to: navigation, search
 
(7 intermediate revisions by the same user not shown)
Line 48: Line 48:
  
 
array([0.30434783, 1.86956522])
 
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)
 +
 +
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

  1. 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

  1. 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

  1. 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

  1. 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
  1. 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. 1. Menentukan jumlah pegas

N= eval(input('berapa jumlah pegas pada sistem ini?'))

  1. nilai dari node

ni=N+1

  1. nilai K

K= np.zeros((ni,ni),float)

  1. nilai K sama dengan jumlah node nya
  1. 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())
  1. 3.Membuat matriks global kekauannya

K[0,0]=n_k[0] K[N,N]=n_k[N-1]

  1. 4.Membuat Pola Matriks
  1. Pola 1

j_1=0 for i_1 in range (0,N):

   j_1+=1
   K[i_1,j_1]=-(n_k[i_1])
  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])
  1. 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)

  1. 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


  1. 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)

  1. 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])
  1. Determine the reaction force

F=-n_k[0]*U[0] print ('maka nilai gaya reaksinya adalah',F)

Tugas https://youtu.be/qg0VlSOuNe8