Difference between revisions of "Jonathan Surya"

From ccitonlinewiki
Jump to: navigation, search
(UTS)
(UTS)
Line 285: Line 285:
 
<comments voting="Plus" />
 
<comments voting="Plus" />
  
== UTS ==
+
 
 
'''Hari: Rabu, 30 Oktober 2019'''
 
'''Hari: Rabu, 30 Oktober 2019'''
 
tugas menggunakan Rungge Kutta
 
tugas menggunakan Rungge Kutta

Revision as of 00:01, 6 November 2019

Nama :Jonathan Surya

NPM  :1706036210

Dept :Departemen Teknik Mesin


Minggu Pertama (4 September)

Pada minggu pertama Pak Dai dan Pak Radon menjelaskan akan pentingnya pemrograman dan teknik mesin merupakan salah satu yang memperlajarinya.

Kenapa anak mesin harus belajar kalkulus?

karena kalkulus merupakan dasar ilmu matematika yang diperlukan mahasiswa teknik. selain itu, kalkulus juga melatih kemampuan perhitungan kita akan angka dan ketelitian juga.Pada dasarnya merupakan cabang dari ilmu matematika yang akan diaplikasikan dalam Engineering

program yang akan digunakan untuk matakuliah metode Numerik ini adalah PYTHON 3.

  Tugas untuk minggu depan membaca buku python 3, pr membuat algoritma (bisa flowchart) dan menulis coding programnya untuk persamaan (x^2 -1)/(x-1) ,untuk x = 1

Algoritma

Metnum (1).jpg


untuk Tugas pertama setelah membuat algoritmanya saya berusaha membuat pythonnya dengan bantuan internet mempelajari simbol-simbol dasar dan bebrapa fungsi seperti pangkat dengan simbol (**). setelah itu saya mencoba membuat code python tersebut dalam pycharm yaitu salah satu program yang menggunakan bahasa python.

Josur HW 1.PNG



Minggu kedua (11 september)

Pada Minggu kedua Pak Dai menjelaskan bahwa seberapa penting machine learning yang berkembang saat ini salah satu contohnya google search engine.

  menurut Pak Dai Industry 5.0 adalah  dasar-dasar pancasila karena teknologi merupakan ciptaan manusia dan sebisa mungkin empowering to human juga agar setiap teknologi yang kita buat dapat membantu sesama.


Artificial Intelligence atau disebut rekayasa buatan yang dibuat oleh manusia. Namun pemilik kepintaran sesungguhnya adalah manusia. hal tersebut dubuat dengan tujuan untuk membantu sesama karena keterbatasan manusia juga.


Pembelajaran minggu kedua mempelajari cara penggunaan Software Python dimana kita membuat coding Hello Python world dan mempelajari dasar dasar coding seperti tuples dan list. untuk mempelajari lebih banyak lagi dapat melalui python anywhere.

List and tuples 1.JPG

  Minggu depan tgl 18 sept Quiz bab 1 pemrograman  jam 4 sore

Minggu ketiga (18 september)

Pada pertemuan ketiga diadakan quiz dasar-dasar pemrograman. Soal quiz membuat algoritma dengan bahasa sendiri,flowchart dan pythonnya untuk suku ke-n dari sebuah bilangan fibronacci yang dimulai dari 1,1,2,3,5,8,....

untuk soal tersebut dapat diselesaikan dengan 2 cara yaitu function dan loop dengan While Condition

Metode Function

Function Fibonacci Josur.JPG


Metode Loop dengan While Condition

While loop Fibonacci Josur.JPG

Minggu keempat (25 september)

Pada pertemuan keempat mempelajari Computer modelling yang terdiri dari computation dan modelling. Modelling sendiri adalah sebuah representasi/simplifikasi/asumsi dari suatu yang bersifat rumit menjadi lebih mudah untuk dipahami. namun tidak sepenuhnya 100 persen sama dari aslinya karena suatu pendekatan saja.


Contoh mechanical modelling yang dapat digunakan dalam Computer modelling adalah tekanan atau stress= F/A, elastisitas adalah laju perubahan bentuknya. oleh karena itu kasus engineering dapat diselesaikan dengan metode numerik


 Pr untuk minggu depan menyusun kesetimbangan 4 titik sehingga mendapatkan fungsi aljabar linearnya displacementnya yang terjadi. diskritisasi membuat menjadi titik tak hingga

Minggu kelima (2 Oktober)

Pada pertemuan kelima. Asistensi dari asisten mengenai dasar cara kerja eliminasi gauss jordan dalam pengaplikasiannya dalam sistem pegas dimana codingnya dapat dibuat menggunakan import from numpy yang bersifat lebih simple dan menghemat proses penghitungan juga dalam python. Efisiensi pemograman adalah dimana program yang memiliki fungsi yang sama dapat dihasilkan dengan penulisan coding yang lebih sedikit.

pada dasarnya NUMPY, SYMPY dll merupakan suatu external library yang dapat didownload dimana didalamnya sudah terbuat codingan yang dinginkan untuk dipakai sehingga tidak perlu membuat codingan dari awal lagi.

hanya menuliskan Import from sympy fibronacci. lalu data fibronacci pun bisa langsung diproses


  Pr untuk minggu depan membaca bab 4 dan membuat rangkuman

Minggu keenam (9 Oktober)

merefrensikan kasus fisik yang dapat direferensikan ke komputer. peran engineer bagimana punya skill untuk memodelkannya. Metode direct kesetimbangan gaya (hukum dasar). sebuah persamaan matematika orang yang punya wawasannya futuristik. there is a god masalah atau benda yang kita hitung ketika terkena beban untuk mendapatkan area criticalnya untuk dilakukan upgrade. semua rumus dimesin dianggap continu atau berdislokasi atau berpindah tempat. displacement adanya perpindahan tempat diferensial

Minggu ketujuh (16 Oktober)

Codingan Quiz 2 exercise 7.1 no 2 hal 253

    J0 = input("masukan nilai x0 possitif = ")
    K0 = input ("masukan nilai y0 positif = ")
    N0 = input("masukan nilai count number biasayanya 1 = ")
    def F(x, y):
           return (x**2 - 4*y)
    def rungeKutta(x0, y0, h):
        n = int(N0)
        #mendefinisikan y= y0
        y = y0
        for i in range(1, n + 1):
            "Apply Runge Kutta Formulas to find next value of y"
            k1 = h * F(x0, y)
            k2 = h * F(x0 + 0.5 * h, y + 0.5 * k1)
            k3 = h * F(x0 + 0.5 * h, y + 0.5 * k2)
            k4 = h * F(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 = int(J0)
    y = int(K0)
    h = 0.2
    print('The value of y at x is:', rungeKutta(x0, y, h))

exercise bab 2.1 no 6 hal 55

    import numpy
    a = [[0, 0, 2, 1, 2],
         [0, 1, 0, 2, -1],
         [1, 2, 0, -2, 0],
         [0, 0, 0, -1, 1],
         [0, 1, -1, 1, -1]]
    b = [[1],
         [1],
         [-4],
         [-2],
         [-1]]
    c = [1, 1, 1, 1, 1,]
    n = len(b)
    # Elimination
    for k in range(0, n - 1):
        for i in range(n - 1, k, -1):
            if a[i][k] != 0.0:
                op = a[i][k] / a[i - 1][k]
                b[i][0] = b[i][0] - op * b[i - 1][0]
                for f in range(0, n):
                    a[i][f] = a[i][f] - op * a[i - 1][f]
    # Subtitution
    if a[n - 1][n - 1] != 0:
        c[n - 1] = b[n - 1][0] / a[n - 1][n - 1]
    else:
        c[n - 1] = 0
    for i in range(n - 2, -1, -1):
        sigma = 0
        for k in range(0, n, 1):
            y = a[i][k] * c[k]
            sigma = sigma + y
        sigma = sigma - a[i][i]
        if a[i][i] != 0:
            c[i] = (b[i][0] - sigma) / a[i][i]
        else:
            a[i][i] = 0
    for v in range(0, n, 1):
        print(a[v])
    print(c[0:n])

namun masih error pada EGJ

UTS

Hari: Rabu, 23 Oktober 2019

Oleh : Dr. Ahmad Indra & Dr. Eng. Radon Dhelika

Berikut video muhasabah metnum Jonathan Surya

  untuk soal 3a 
  from math import
  g = 10
  m1 = input("masukan berat massa 1 = ")
  m2 = input ("masukan berat massa 2 = ")
  m3 = input("masukan berat massa 3 = ")
  u1 = input("masukan koef gesek massa 1 = ")
  u2 = input("masukan koef gesek massa 2 = ")
  u3 = input("masukan koef gesek massa 3 = ")
  alfa = input("masukan sudut alfa = ")
  a = input("percepatan = ")
  x = sin (alfa)
  y = cos (alfa)
  t1 = m1*g*(x-u1*y) - m1*a
  t2 = m2*g*(x-u2*y) + t1 -m2*a
  t3 = m3*g*(x-u3*y) + t2 -m3*a
  print(t1)
  print(t2)
  print(t3)

berikut video penjelasan pengerjan soal 3a

untuk soal 3b cara 1

  p udara = 1.1 #massa jenis udara
  cd= eval(input("drag coefficient: "))
  area= eval(input("area (m^2): "))
  v0= eval(input("velocity udara: "))
  #masukan nilai yang diketahui pada mobil
  mm = eval(input("massa benda/mobil (kg): "))
  g= 9.81
  a = eval(input("percepatan mobil (m/s^2): ")) 
  v2 = eval(input("kecepatan mobil max (m/s): "))
  v1 = 0 #mobil pada saat diam
  #masukan nilai yang diketahui pada F gesek
  u = eval(input(" koefisien gesekan: "))
  t = eval(input("waktu dari diam ke gerak(s): "))
  # a drag
  ages = g*u
  adrag = (cd*area*p udara*v0**2)/2*mm
  amobil = a
  atot = amobil-(ages+adrag)
  t = (v1-v2)/atot
  print ("waktu yang diperlukan mobil untuk mencapai kecepatan max (s): ", t)

untuk soal 3b cara 2

  m = eval(input("masukan massa mobil: "))
  g = 10
  p = 1.2
  am = eval(input("percepatan mobil: "))
  Cd = eval(input("koefisien drag: "))
  mu = eval(input("koefisien gesekan: "))
  A = eval(input("area [m^2]: "))
  v0 = eval(input("velocity mobil awal [m/s]: "))
  vf = eval(input("kecepatan mobil max [m/s]: "))
  # total perceptan adalah gabungan dari am, af , ad
  Ff = m * g * mu # rumusnya Ff = m * g * mu
  Fd = (Cd * A * p * v0 ** 2) / 2 # rumusnya Fd = (Cd * A * p * v0 ** 2) / 2
  a2 = (am) - (Fd / m) - (Ff / m)
  def dtdtv(t, y):
      return ((m) / (am*g - m * g * mu - 0.5 * Cd * A * p * v0 ** 2))
  t = 0
  h = 0.01
  def rungekutta(v0, t0, vf, h):
      n = (int)((vf - v0) / h)
      t = t0
      for i in range(1, n + 1):
  #rumus Runge kutta
          k1 = h * dtdtv(v0, t)
          k2 = h * dtdtv(v0 + 0.5 * h, t + 0.5 * k1)
          k3 = h * dtdtv(v0 + 0.5 * h, t + 0.5 * k2)
          k4 = h * dtdtv(v0 + h, t + k3)
  #mendapatkan nilai t yang diperlukan hingga mencapai kecepatan tersebut
          t = t + (1.0 / 6.0) * (k1 + 2 * k2 + 2 * k3 + k4)
  # nilai Vo
          v0 = v0 + h
      return t
  tfinal = rungekutta(v0, t, vf, h)
  print(tfinal)



berikut video penjelasan pengerjan soal 3b


Add your comment
ccitonlinewiki welcomes all comments. If you do not want to be anonymous, register or log in. It is free.


Hari: Rabu, 30 Oktober 2019 tugas menggunakan Rungge Kutta

t = eval(input("pada saat t berapa: ")) h = 1

  1. misalkan :

t0 = 0.1 y = eval(input("ketinggian gedung: ")) def F(t, y):

      return ((y - 5*t*t)/t)


  1. Finds value of y for a given x using step size h
  2. and initial value y0 at x0.

def rungeKutta(t0, y0, t, h):

   # Count number of iterations using step size or
   # step height h
   n = (int)((t - t0) / h)
   #mendefinisikan y= y0
   y = y0
   for i in range(1, n + 1):
       "Apply Runge Kutta Formulas to find next value of y"
       k1 = h * F(t0, y)
       k2 = h * F(t0 + 0.5 * h, y + 0.5 * k1)
       k3 = h * F(t0 + 0.5 * h, y + 0.5 * k2)
       k4 = h * F(t0 + 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
       t0 = t0 + h
   return y

print('The value of posisi bola at t is:', rungeKutta(t0, y, t, h))