Difference between revisions of "Kanwaljot Kaur"
Line 137: | Line 137: | ||
from numpy import linalg | from numpy import linalg | ||
− | import numpy as np | + | import numpy as np |
− | b1 = [0,0,2,1,2] | + | b1 = [0,0,2,1,2] |
− | b2 = [0,1,0,2,-1] | + | b2 = [0,1,0,2,-1] |
− | b3 = [1,2,0,-2,1] | + | b3 = [1,2,0,-2,1] |
− | b4 = [0,0,0,-1,1] | + | b4 = [0,0,0,-1,1] |
− | b5 = [0,1,-1,1,-1] | + | b5 = [0,1,-1,1,-1] |
− | nmat = np.array ([b1,b2,b3,b4,b5]) | + | nmat = np.array ([b1,b2,b3,b4,b5]) |
− | print ("Matriks A adalah :") | + | print ("Matriks A adalah :") |
− | print (nmat) | + | print (nmat) |
− | cons = np.array ([1,1,-4,-2,-1]) | + | cons = np.array ([1,1,-4,-2,-1]) |
− | print ("Matriks b adalah :") | + | print ("Matriks b adalah :") |
− | print (cons) | + | print (cons) |
− | jawab = linalg.solve (nmat,cons) | + | jawab = linalg.solve (nmat,cons) |
− | x1val = int(jawab[0]) | + | x1val = int(jawab[0]) |
− | x2val = int(jawab[1]) | + | x2val = int(jawab[1]) |
− | x3val = int(jawab[2]) | + | x3val = int(jawab[2]) |
− | x4val = int(jawab[3]) | + | x4val = int(jawab[3]) |
− | x5val = int(jawab[4]) | + | x5val = int(jawab[4]) |
− | print ("Hasil X untuk matkris AX=b adalah :") | + | print ("Hasil X untuk matkris AX=b adalah :") |
− | print ("x1= ",x1val) | + | print ("x1= ",x1val) |
− | print ("x2= ",x2val) | + | print ("x2= ",x2val) |
− | print ("x3= ",x3val) | + | print ("x3= ",x3val) |
− | print ("x4= ",x4val) | + | print ("x4= ",x4val) |
− | print ("x5= ",x5val) | + | print ("x5= ",x5val) |
Problem set 7.1 no 6 hal 263 | Problem set 7.1 no 6 hal 263 | ||
Line 166: | Line 166: | ||
def dydx(x, y): | def dydx(x, y): | ||
return ((x**2 - 4*y)) | return ((x**2 - 4*y)) | ||
− | # Finds value of y for a given x using step size h | + | # Finds value of y for a given x using step size h |
− | # and initial value y0 at x0. | + | # and initial value y0 at x0. |
− | def rungeKutta(x0, y0, x, h): | + | def rungeKutta(x0, y0, x, h): |
# Count number of iterations using step size or | # Count number of iterations using step size or | ||
# step height h | # step height h | ||
Line 185: | Line 185: | ||
x0 = x0 + h | x0 = x0 + h | ||
return y | return y | ||
− | #misalkan : | + | #misalkan : |
− | x0 = 0 | + | x0 = 0 |
− | y = 1 | + | y = 1 |
− | x = 0.03 | + | x = 0.03 |
− | h = 0.01 | + | h = 0.01 |
− | print ('Nilai y untuk x tersebut adalah:', rungeKutta(x0, y, x, h)) | + | print ('Nilai y untuk x tersebut adalah:', rungeKutta(x0, y, x, h)) |
Revision as of 22:26, 16 October 2019
Nama: Kanwaljot Kaur
NPM : 1706036305
Mahasiswa Teknik Mesin 2017
Contents
Pertemuan Pertama
Hari, Tanggal : Rabu, 4 September 2019
Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika
Pada pertemuan pertama mata kuliah metode numerik, Pak Dr. Ahmad Indra, atau yang biasa disapa Pak Dai, memberikan pendahuluan yang intinya adalah setiap mata kuliah yang kita ambil jangan hanya asal lewat saja, tetapi kita harus menyerap 'ilmu-ilumnya'. Untuk contohnya, Pak Dai memberikan sebuah pertanyaan, yaitu 'Kenapa sebagai mahasiswa teknik mesin kita harus mempelajari kalkulus?' Kemudian setelah beberapa teman mencoba menjawab, akhirnya beliau memberikan alasan mengapa kita harus mempelajari kalkulus, yaitu kita dapat mengambil ilmunya seperti menurunkan rumus dan juga logika matematika yang nantinya dapat digunakan di mata kuliah mesin seperti matematika teknik, termodinamika, dan mata kuliah lainnya.
Metode Numerik adalah teknik yang digunakan untuk menyelesaikan persoalan matematika sehingga dapat diselesaikan dengan operasi perhitungan biasa, yaitu tambah, kurang, kali, dan bagi.
Pada metode numerik ini, bahasa pemograman yang digunakan adalah Python. Meskipun metode numerik digunakan sebagai penyelesai masalah atau solver, ide untuk menyelesaikan persoalannya tetap berasal dari manusia. Untuk menyelesaikan persoalan matematika itu dibutuhkan langkah-langkah yang merupakan instruksi yang dibutuhkan komputer. Maka, dibutuhkan bahasa penulisan dari yang kita (manusia) mengerti menjadi bahasa mesin yang disebut bahasa pemograman. Untuk mempermudah kita dalam membuat bahasa pemograman ini, digunakan flow chart, yang merupakan instruksi yang terdiri dari bagan dan simbol tertentu.
Pak Dr. Eng. Radon Dhelika, atau yang kerap disapa Pak Radon, menambahkan bahwa di industri 4.0 ini tingkat kebutuhan skill pemograman dibutuhkan. Maka kita harus fokus, menyerap, dan mendalami mata kuliah metode numerik ini.
Diakhir pertemuan pertama berakhir, diberikan tugas sebagai berikut: 1. Mempelajari Python masing-masing 2. Membuat penyelesaian untuk persoalan T(x)= (x^2-1)/(x-1) dalam bentuk algoritma / flowchart
Setelah saya membaca dan menyari dari berbagai sumber, saya menetukan algoritma dari persoalan yang diberikan dengan menggunakan sympy
from sympy import * x = symbols ('x') hasil = limit (((x ** 2) - 1 ) / (x - 1) , x, 1) print (hasil)
Hasil yang didapatkan adalah 2
Pertemuan Kedua
Hari, Tanggal : Rabu, 11 September 2019
Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika
Pada pertemuan kedua kelas metode numerik ini membicarakan banyak hal, salah satunya adalah Artificial Intelligence (AI). AI atau rekayasa kecerdasan ini berguna untuk membantu manusia dan memang dibuat menyerupai manusia. Namun, perbedaan dari manusai dengan robot yang menyerupai manusia adalah manusia memiliki hati, meskipun manusia memiliki keterbatasan yang tidak dimiliki robot.
Dengan mempelajari mata kuliah metode numerik ini, membuat kita berhubungan dengan komputer. Istilahnya komputer adalah 'partner' kita. Maka dari itu, kita harus mengenal 'partner' kita ini, mulai dari istilah-istilah yang ada. Salah satu istilah yang paling sering didengar adalah 32 bit dan 64 bit.
Perbedaan 32 bit dan 64 bit adalah sistem operasi 32 bit hanya dapat menggunakan RAM dengan kapasitas maksimal 4 GB, selain itu sistem operas 32 bit hanya mampu memproses data sebesar 64 nilai komputasi. Sedangkan sistem operasi 64 bit dapat membaca RAM dengan batas maksimal 192 GB dan dapat memproses data hingga 256 nilai komputasi dalam sekali pemrosesan. Seperti hal nya otak manusia yang dapat menyimpan data dalam binary digit, maka komputer dengan sistem operasi 64 bit memiliki kemampuan yang lebih akurat dan juga cepat.
Pada pertemuan kali ini, kita diminta untuk berlatih dalam penggunaan tuples dan juga lists di Python. Berikut hasil latihan saya:
tuples:
lists:
Pertemuan Ketiga
Hari, Tanggal : Rabu, 18 September 2019
Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika
Pada pertemuan ketiga mata kuliah metode numerik, tanggal 18 September 2019, diadakan kuis mengenai bahasa dasar pada python. Kuis yang diberikan aadalah deret Fibonaci. Berikut cara mendapatkan deret Fibonaci sesuai dengan n yang kita inginkan (n adalah suku ke-n pada deret Fibonaci):
Metode Loop While Condition
Metode Function
Pertemuan Keempat
Hari, Tanggal : Rabu, 25 September 2019
Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika
Topik pembahasan pada pertemuan keempat metode numerik ini adalah pemodelan komputer. Pak DAI mengatakan untuk mengerti sebuah konsep lebih baik, ada baiknya kita memahami apa isi konsep tersebut terlebih dahulu. Numerical computing atau pemodelan komputer ini terdiri dari modelling dan computation.
Kita harus menghitung karena kita ingin dan harus memastikan hal yang kita design harus berfungsi dengan baik dan reliable dengan fungsi yang optimal. Namun manusia memiliki keterbatasan, maka kita menghitung menggunakan pendekatan.
Apa itu model?
Model adalah sebuah representasi yang mensimplifikasi suatu sistem atau objek yang merepresentasikan hal yang rumit menjadi sederhana dengan segala asumsi-asumsinya.
3 poin penting dalam model yaitu asumsi, representasi, dan simplifikasi.
Contoh dari model ini adalah sebuah pondasi. Pondasi ini dimodelkan dalam bentuk 3D dan modulus elastisitas diasumsikan sama di semua titik, setelah itu di sederhanakan(simplifikasi) dengan menggunakan model 2D.
Modelyang kita buat ini membutuhkan ilmu untuk membangun persamaan aljabar dan memodelkan persamaan dalam komputasi. Maka kita harus berlatih sejak dini untuk menggunakan komputasi. Terdapat aplikasi dari komputasi yaitu diskritisasi, yaitu membuat sesuatu yang kontinu menjadi beberapa titik-titik yang berhingga.
Pertemuan Ketujuh
Hari, Tanggal : Rabu, 16 Oktober 2019
Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika
Pada pertemuan kali ini, diberikan kuis yaitu dengan materi solusi persamaan aljabar simultan dan solusi numerik persamaan diferensial (Initial Value Problem). Kemudian kita diperintahkan untuk menuliskan algoritma dan juga hasil dari running program python untuk dua soal, yaitu:
Problem set 2.1 no 6 hal 55
Problem set 7.1 no 2 hal 263
Program python untuk soal di atas adalah sebagai berikut:
Problem set 2.1 no 6 hal 55
from numpy import linalg import numpy as np b1 = [0,0,2,1,2] b2 = [0,1,0,2,-1] b3 = [1,2,0,-2,1] b4 = [0,0,0,-1,1] b5 = [0,1,-1,1,-1] nmat = np.array ([b1,b2,b3,b4,b5]) print ("Matriks A adalah :") print (nmat) cons = np.array ([1,1,-4,-2,-1]) print ("Matriks b adalah :") print (cons) jawab = linalg.solve (nmat,cons) x1val = int(jawab[0]) x2val = int(jawab[1]) x3val = int(jawab[2]) x4val = int(jawab[3]) x5val = int(jawab[4]) print ("Hasil X untuk matkris AX=b adalah :") print ("x1= ",x1val) print ("x2= ",x2val) print ("x3= ",x3val) print ("x4= ",x4val) print ("x5= ",x5val)
Problem set 7.1 no 6 hal 263
def dydx(x, y): return ((x**2 - 4*y)) # Finds value of y for a given x using step size h # and initial value y0 at x0. def rungeKutta(x0, y0, x, h): # Count number of iterations using step size or # step height h n = (int)((x - x0)/h) # Iterate for number of iterations y = y0 for i in range(1, n + 1): "Apply Runge Kutta Formulas to find next value of y" k1 = h * dydx(x0, y) k2 = h * dydx(x0 + 0.5 * h, y + 0.5 * k1) k3 = h * dydx(x0 + 0.5 * h, y + 0.5 * k2) k4 = h * dydx(x0 + h, y + k3) # Update next value of y y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) # Update next value of x x0 = x0 + h return y #misalkan : x0 = 0 y = 1 x = 0.03 h = 0.01 print ('Nilai y untuk x tersebut adalah:', rungeKutta(x0, y, x, h))