Jonathan Kevin Samuel

From ccitonlinewiki
Revision as of 15:39, 6 November 2019 by Jokev (talk | contribs)
Jump to: navigation, search

Introduction

Jonathan Kevin Samuel.jpg

Nama: Jonathan Kevin Samuel

NPM: 1706036513

Jurusan: Teknik Mesin


Meeting 1, September 4th, 2019

Mengapa saya sebagai mahasiswa teknik mesin harus belajar kalkulus?

Karena menurut saya, kalkulus merupakan dasar dari perhitungan-perhitungan seperti di bidang fisika. Untuk penerapannya di jurusan teknik mesin, contohnya seperti di pelajaran Termodinamika, Matematika Teknik, dan Pengendalian Sistem. Untuk di mata kuliah Termodinamika, kalkulus diterapkan untuk menurunkan rumus-rumus yang ada. Lalu, untuk di mata kuliah Matematika Teknik, diterapkan untuk menyelesaikan perhitungan-perhitungan fisika menggunakan persamaan matematika. Dan untuk di mata kuliah Pengendalian Sistem, digunakan untuk membuat pemodelan sistem.


Pertemuan pertama mata kuliah Metode Numerik tanggal 4 September 2019 diisi oleh Bapak Dr. Ahmad Indra dan Dr. Eng. Radon Dhelika. Yang mulai berbicara adalah Bapak Dr. Ahmad Indra. Beliau akrab dipanggil Pak Dai. Beliau mengatakan bahwa sebagai manusia kita harus berakal. Beliau juga mengatakan bahwa setiap sebelum memulai belajar, kita tidak boleh lupa untuk berdoa agar ilmu yang kita dapatkan akan berguna ke depannya.


Setelah memperkenalkan diri, Pak Dai bertanya kepada kami mengapa kami sebagai mahasiswa teknik mesin harus belajar kalkulus, sedangkan kalkulus adalah mata kuliah dari Fakultas Matematika dan Ilmu Pengetahuan Alam. Beliau meminta kami menjawabnya sesuai pribadi kami masing-masing. Dan jawaban saya adalah seperti yang saya jabarkan di atas.


Selanjutnya, Pak Dai baru mulai menjelaskan tentang apa itu Metode Numerik. Dan ini adalah pengertian Metode Numerik.

  Metode numerik merupakan sebuah metode yang digunakan untuk menyelesaikan berbagai kasus dan masalah matematis melalui komputasi. Metode numerik pada umumnya melibatkan jumlah komputasi yang sangat banyak, dengan melibatkan proses iterasi hitungan. Oleh karena itu, komputasi metode numerik dilakukan dengan menggunakan bantuan komputer.


Dalam belajar Metode Numerik di semester 5 ini, kami sebagai mahasiswa dianjurkan menggunakan buku Numerical Methods in Engineering, Python 3 sebagai panduan. Karena bahasa pemrograman yang akan banyak digunakan adalah Python. Pak Dai juga mengatakan bahwa kami tidak boleh takut jika tidak bisa programming. Yang penting adalah harus ada progress setiap harinya. Kita harus punya driving force bahwa setiap hari harus menjadi orang yang lebih baik dari sebelumnya.

  Karena orang yang lebih baik dari hari kemarin adalah orang yang beruntung. Orang yang sama saja dari hari kemarin adalah orang yang rugi. Dan orang yang lebih buruk dari hari kemarin adalah orang yang celaka.

Setelah Pak Dai selesai berbicara, Pak Radon juga memberikan hal-hal yang harus kami ketahui dalam belajar Metode Numerik. Beliau mengatakan bahwa kemampuan programming sangat dibutuhkan di era Revolusi Industri 4.0 ini. Dan di akhir pertemuan pertama ini, Pak Dai dan Pak Radon memberikan kami tugas untuk belajar Python dan menyelesaikan sebuah persamaan dalam bentuk algoritma atau flow chart. Persamaan tersebut adalah sebagai berikut.


