Kanwaljot Kaur
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 Kelima
Hari, Tanggal : Rabu, 2 Oktober 2019
Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika
Pada pertemuan metode numerik kali ini, topik pembelajarannya adalah aplikasi aljabar yang akan dimodelkan pada sistem pegas. Pak Dai mengatakan bahwa semua masalah dapat dimodelkan, tidak ada permasalahan yang tidak dapat dimodelkan. Model ini kemudian dapat mempermudah kita dalam menyelesaikan masalah tersebut. Salah satu contohnya yaitu menggunakan bahasa pemograman python untuk menyelesaikan masalah. Mengapa menggunakan bahasa python? Karena python merupakan bahasa gratis dan sedang digunakan di dalam industry 4.0 sekarang ini.
Pada pertemuan metode numerik kali ini, asisten dosen menjelaskan mengeian penggunaan pemodelan pada sistem tunggal menjadi sebuah persamaan linear dengan menerjemahkan rumus yang biasa digunakan pada materi pegas menjadi sebuah matriks sehingga mempermudah kemudian untuk mengolahnya. Selain itu, diberikan juga materi mengenai cara pembuatan matriks pegas yang bukan tunggal, yaitu dengan cara menerapkan superposisi matriks. Selanjutnya diberikan penjelasan dan cara penggunaan modul yang dapat digunakan pada python yang mempermudah perhitungan sistem persamaan linear, yaitu numpydan sympy.
Tugas yang diberikan untuk minggu depan adalah membaca buku mengenai motode Runge-Kutta.
Pertemuan Keenam
Hari, Tanggal : Rabu, 9 Oktober 2019
Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika
Pada pertemuan metode nureik kali ini, materi yang diberikan adalah mempelajari cara untuk memecahkan satu set persamaan aljabar. Teknik-teknik menyelesaikan persamaan aljabar adalah:
- metode eliminasi : mengurangi variabel dari persamaan berikutnya, sehingga persamaan akhirnya hanya 1 variable lalu nanti disubstitusi.
- Gauss
- Trial and Error dll
Menurut Pak Dai yang perlu diketahui adalah peran komputer dalam pemodelan. Beliau mngatakan bahwa dalam pemodelan ini logika tetap berasal dari manusia namun komputer membantu mempercepat perhitungan. Maka dari itu kemarin kita mendiskusikan mengenai sebuah pemodelan dari suatu permasalahan menjadi persamaan aljabar.
Kontinu Assumption : contoh dalam satu ruangan dipenuhi oleh oksigen, maka tidak ada ruang hampa dalam ruangan. Seluruh ruangan dipenuhi oleh oksigen dan kita dapat mengukur temperatur dititik manapun dalam ruangan. Formasi dan udara mungkin tidak terlihat tetapi kita harus membayangkannya, karena imajinasi lebih powerful dari pengetahuan.
Model matematis ini nantinya akan berupa persamaan diferensial. Persamaan diferensial muncul akibat permasalahan yang kita hadapi terjadi secara kontinu. Kontinu Assumption jika diberikan gaya maka setiap titik akan merasakan beban sehingga tiap titik akan berdislokasi atau berpindah tempat. Selisih perpindahan tempatnya disebut dengan displacement (u). Perubahan displacement disebut (du) artinya limit ketika delta u menuju 0 tetapi tidak 0. Jadi diferensial itu sangat kecil namun tidak 0.
KUIS
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))
UTS
Hari, Tanggal : Rabu, 23 Oktober 2019
Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika
Untuk kasus A
from math import * g= 9.81 m1 = eval(input("massa 1:")) m2 = eval(input("massa 2:")) m3 = eval(input("massa 3:")) w1 = eval(input("koef gesek 1:")) w2 = eval(input("koef gesek 2:")) w3 = eval(input("koef gesek 3:")) alpha= eval(input("sudut kemiringan bidang: ")) a = eval(input("besarnya percepatan: ")) b = sin(alpha) c = cos(alpha) t1 = m1*g*(b-w1*c) - m1*a t2 = m2*g*(b-w2*c) + t1 - m2*a t3 = m3*g*(b-w3*c) + t2 - m3*a print ("tegang tali 1 adalah: ",t1) print ("tegang tali 2 adalah: ",t2) print ("tegang tali 3 adalah: ",t3)
Link video: Penyelesaian Soal UTS 1A
Data yang diinput:
Untuk kasus B
from math import * from sympy import * g = 9.81 rho = 1.2 #massa jenis dari udara dc = eval(input("drag coefficient:")) area = eval(input("luas(m^2):")) v1 = eval(input("kecepatan akhir (m/s):")) M = eval(input("massa mobil (kg):")) w = eval(input("koefisien gesek:")) a = eval(input("percepatan (m/s^2):")) Fg = g*w f1 = a for v0 in range (0,v1): Fdrag = (dc*v0**3/2)/M atot = f1-(Fdrag+Fg) t = -(v1)/atot print ("Percepatan Total (m/s^2):",atot) print ("Waktu yang diperlukan oleh V1(s):",t)
Link video: Penyelesaian Soal UTS 1B
Data yang diinput: