Ryanson Jonathan

From ccitonlinewiki
Revision as of 16:21, 30 October 2019 by RyansonJ (talk | contribs)
Jump to: navigation, search
Ryanson di tahun 2019.

Ryanson Jonathan (lahir di Jakarta, 5 Mei 2000, umur 19) merupakan seorang mahasiswa Fakultas Teknik Universitas Indonesia, mengambil jurusan Teknik Mesin. Selain itu, Ryanson juga menjalani kanal YouTube, dan akan mengeluarkan musik dengan nama Pinterbanget.


Metode Numerik

Mengapa mahasiswa Teknik Mesin harus mempelajari Kalkulus

Menurut Ryanson, mahasiswa Teknik Mesin harus belajar Kalkulus karena pada dasarnya Kalkulus adalah hal yang paling mendasar yang diperlukan untuk mempelajari hal-hal yang lebih mendalam. Ilmu-ilmu dan konsep yang dipelajari pada Kalkulus pada nantinya akan dipakai di mata kuliah lain, seperti Termodinamika Dasar dan Matematika Teknik.

Mengenal Python

Python adalah sebuah bahasa coding atau bahasa pemrograman yang digunakan untuk menyelesaikan suatu masalah.

Flowchart

Terdapat sebuah formula:

T=(x^2-1)/(x-1)

Formula ini dapat diselesaikan menggunakan flowchart, dengan metode sbb:

Letitflowwrj.jpg

Memindahkan flowchart kedalam Python

Kemudian, flowchart dapat direpresentasikan dalam kode Python sebagai berikut:

Ryansonj tugas1.png

Tuples dan Lists

Pada pertemuan kedua, dibahas mengenai dasar-dasar Python, yang beberapa sudah saya singgung di kode yang sudah digunakan di atas. Salah satu hal yang dapat dilakukan dalam Python adalah pembentukan Tuples dan Lists, yang mana Tuples berarti data yang terdapat lebih dari 1 dan Lists berarti data dalam bentuk daftar yang nantinya dapat ditambahkan.

tupel = ("Ryanson", "Jonathan", (5,5,2000))
firstname,lastname,date = tupel
print("Halo! Nama saya ", firstname, lastname, ". Saya biasa dipanggil ", firstname, ". Saya lahir tanggal", date[0], ", bulan", date[1], ", tahun ", date[2], ".")

Hasil dari kode diatas: "Halo! Nama saya Ryanson Jonathan. Saya biasa dipanggil Ryanson. Saya lahir tanggal 5, bulan 5, tahun 2000."

daftar = []
daftar.append("Telur")
daftar.append("Tepung")
daftar.append("Susu")
print("Daftar belanja untuk bulan ini: ", daftar)

Hasil dari kode diatas: "Daftar belanja untuk bulan ini: ['Telur', 'Tepung', 'Susu']"

Deret Fibonacci

Pada minggu ketiga, diberikan soal untuk membuat program untuk menyelesaikan deret Fibonacci, sehingga user dapat memasukkan suatu angka (n) dan dapat mengetahui suku ke-n dalam deret Fibonacci.

Dalam menyelesaikan masalah ini, dapat ditentukan 2 pendekatan:

1. Loop

Metode loop digunakan memakai fungsi def, if, else:

Ryansonfiboloop.png

2. Function

Metode function digunakan memakai rumus yang sudah ada untuk langsung mencari deret Fibonacci:

Ryansonfibofunc.png

Eliminasi Gauss

Lebih lengkapnya dapat dilihat di sini: Kelompok 2

Runge-Kutta Method

Lebih lengkapnya dapat dilihat di sini: Kelompok 2

KUIS

Problem 2.1 no 6

# Untuk memasukkan modul numpy ke dalam program.
from numpy import linalg 
import numpy as np
# Matriks a dipecah menjadi 5 baris, dengan baris pertama dinotasikan sebagai a1, baris kedua a2, dst.
# matA sebagai notasi matriks a.
a1 = [0,0,2,1,2]
a2 = [0,1,0,2,-1]
a3 = [1,2,0,-2,1]
a4 = [0,0,0,-1,1]
a5 = [0,1,-1,1,-1]
matA = np.array ([a1,a2,a3,a4,a5])
# Masukkan entri pada matriks b. matB sebagai notasi matriks b.
matB = np.array ([1,1,-4,-2,-1])
# Lakukan perhitungan menggunakan modul Numpy.
hasil = linalg.solve (matA,matB)
x1 = int(hasil[0])
x2 = int(hasil[1])
x3 = int(hasil[2])
x4 = int(hasil[3])
x5 = int(hasil[4])
# Memperlihatkan hasil perhitungan kepada user.
print ("Hasil perhitungan:")
print ("x1=",x1,"x2=",x2,"x3=",x3,"x4=",x4,"dan x5=",x5)
# Kode ini dibuat oleh Ryanson Jonathan (1806149293), menggunakan bantuan modul Numpy.

