Difference between revisions of "Farghani Fariz"
(9 intermediate revisions by the same user not shown) | |||
Line 57: | Line 57: | ||
[[File:Capture 1.PNG]] | [[File:Capture 1.PNG]] | ||
[[File:Capture 2.PNG]] | [[File:Capture 2.PNG]] | ||
+ | |||
+ | |||
+ | == Pertemuan ke 4 == | ||
+ | |||
+ | pertemuan hari rabu 28 februari 2019 membahas tentang cara mengerjakan persamaan aljabar linear dengan matriks : | ||
+ | |||
+ | import numpy as np ( import disini artinya kita memerintah python mengambil semua library pada numpy dan numpy as np itu artinya kita membuat numpy sebagai np, jadi ketika kita ingin memanggil perintah dari library numpy kita hanya perlu ketik np) | ||
+ | |||
+ | define the matriks A ( semua hal yang diawalin dengan tanda # merupakan penanda untuk kita pribadi bukan perintah jadi tidak akan dibaca oleh pyhton ) | ||
+ | A = np. array ([[4,-2,1],[-2,4,-2],[1,-2-4]],float) pertama np. array artinya pyhton disuruh melakukan perintah array yang akan diambil dari library np (numpy) array merupakan perintah untuk membuat angka didalamnya menjadi bentuk matriks float untuk membuat angkanya dalam matriks merupakan bilangan desimal | ||
+ | |||
+ | print (A) | ||
+ | |||
+ | perintah untuk menunjukkan atau menampilkan hasil perkerjaan pada matriks A | ||
+ | |||
+ | define the matriks B | ||
+ | B = np.array ([11,-16,17],float) sama seperti perintah diatas | ||
+ | |||
+ | print (B) = sama seperti print a | ||
+ | |||
+ | n= leb (B) (leb merupakan perintah untuk menghitung panjang matriks B) disini hasilnya adalah 3 | ||
+ | |||
+ | print ('ukuran matriksnya adalah=', n) pada perintah print ini kita menyeruh pyhton untuk menampilkan kata dalam tanda dalam petik. , n artinya setelah hasil tulisan dalam tanda matriks keluar maka ada huruf n (n ini mengacu pada leb (B)) | ||
+ | |||
+ | x = np.zeros ((3),float) zeros merupakan perintah untuk membuat matriks menjadi diisi angka 0 | ||
+ | |||
+ | for k in range (0,n-1): for untuk perintah loop atau pengulangan jadi maksudnya pyhton akan terus mengulang perintah untuk nilai dari 0 sampai n-1, sementara tanda : merupakan penanda bahwa masih ada perintah selanjutnya | ||
+ | |||
+ | for i in range (k+1,n) : | ||
+ | perintah yang lebih masuk kedalam artinya perintah for i in range masuk kedalam perintah diatasnya jadi setelah melakukan perintah for k lalu hasilnya akan dicek di for i | ||
+ | |||
+ | |||
+ | if [i,k] ! = 0.0 : | ||
+ | lam = A [i,k]/A[k,k] | ||
+ | A[i, k=1:n] = A[i, k+1]-lam*A[k,k+1:n] | ||
+ | B[i]=b[i]-lam*b[k} | ||
+ | ini merupakan untuk eksekusi baris kedua menjadi 0 | ||
+ | |||
+ | for k in range (n-1,-1,-10 : | ||
+ | |||
+ | x[k]=(b[K]-np.dot(A[k,k+1:n], x[k+1:n]))/A[k,k] | ||
+ | perintah untuk eksekusi baris ketiga | ||
+ | |||
+ | print ("nilai x",str (k) '=" , x[k]) | ||
+ | |||
+ | |||
+ | == contoh aplikasinya : == | ||
+ | |||
+ | |||
+ | https://youtu.be/ExyYhocMEV8 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == Pertemuan ke 5 == | ||
+ | |||
+ | membuat persamaan sistem matriks yang bisa kita input sendiri baik jumlah dan ukurannya dengan menggunakan sistem python | ||
+ | |||
+ | import numpy as np | ||
+ | |||
+ | #mengambil library numpy sebagai np | ||
+ | |||
+ | n=eval (input ('berapa ukuran matrixnya? (hanya bisa ukuran ideal ex: 2x2, 3x3,4x4, etc input 1 angka=')) | ||
+ | |||
+ | |||
+ | a=np.zeros((n,n), float) | ||
+ | print (a) | ||
+ | for i in range (0,n): | ||
+ | for j in range (0,n): | ||
+ | print ('masukan elemen matrix baris ke', i+1, 'kolom ke', j+1) | ||
+ | a[i,j]=eval(input('masukan:')) | ||
+ | |||
+ | print (a) | ||
+ | print (a[1]) | ||
+ | |||
+ | b=np.zeros((n,1), float) | ||
+ | print (b) | ||
+ | |||
+ | |||
+ | for i in range (0,n): | ||
+ | for j in range (0,1): | ||
+ | print ('masukan elemen matrix baris ke', i+1, 'kolom ke', j+1) | ||
+ | b[i,j]= eval(input('masukan:')) | ||
+ | |||
+ | print (b) | ||
+ | |||
+ | |||
+ | |||
+ | n=len(a) | ||
+ | print ('n adalah ' + str(n)) | ||
+ | x=np.zeros(n) | ||
+ | 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]-(b[k]*lam) | ||
+ | |||
+ | |||
+ | 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] | ||
+ | print (x[k]) | ||
+ | |||
+ | tugas pertemuan 5 | ||
+ | |||
+ | aplikasi FEM pegas dengan menggunkan python | ||
+ | |||
+ | contoh soal : | ||
+ | |||
+ | diketahui sebuah sistem pegas yang dipasang secara seri sebanyak 4 buah pegas dengan konstata masing masing pegas : k1 =100 N/m, k2=200 N/m, k3=300 N/m, k4 = 400 N/m . bila ujung pegas tersebut ditarik dengan gaya 2000n tentukan pertambahan panjang pegas dan gaya reaksinya? | ||
+ | |||
+ | proses pengerjaan dengan koding python | ||
+ | |||
+ | [[File:Fem 1.PNG]] | ||
+ | |||
+ | [[File:Fem 2.PNG]] | ||
+ | |||
+ | [[File:Fem 3.PNG]] | ||
+ | |||
+ | setelah di run | ||
+ | |||
+ | [[File:Fem 4.PNG]] | ||
+ | |||
+ | Tugas pegas fix | ||
+ | https://youtu.be/wZdn9b-uyYY | ||
+ | |||
+ | |||
+ | == Uas metode numerik == | ||
+ | |||
+ | Optimasi adalah suatu proses untuk mencapai hasil yang ideal atau optimasi (nilai efektif yang dapat dicapai). Optimasi dapat diartikan sebagai suatu bentuk mengoptimalkan sesuatu hal yang sudah ada, ataupun merancang dan membuat sesusatu secara optimal. | ||
+ | |||
+ | jenis optimasi yang dipakai adalah Golden Section Search. | ||
+ | |||
+ | Algoritma GSS (Golden Section Search) adalah salah satu algoritma optimasi yang dapat digunakan untuk pengambilan keputusan. Contoh yang dibahas kali ini adalah mengenai pencarian posisi dengan pengembalian nilai fungsi minimal. | ||
+ | Algoritma pencarian ini menggunakan teori Golden Ratio, dimana 2 buah garis / bidang (misalkan a dan b) dikatakan sebagai Golden Ratio apabila rasio ((a + b) / a) sama dengan (a / b). Teori ini akan digunakan dalam algoritma ini, dimana dalam setiap perulangan, akan selalu dicari titik-titik baru yang selalu memenuhi teori Golden Ratio sambil mencari nilai yang paling minimal. | ||
+ | |||
+ | video :https://youtu.be/Wu1hYrrYFuI | ||
+ | |||
+ | file coding : https://drive.google.com/file/d/1HlT9ihMIcoki0xQJukLo23JwmkVevYsC/view?usp=sharing | ||
+ | |||
+ | PPT : https://drive.google.com/file/d/12S4bpVvr3TojJ7cHN1cL_F3x8Nfjuyw9/view?usp=sharing |
Latest revision as of 17:01, 29 May 2019
Contents
Rangkuman metode numerik 1
Pada rabu 6-februari-2019 merupakan hari pertama mata pelajaran metode numerik. Dosen yang mengajar Dr. Ahmad Indra atau biasa dipanggil pak DAI atau AKI DAI. Saat pertama kali masuk ada pernyataan yang sempat membuat saya bingung yaitu pak DAI bilang “ berdasarkan evalusi tahun-tahun sebelumnya, maka saya tidak ingin menjadi dosen yang disukai mahasiswa “ lalu setelah itu barulah pak DAI menjelaskan maksud pertanyaan itu. Menurut pak DAI dosen yang disukai mahasiswa ialah dosen yang memberi pelajaran yang mudah lalu memberikan nilai yang bagus. Karena itulah dosen tersebut disukai mahasiswa. Tapi pak DAI tidak ingin menjadi dosen seperti itu. Dipelajaran metode numerik ini pak DAI lebih ingin mahasiswanya mendapatkan value bukan hanya sekedar nilai. Maksudnya setelah mengambil metode numerik ini mahasiswanya mendapatkan value-value positif seperti dari yang malas belajar menjadi rajin belajar, dari yang tidak tau cara belajar yang sesuai dengan dia jadi tau cara belajar yang tepat untuknya, dan lain-lain. Selanjutnya pak DAI membahas tentang AKAL. Pertanyaan yang cukup menarik ialah apa bukti kalo kalian berakal? Menurut pak DAI syarat untuk mengambil metode numerik itu bukan telah lulus kalkulus tapi harus berakal. Lalu pak DAI memberikan pertanyaan A = X^2-1 / X-1 jika X=1 maka nilai A adalah ? ketika para mahasiswa ingin menjawab pak DAI bilang jangan kalian jawab dulu tapi kalian pikirkan. Setelah beberapa menit pak DAI menunjukan salah satu mahasiswa untuk menjawab pertanyaan itu mahasiswa pertama menjawab 2 dengan menggunakan cara turunan, lalu mahasiswa selanjutnya yang ditanya menjawab 2 juga tapi dengan cara pemfaktoran, dan yang terakhir mahasiswa ketiga menjawab 2 dengan cara limit. Tetapi ketika mereka ditanya kenapa kalian menggunakan cara tersebut hanya yang menggunakan cara limitlah yang memberi alasan cukup jelas. Dari sini saya mulai tersadarkan bahwa banyak mahasiswa yang hanya nilai oriented, jadi apa yang diajarkan oleh dosennya ditelan bulat-bulat tanpa ada pertanyaan sedikitpun. Dari sini juga saya belajar seharusnya sebagai mahasiswa kita harus lebih berpikir kritis tidak hanya terima jadi atau tidak mau ambil pusing. Terakhir membahas tentang pelajaran metode numerik itu sendiri. Tujuan belajar metode numerik yang dibuat oleh pak DAI ada 2 : 1. Memahami konsep atau prinsip dan mampu menerapkannya. ( jadi mahasiswa jangan hanya terima semua apa yang diajarkan dosen bisa saja dosen itu salah, paham disini berarti apa yang diajarkan dimetode numerik bisa diterapkan dalam kehidupan sehari-hari) 2. Menjadi orang yang lebih mengenal siapa dirinya. ( hal ini sudah dibahas diatas seperti dari yang tidak tau cara belajar untuknya jadi tau cara belajar yang baik dan efektif untuknya)
Lalu pokok bahasan metode numerik ada 5 : 1. – Alqoritma - Flowchart terdefinisi - Pemrograman => EES, C+ - Metode iterative 2. Penyelesaian persamaan aljabar simultan 3. Diffrensial & Integral 4. Optimasi 5. Studi Kasus
Tugas 2
Membuat model persamaan menggunakan bahasa pyton
model persamaan yang ingin di tulis : "Ax+By=C" dan "Px+Qy=R"
penulisan bahasa Pyton :
import numpy as np A = np.array([a,b,c]) B = np.array([p,q,r]) A+B print A-B
Pertemuan ke-3
LOGIKA PEMPROGRAMAN BAHASA PYTHON
Inti dari pertemuan hari ini adalah bahwa ketika ingin menyelesaikan permasalahan matematika dengan menggunakan bahasa pemprograman, kita harus paham terlebih dahulu cara penyelesaian permasalahan matematika tersebut. karena bahasa programan (python) hanya mempermudah kita dalam penyelesaikan persoalan matematika. logika pengerjaan harus dari kit.
bahasa phyton pada intinya hanya bisa mengerjakan soal tambah, kurang, bagi, dan kali. jadi kita menggunakan logika pengerjaan aljabar linear dengan menggunakan cara pengerjaan eliminasi gauss-jordan atau eliminasi matriks.
contoh pada buku Numerical methods in engineering with python BAB 1. contoh bahasa :
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] (lam=lamda, dan a[i,k]=U1] a[i,k+l:n] = a[i,k+1:n] - lam*a[k,k+1:n] b[i] = b[i] - lam*b[k]
tugas 3 latihan matriks
Pertemuan ke 4
pertemuan hari rabu 28 februari 2019 membahas tentang cara mengerjakan persamaan aljabar linear dengan matriks :
import numpy as np ( import disini artinya kita memerintah python mengambil semua library pada numpy dan numpy as np itu artinya kita membuat numpy sebagai np, jadi ketika kita ingin memanggil perintah dari library numpy kita hanya perlu ketik np)
define the matriks A ( semua hal yang diawalin dengan tanda # merupakan penanda untuk kita pribadi bukan perintah jadi tidak akan dibaca oleh pyhton ) A = np. array ([[4,-2,1],[-2,4,-2],[1,-2-4]],float) pertama np. array artinya pyhton disuruh melakukan perintah array yang akan diambil dari library np (numpy) array merupakan perintah untuk membuat angka didalamnya menjadi bentuk matriks float untuk membuat angkanya dalam matriks merupakan bilangan desimal
print (A)
perintah untuk menunjukkan atau menampilkan hasil perkerjaan pada matriks A
define the matriks B B = np.array ([11,-16,17],float) sama seperti perintah diatas
print (B) = sama seperti print a
n= leb (B) (leb merupakan perintah untuk menghitung panjang matriks B) disini hasilnya adalah 3
print ('ukuran matriksnya adalah=', n) pada perintah print ini kita menyeruh pyhton untuk menampilkan kata dalam tanda dalam petik. , n artinya setelah hasil tulisan dalam tanda matriks keluar maka ada huruf n (n ini mengacu pada leb (B))
x = np.zeros ((3),float) zeros merupakan perintah untuk membuat matriks menjadi diisi angka 0
for k in range (0,n-1): for untuk perintah loop atau pengulangan jadi maksudnya pyhton akan terus mengulang perintah untuk nilai dari 0 sampai n-1, sementara tanda : merupakan penanda bahwa masih ada perintah selanjutnya
for i in range (k+1,n) :
perintah yang lebih masuk kedalam artinya perintah for i in range masuk kedalam perintah diatasnya jadi setelah melakukan perintah for k lalu hasilnya akan dicek di for i
if [i,k] ! = 0.0 : lam = A [i,k]/A[k,k] A[i, k=1:n] = A[i, k+1]-lam*A[k,k+1:n] B[i]=b[i]-lam*b[k}
ini merupakan untuk eksekusi baris kedua menjadi 0
for k in range (n-1,-1,-10 :
x[k]=(b[K]-np.dot(A[k,k+1:n], x[k+1:n]))/A[k,k]
perintah untuk eksekusi baris ketiga
print ("nilai x",str (k) '=" , x[k])
contoh aplikasinya :
Pertemuan ke 5
membuat persamaan sistem matriks yang bisa kita input sendiri baik jumlah dan ukurannya dengan menggunakan sistem python
import numpy as np
- mengambil library numpy sebagai np
n=eval (input ('berapa ukuran matrixnya? (hanya bisa ukuran ideal ex: 2x2, 3x3,4x4, etc input 1 angka='))
a=np.zeros((n,n), float)
print (a)
for i in range (0,n):
for j in range (0,n): print ('masukan elemen matrix baris ke', i+1, 'kolom ke', j+1) a[i,j]=eval(input('masukan:'))
print (a) print (a[1])
b=np.zeros((n,1), float) print (b)
for i in range (0,n):
for j in range (0,1): print ('masukan elemen matrix baris ke', i+1, 'kolom ke', j+1) b[i,j]= eval(input('masukan:'))
print (b)
n=len(a) print ('n adalah ' + str(n)) x=np.zeros(n) 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]-(b[k]*lam)
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] print (x[k])
tugas pertemuan 5
aplikasi FEM pegas dengan menggunkan python
contoh soal :
diketahui sebuah sistem pegas yang dipasang secara seri sebanyak 4 buah pegas dengan konstata masing masing pegas : k1 =100 N/m, k2=200 N/m, k3=300 N/m, k4 = 400 N/m . bila ujung pegas tersebut ditarik dengan gaya 2000n tentukan pertambahan panjang pegas dan gaya reaksinya?
proses pengerjaan dengan koding python
setelah di run
Tugas pegas fix https://youtu.be/wZdn9b-uyYY
Uas metode numerik
Optimasi adalah suatu proses untuk mencapai hasil yang ideal atau optimasi (nilai efektif yang dapat dicapai). Optimasi dapat diartikan sebagai suatu bentuk mengoptimalkan sesuatu hal yang sudah ada, ataupun merancang dan membuat sesusatu secara optimal.
jenis optimasi yang dipakai adalah Golden Section Search.
Algoritma GSS (Golden Section Search) adalah salah satu algoritma optimasi yang dapat digunakan untuk pengambilan keputusan. Contoh yang dibahas kali ini adalah mengenai pencarian posisi dengan pengembalian nilai fungsi minimal. Algoritma pencarian ini menggunakan teori Golden Ratio, dimana 2 buah garis / bidang (misalkan a dan b) dikatakan sebagai Golden Ratio apabila rasio ((a + b) / a) sama dengan (a / b). Teori ini akan digunakan dalam algoritma ini, dimana dalam setiap perulangan, akan selalu dicari titik-titik baru yang selalu memenuhi teori Golden Ratio sambil mencari nilai yang paling minimal.
video :https://youtu.be/Wu1hYrrYFuI
file coding : https://drive.google.com/file/d/1HlT9ihMIcoki0xQJukLo23JwmkVevYsC/view?usp=sharing
PPT : https://drive.google.com/file/d/12S4bpVvr3TojJ7cHN1cL_F3x8Nfjuyw9/view?usp=sharing