Persamaan.PNG


Meeting 2, September 11th, 2019

Pada pertemuan kedua kelas Metode Numerik kali ini, kelas kembali diisi oleh Pak Dai dan Pak Radon. Mereka mengatakan bahwa numerik sangat berhubungan dengan komputer karena kita tidak mampu menghafal banyak hal. Beliau memberikan contoh seperti permainan catur di komputer. Jika kita bermain catur di komputer, sistem permainan catur komputer ini sudah menyimpan database untuk mengingat gerakan-gerakan kita dan gerakan-gerakan komputer itu sendiri.


Karena numerik sangat berhubungan dengan komputer, maka kita sebagai mahasiswa yang sedang mempelajari Metode Numerik harus menjadikan komputer sebagai partner kita. Di dalam komputer ada istilah 32 bit dan 64 bit. Seperti di dalam otak kita, komputer mampu menyimpan data-data dalam binary digit. Jika komputer kita 64 bit, maka komputer tersebut memiliki kemampuan yang lebih akurat dan tepat. Dan sekarang ini, hampir semua gadget menggunakan 64 bit.


Selain membahas komputer, Pak Dai dan Pak Radon juga membahas tentang Artificial Intelligence atau yang biasa disingkat AI karena sekarang sedang zamannya Revolusi Industri 4.0. AI dibuat untuk membantu kehidupan manusia. AI ini berupa robot yang dibuat seakan-akan mempunyai kecerdasan seperti manusia. Tetapi Pak Dai mengatakan bahwa yang memiliki kecerdasan sebenarnya hanyalah MANUSIA. Hanya saja, manusia memiliki keterbatasan dan exhaust. Selain itu, manusia juga mempunyai hati yang membuat manusia berbeda dengan AI. Menurut Pak Dai, jika nanti ada Revolusi Industri 5.0, maka harus ada kaitannya dengan Pancasila. Karena teknologi seharusnya empowering human, bukan melemahkan manusia dan menjadikan manusia idiot. Manusia tidak boleh dikendalikan oleh teknologi contohnya media sosial. Tetapi kita yang seharusnya mengendalikan dan mengerti teknologi.


Setelah itu, Pak Dai dan Pak Radon menjelaskan kembali tentang Python. Untuk mempelajari teknis dari program Python, beliau mengarahkan kami untuk melihat di web Intro to Python. Dan kami mendapatkan 2 tahap untuk menggunakan Python. Yang pertama adalah dengan meng-install package Python. Dan yang kedua adalah dengan meng-install IDE. Selanjutnya, Pak Dai dan Pak Radon juga memberitahu kami cara untuk menggunakan Python tanpa harus meng-install di laptop/komputer kita. Caranya adalah dengan membuka web Python Anywhere.


Meeting 3, September 18th, 2019

Pada pertemuan ketiga kelas Metode Numerik ini, kelas seperti biasa kembali diisi oleh Pak Dai dan Pak Radon. Dan di pertemuan ketiga ini, Pak Dai dan Pak Radon mengadakan quiz untuk melihat apa saja yang sudah kami pelajari di kelas Metode Numerik ini. Soal quiz yang kami dapat adalah membuat algoritma, flowchart, dan pemrograman Python. Untuk bisa menyelesaikan soal tersebut, kami diberikan kasus deret Fibonacci 1, 1, 2, 3, 5, 8, 13, ...., n.


Kami diberikan waktu 30 menit untuk menyelesaikan quiz tersebut. Kami mengerjakan quiz tersebut di selembar kertas. Setelah selesai mengerjakan, Pak Radon mengatakan bahwa membuat program untuk menyelesaikan deret Fibonacci tersebut cukup kompleks. Jadi, Pak Radon memberi kami kasus yang lebih mudah supaya kami dapat lebih mengerti tentang pemrograman, terutama dalam menggunakan Python. Kasus yang diberikan adalah membuat sebuah program yang dapat menentukan selisih dari 2 bilangan. Dan kami diminta dengan menggunakan metode Loop dengan while condition dan metode Function.