Problem 7.1 no 2

# Line dibawah ini menunjukkan x0 dan y0 sebagai titik asal, h sebagai increment.
# Digunakan h = 0.005.
# x = 0.03, sesuai dengan yang diminta soal.
x0 = 0
y0 = 1
h = 0.005
x = 0.03
# "fungsi" menyatakan fungsi awal dalam soal, yang telah diubah sehingga membentuk persamaan y'.
# Mengubah bentuk persamaan dalam soal, y' = x^2-4y.
def fungsi(x, y): 
   return (x**2 - 4*y) 
# Ini merupakan implementasi perhitungan Runge-Kutta, dinotasikan dengan "RK".
def RK(x0, y0, x, h): 
   n = (int)((x - x0)/h)  
   y = y0 
   for i in range(1, n + 1): 
      k1 = h * fungsi(x0, y) 
      k2 = h * fungsi(x0 + 0.5 * h, y + 0.5 * k1) 
      k3 = h * fungsi(x0 + 0.5 * h, y + 0.5 * k2) 
      k4 = h * fungsi(x0 + h, y + k3) 

      # untuk y selanjutnya 
      y = y + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) 

      # untuk x selanjutnya
      x0 = x0 + h 
   return y 
#Memperlihatkan hasil perhitungan kepada user.
print("Nilai y(", x, ") adalah", RK(x0, y0, x, h))
#Kode ini dibuat oleh Ryanson Jonathan (1806149293).

UTS

Kasus A

# -*- coding: utf-8 -*-
"""
Created on Wed Oct 23 17:06:11 2019

@author: rjsec
"""
# Soal UTS no 1A.
# Masukkan modul Numpy ke dalam program.
from numpy import linalg 
import numpy as np
# Buat persamaan menjadi suatu matriks, yang kemudian diinvers untuk mencari nilai
# T1, T2, dan T3.
# Mb1 sebagai matriks baris pertama, Mb2 sebagai matriks baris kedua, dan
# Mb3 sebagai matriks baris ketiga.
Mb1 = [1,0,0]
Mb2 = [-1,1,0]
Mb3 = [0,-1,1]
matA = np.array ([Mb1,Mb2,Mb3])
# Masukkan nilai-nilai M1, M2, dan M3.
M1 = float(input("Masukkan nilai M1 (dalam kg): "))
M2 = float(input("Masukkan nilai M2 (dalam kg): "))
M3 = float(input("Masukkan nilai M3 (dalam kg): "))
matB = np.array ([M1,M2,M3])
# Lakukan perhitungan menggunakan modul Numpy.
hasil = linalg.solve (matA,matB)
T1 = int(hasil[0])
T2 = int(hasil[1])
T3 = int(hasil[2])
# Perlihatkan hasil perhitungan kepada pengguna.
print ("Hasil perhitungan tegangan tali:")
print ("T1 =",T1,"N, T2 =",T2,"N, dan T3 =", T3, "N.")
# Kode ini dibuat oleh Ryanson Jonathan (1806149293).
# 23 Oktober 2019.

Kasus B

# -*- coding: utf-8 -*-
"""
Created on Wed Oct 23 17:27:42 2019

@author: rjsec
"""
# Soal UTS no 1B.
v = float(input("Masukkan top speed (dalam m/s): "))
t0 = 0
h = 0.01
v0 = 0
def func(v, t): 
   return (1200*v/12000+0.3*v**1.5) 
def rungee(v0, t0, v, h): 
   n = (int)((v - v0)/h)  
   t = t0 
   for i in range(1, n + 1): 
      k1 = h * func(v0, t) 
      k2 = h * func(v0 + 0.5 * h, t + 0.5 * k1) 
      k3 = h * func(v0 + 0.5 * h, t + 0.5 * k2) 
      k4 = h * func(v0 + h, t + k3) 
      t = t + (1/6)*(k1 + 2 * k2 + 2 * k3 + k4) 
      v0 = v0 + h 
   return t 
print("Waktu untuk mencapai top speed adalah", rungee(v0, t0, v, h), "detik.")

