Djordan Ranadi Putra
Pertemuan 1
Tujuan Perkuliahan Metode Numerik 1. Memahami konsep/prinsip dan menerapkannya 2. Menjadi orang yang lebih mengenal siapa dirinya
Metode Numerik 1. Mempelajari tentang Algoritma, Flowchart, Pemrograman, dan Metode iterative 2. Penyelesaian persamaan-persamaan dan Aljabar Simultan 3. Differensial dan Integral 4. Optimasi 5. Studi Kasus
Pada pertemuan pertama membahas terkait definisi/pengertian dari metode numerik. Dalam kelas metode numerik kedepannya kita akan mempelajari perhitungan yang akan dibantu dengan alat komputer. Sebelum menghitung dengan komputer kita harus membuat perhitungan-perhitungan yang akan dimasukkan ke dalam komputer menjadi sederhana supaya kita bisa mendapatkan hasil yang tepat. Dan saat pertemuan pertama terdapat contoh soal dan juga pembahasan terkait AKAL.
Pertemuan 2
Masalah teknik yang mungkin bisa dipecahkan dengan metode numerik, yaitu masalah pemasangan komponen-komponen pada kapal seperti mesin
Teknik : diselesaikan dengan cara teoritis, percobaan, dan komputasi Metode Numerik, menyelesaikan masalah dengan cara komputasi Setelah mendapatkan masalah harus dicari model matematika dan hukum-hukum yang sesuai dengan masalah tersebut Langkah-langkah perhitungan untuk menyelesaikan masalah disebut algoritma untuk menyelesaikan algoritma tersebut membutuhkan sebuah program Komputer hanya mengerti bilangan biner setiap perhitungan disebut simulasi bisa juga dikatakan menjalankan program harus diinterpretasikan supaya mendapatkan solusi untuk melakukan simulasi harus dilakukan pengulangan
print (“Tugas Metnum \n ax + by = c\n px + qy = r”) a = float(input("nilai a =")) b = float(input("nilai b =")) c = float(input(“nilai c =")) p = float(input("nilai p =")) q = float(input("nilai q =")) r = float(input("nilai r ="))
if a == p:
i = b - q j = c - r y = j/i x = (c -(b*y))/a print("nilai y=",y,"nilai x =",x)
elif a == 0:
y = c / b x = (r - (q * y)) / p print("nilai y=", y, "nilai x =", x)
elif b == 0:
x = c / a y = (r - (p * x)) / q print("nilai y=", y, "nilai x =", x)
elif p == 0:
y = r / q x = (c - (a * y)) / b print("nilai y=", y, "nilai x =", x)
elif q == 0:
x = r / p y = (c - (a * x)) / b print("nilai y=", y, "nilai x =", x)
elif a != p :
a2= a*p b2=b*p c2=c*p p2=p*a q2=q*a r2=r*a i2 = b2 - q2 j2 = c2 - r2 y = j2 / i2 x = (c - (b * y))/a print("nilai y=", y, "nilai x =", x)
input()
Pertemuan 3
20 Februari 2019
Pada pertemuan kali ini membahas aplikasi python. Selama ini kita menyelesaikan aljabar linier contohnya pada matriks kita menyelesaikan dengan manual atau cara kita sendiri.Tetapi kita bisa menggunakan pyhton untuk menyelesaikannya. Tetapi kita harus paham juga cara matematisnya.
Dalam phyton juga terdapat fungsi looping. Yang berfungsi untuk menejalankan program yang ada di dalam sistemnya. Beberapa bahasa python dijelaskan, antara lain :
n=jumlah baris/kolom i=baris ke.. j=kolom ke.. k= pivot (patokan baris).
Tugas memahami kode dan jelaskan pengertiannya.
Tugas METODE NUMERIK ELIMINATION GAUSS
Ini adalah metode lain dalam penyelesaian pertidaksamaan linear. Berikut adalah hasil coding untuk penyelesaian menggunakan elimination gauss:
line 1 :import numpy as np line 2 :from numpy import array line 3 : # define the matrix [A] line 4 : A=array([[5, -4, 5], [-3, 3, -5], [6, -7, 1]], float) line 5 : # define matrix b line 6 : b = array ([[9], [-1], [ 13]], float) line 7 : #matrix nya menjadi line 8 : c=array([[5, -4, 5, 9], [-3, 3, -5, -1], [6, -7, 1, 13]], float) line 9 : print ('Matrix dari persamaan adalah : ') line 10 : print (c) line 11 : #define rows column line 12 : n=len(b) #number of rows and colomn, due too the matrix that is square matrix line 13 : print ('n adalah ' + str(n)) line 14 : x=np.zeros((3), float) line 15 : for k in range (0,n-1): line 16 : for i in range (k+1,n): line 17 : 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 line 18 : lam = A[i,k]/A[k,k] line 19 : A[i, k+1:n] = A[i, k+1:n] - lam*A[k, k+1:n] line 20 : b[i]=b[i] - lam*b[k] line 21 : for k in range (n-1,-1,-1): line 22 : x[k]=(b[k]-np.dot(A[k,k+1:n], x[k+1:n]))/A[k,k] line 23 : print (x[k])
Hasil Modul:
Metode elimination Gauss. Maksud dari setiap line • Line 1 dan 2 perintah untuk menerapkan numpy dalam coding ini agar mempermudah berbagai bentuk matematik digunakan dalam coding ini. Array berguna untuk membuat data yang dinginkan dituliskan dalam format matrix. Semua kalimat yang diawali dengan tanda # hanya merupakan angka yang tidak ada hubungan dengan coding secara keseluruhan. • Line 4 dan 10 memunculkan matrix. Matrix yang muncul hanya lah matrix c dari line 8 karena perintah print hanya ditujukan pada c, sedangkan nilai c tidak dipengaruhi oleh a maupun b. • Line 11 perintah menuliskan apa yang ada di dalamnya. • Line 12 mengetahui jumlah data dari b. Dalam kasus ini, nilai tersebut adalah 3 karena b memiliki 3 jenis data yang berbeda. Float dalam b tidak termasuk jenis data lain karena itu berguna untuk mendefinisikan nilai angka di dalamnya memiliki nilai 0 tambahan di belakangnya. • Line 11 memunculkan kalimat dan string dari n. String adalah Bahasa lain dari kalimat di dalam python. • Line 14 zero matrix. Dengan nilai 3, berarti yang muncul adalah matrix 3 x 3. Ini digunakan untuk mendefinisikan bentuk matrix yang akan dibaca oleh perintah selanjutnya dalam line 15 sampai line 23. • Line 15 - line 23 proses eliminasi bagian dari baris yang harusnya 0. Karena kita memerlukan matrix segitiga atas untuk menyelesaikan dengan metode elimination gauss. For digunakan untuk menjalankan perintah hanya ketika argumen yang ada bersifat true. Proses yang berjalan adalah pengecekan setiap angka pada segitiga bawah dalam matrix tersebut agar nilainya menjadi 0. • Line 21 perintah for yang berarti hanya berjalan kalua argumennya bersifat true. Range disini memiliki 3 argumen. Argumen yang ketiga adalah interval dari setiap data yang ada dalam range tersebut. • Line 22 juga merupakan pembagian nilai di koordinat data yang diberikan, tetapi ada penggunaan np.dot disana. Perintah np.dot sama seperti dot product dalam aljabar linear. • Line 23 print (x[k]).
Selesai.