Untuk metode Loop dengan while condition, ini yang berhasil saya dapatkan:

Fibonacci with Loop Update.PNG


Fibonacci with Loop 2.PNG


Untuk metode Function, ini yang berhasil saya dapatkan:


Fibonacci with Function.PNG


Fibonacci with Function 2.PNG


Meeting 4, September 25th, 2019

Pada pertemuan keempat Metode Numerik di minggu terakhir di bulan September ini, Pak Dai dan Pak Radon menjelaskan kepada kami tentang menghitung.

Kenapa kita harus menghitung?

Karena apa yang kita desain harus kita pastikan berfungsi secara baik dan reliable dengan fungsi yang optimal.

Kami juga belajar tentang pengertian suatu model. Jadi, model adalah sebuah representasi yang di asumsikan agar dapat mensimplifikasi dari keadaan real yang rumit menjadi lebih simple. Model dibagi menjadi 3 unsur, yaitu representasi, simplifikasi, dan asumsi.


Meeting 5, October 2nd, 2019

Pada pertemuan kelima kelas Metode Numerik di awal bulan Oktober ini, kami diajarkan cara penggunaan turunan menggunakan Python dengan Metode Runge Kutta orde 4. Sebelum mempelajari ini, kami diajarkan dengan menggunakan excel terlebih dahulu untuk mempermudah pemahaman terkait pendekatan metode ini terhadap turunan yang berlaku.


Ada penjelasan-penjelasan singkat mengenai metode ini. Yang pertama adalah metode Runge-Kutta adalah alternatif lain dari metode deret Taylor yang tidak membutuhkan perhitungan turunan. Yang kedua, metode ini menawarkan penyelesaian persamaan diferensial dengan pertumbuhan truncation error yang jauh lebih kecil. Yang dimaksud dengan truncation error adalah kesalahan atau penyimpangan nilai yang timbul akibat pemotongan suku pada suatu deret atau rumus dalam aproksimasi.

Runge-kutta1.JPG

Meeting 6, October 9nd, 2019

Pada pertemuan keenam kelas Metode Numerik ini, kelas tidak diisi oleh Pak Dai dan Pak Radon, melainkan diisi oleh alumni Teknik Mesin UI angkatan 2014, yaitu Bang Edo. Bang Edo mengajarkan kami memecahkan satu set persamaan aljabar. Yang pertama, kami bisa menggunakan metode eliminasi. Metode eliminasi adalah metode untuk mengurangi variabel dari persamaan berikutnya, sehingga persamaan tersebut pada akhirnya hanya mempunya 1 variabel sehingga bisa disubstitusi. Yang kedua adalah dengan metode Gauss. Eliminasi Gauss dapat diaplikasikan untuk menyelesaikan kasus pada aljabar simultan. Eliminasi Gauss juga dapat dilakukan dengan menggunakan metode numerik. Dengan menggunakan metode numerik, perhitungan dapat dilakukan secara efisien dan cepat dengan menggunakan bantuan program python. Yang ketiga adalah metode trial and error.

Meeting 7, October 16th, 2019 (QUIZ)

Pada pertemuan ketujuh kelas Metode Numerik ini, Pak Dai dan Pak Radon mengadakan quiz yang soalnya berasal dari buku Numerical Methods in Engineering with Python 3. Soal yang pertama berasal dari soal nomor 6 halaman 55 dan soal yang kedua berasal dari soal nomor 2 halaman 263.

Jawaban soal yang pertama adalah sebagai berikut:

Jawaban 1 Quiz Jokev.PNG

Jawaban 2 Quiz Jokev.PNG


Jawaban soal yang kedua adalah sebagai berikut:

Jawaban 3 Quiz Jokev.PNG

Jawaban 4 Quiz Jokev.PNG

Meeting 8, October 23rd, 2019 (UTS)

Video Muhasabah Diri

Hasil coding soal nomor 1A

from math import *
g = 9.81
M1 = eval(input("Massa 1 (kg): "))
M2 = eval(input("Massa 2 (kg): "))
M3 = eval(input("Massa 3 (kg): "))
teta = eval(input("Sudut: "))
a = 0
x = sin(teta)
T1 = M1*x*g - M1*a
print ("Besar T1 adalah: ", T1, "N")
T2 = (M2*x*g - M2*a) + T1
print ("Besar T2 adalah: ", T2, "N")
T3 = (M3*x*g - M3*a) + T1 + T2
print ("Besar T3 adalah: ", T3, "N")
T4 = T1 + T2 + T3 
print ("Besar T4 adalah: ", T4, "N")

Video penjelasan soal nomor 1A


Hasil coding soal nomor 1B

from math import *
from numpy import *
g = 9.81
cd = eval(input("Drag coefficient: "))
Vmax = eval(input("Kecepatan maksimum (m/s): "))
M = eval(input("Massa mobil (kg): "))
u = eval(input("Koefisien gesek: "))
a = eval(input("Percepatan awal (m/s^2): "))
Fs = M*g*u
Fd = cd*Vmax**1.5
F1 = M*a
atot = (F1 - Fs - Fd)/M
t = Vmax/atot
print ("Waktu untuk mencapai Vmax: ", t, "s")

Video penjelasan soal nomor 1B


Perbaikan UTS

Perbaikan soal nomor 1A:

import math 
import numpy as np 
#matrix a & b
A = np.array([[1., 0., 0.],
         [-1., 1., 0.],
         [0., -1., 1.]], float)
B = np.array([21.37, 14.24, 7.12], float)
n = len(A) #panjang baris a
print('Matriks A :')
print(A,'\n')
print('Matriks A mempunyai ', n , ' baris','\n')
print('Matriks B :')
print(B,'\n') 
for k in range(0,n-1): #Metode gauss
 for i in range(k+1,n):
     if A[i,k]!=0 :
         lam = A[i,k]/A[k,k] 
         A[i,k:n] = A[i,k:n]-(A[k,k:n]*lam)
         B[i] = B[i]-(B[k]*lam)
print('matrix A:', '\n', A, '\n')
print('Besar Tegangan Tali yaitu:') 
x = np.zeros(n,float)
for m in range(n-1,-1,-1):
 x[m]=(B[m]-np.dot(A[m,m+1:n],x[m+1:n]))/A[m,m]
 print('T',m+1,'=', x[m])


Perbaikan soal nomor 1B

g = 9.81
cd = eval(input("Drag coefficient: "))
m = eval(input("Massa mobil (kg): "))
myu = eval(input("Koefisien gesek: "))
a = eval(input("Percepatan awal (m/s^2): "))
t0 = 0
v0 = 0
dt = 1 
error = 100
sigmaf = a - g*myu #dibagi mass
fs = cd/m #dibagi mass
lst = []
def dvdt(t0, v0):
  return sigmaf-(fs*(v0)**(1.5))
while error > 0.005: 
  k1 = dvdt(t0, v0) 
  k2 = dvdt(t0 + 0.5 * dt, v0 + 0.5 * dt * k1)
  k3 = dvdt(t0 + 0.5 * dt, v0 + 0.5 * dt * k2) 
  k4 = dvdt(t0 + dt, v0 + dt * k3) 
  v1 = v0 + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4)
  t0 = t0 + dt
  error = ((v1 - v0) / v1)*100 
  v0 = v1
  lst.append(v1)
waktu = len(lst)
print ("Waktu untuk mencapai Vmax: ", waktu+1, "s")
print ("Vmax: ", v1, "m/s")