Revisi UTS


Kasus A

# -*- coding: utf-8 -*-
"""
Created on Wed Oct 23 17:06:11 2019

@author: rjsec
"""
# Soal UTS no 1A.
# Masukkan modul Numpy ke dalam program.
from numpy import linalg 
import numpy as np
# Asumsi yang dibuat: gravitasi (g) = 10 m/s^2, sudut kemiringan (α) = 5.74°,
# sehingga sin(α) = 1/10.
# Buat persamaan menjadi suatu matriks, yang kemudian diinvers untuk mencari nilai
# T1, T2, dan T3.
# Mb1 sebagai matriks baris pertama, Mb2 sebagai matriks baris kedua, dan
# Mb3 sebagai matriks baris ketiga.
Mb1 = [1,0,0]
Mb2 = [-1,1,0]
Mb3 = [0,-1,1]
matA = np.array ([Mb1,Mb2,Mb3])
# Masukkan nilai-nilai M1, M2, dan M3.
M1 = float(input("Masukkan nilai M1 (dalam kg): "))
M2 = float(input("Masukkan nilai M2 (dalam kg): "))
M3 = float(input("Masukkan nilai M3 (dalam kg): "))
matB = np.array ([M1,M2,M3])
# Lakukan perhitungan menggunakan modul Numpy.
hasil = linalg.solve (matA,matB)
T1 = int(hasil[0])
T2 = int(hasil[1])
T3 = int(hasil[2])
# Perlihatkan hasil perhitungan kepada pengguna.
print ("Hasil perhitungan tegangan tali:")
print ("T1 =",T1,"N, T2 =",T2,"N, dan T3 =", T3, "N.")
# Kode ini dibuat oleh Ryanson Jonathan (1806149293).
# 23 Oktober 2019, disempurnakan 28 Oktober 2019.

Kasus B

# -*- coding: utf-8 -*-
"""
Created on Wed Oct 23 17:27:42 2019

@author: rjsec
"""
# Soal UTS no 1B.
# vKMH sebagai kecepatan akhir (top speed, dinyatakan dalam km/h).
# v sebagai kecepatan akhir (top speed, dinyatakan dalam m/s).
# t0 dan v0 sebagai kecepatan dan waktu awal (pada kasus ini 0).
# h sebagai increment/side step. Digunakan h = 0.01.
vKMH = float(input("Masukkan top speed (dalam km/h): "))
v=vKMH/3.6
t0 = 0
v0 = 0
h = 0.01
# "func" sebagai fungsi persamaan t dalam v,
# dengan v sebagai x dan t sebagai y.
# a sebagai persamaan akselerasi.
# Asumsi yang dibuat: massa mobil (m) = 1200 kg,
# percepatan mobil (a) = 10 m/s^2, gravitasi (g) = 10 m/s^2,
# koef gesek ban (Ч) = 0,5, dan koef gesek udara = 0,3.
a = 6000-0.3*v**1.5
def func(v, t): 
   return (1200*v/a - t)
# "rungekutta" sebagai fungsi untuk menghasilkan pendekatan
# menggunakan 4th order Runge-Kutta.
def rungekutta(v0, t0, v, h): 
   n = (int)((v - v0)/h)  
   t = t0 
   for i in range(1, n + 1): 
      k1 = h * func(v0, t) 
      k2 = h * func(v0 + 0.5 * h, t + 0.5 * k1) 
      k3 = h * func(v0 + 0.5 * h, t + 0.5 * k2) 
      k4 = h * func(v0 + h, t + k3)
      
      #untuk t baru
      t = t + (1/6)*(k1 + 2 * k2 + 2 * k3 + k4) 
      
      #untuk v baru
      v0 = v0 + h 
   return t 
# Menunjukkan hasil perhitungan kepada pengguna.
print("Waktu yang diperlukan untuk mencapai top speed adalah", rungekutta(v0, t0, v, h), "detik.")
# Kode ini dibuat oleh Ryanson Jonathan (1806149293).
# 23 Oktober 2019, disempurnakan 28 Oktober 2019.

Kolom Komentar UTS


RyansonJ

53 months ago
Score 0++
Halo, ini merupakan kolom komentar saya. Mohon memberikan kritik dan masukan dengan bahasa yang sopan, ya! ^_^

Anonymous user #1

53 months ago
Score 0 You
Test
Add your comment
ccitonlinewiki welcomes all comments. If you do not want to be anonymous, register or log in. It is free.