Difference between revisions of "Geraldo Andreas Sitorus Pane"

From ccitonlinewiki
Jump to: navigation, search
(UTS)
(Data Diri)
 
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Data Diri ==
 
== Data Diri ==
  
Nama    : Geraldo Andreas Sitorus Pane
+
 
 +
Nama    : Geraldo A. S.
  
 
NPM    : 1706022962
 
NPM    : 1706022962
Line 11: Line 12:
 
== Biografi ==
 
== Biografi ==
  
Perkenalkan nama saya Geraldo Andreas Sitorus dan kini saya berumur 20 tahun, lahir di Bekasi pada tanggal 6 April 1999. Saya anak kedua dari dua bersaudara, hobi saya berenang dan kadang bermain apapun itu yang seru/menyenangkan bagi diri saya pribadi. Memulai pendidikan SD di SDN Cilandak Barat 04 Pagi lalu melanjutkan pendidikan selanjutnya di SMP Negeri 68 Jakarta kemudian bersekolah di SMA Negeri 34 Jakarta, dan sekarang masih menjadi mahasiswa di Universitas Indonesia dengan program studi Teknik Mesin.
+
Perkenalkan nama saya Geraldo Andreas Sitorus. Memulai pendidikan SD di SDN Cilandak Barat 04 Pagi lalu melanjutkan pendidikan selanjutnya di SMP Negeri 68 Jakarta kemudian bersekolah di SMA Negeri 34 Jakarta, dan sekarang masih menjadi mahasiswa di Universitas Indonesia dengan program studi Teknik Mesin.
  
 
== Riwayat Diri ==
 
== Riwayat Diri ==
Line 28: Line 29:
 
- Badan Pengurus Sosma IMM FTUI (2018)
 
- Badan Pengurus Sosma IMM FTUI (2018)
  
- Pergerakan MADK MESIN (2018)
+
- Pergerakan MADK DTM (2018)
  
 
- Volunteer Kakak Asuh DTM (2018)
 
- Volunteer Kakak Asuh DTM (2018)
Line 108: Line 109:
 
           '| gagal untuk menghitung: ' + str(i) + ' kali' )
 
           '| gagal untuk menghitung: ' + str(i) + ' kali' )
  
== Hiburan Minggu 4 & 5 ==
+
== Hiburan Minggu 4 ==
  
 
Pada hiburan minggu ke-4 & ke-5, kami diajarkan untuk menggunakan matriks dalam menyelesaikan suatu persoalan yang menggunakan persamaan. Dikerjakan dalam Python dengan memasukan modul pengerjaan.
 
Pada hiburan minggu ke-4 & ke-5, kami diajarkan untuk menggunakan matriks dalam menyelesaikan suatu persoalan yang menggunakan persamaan. Dikerjakan dalam Python dengan memasukan modul pengerjaan.
Line 174: Line 175:
 
         x[m]=(B[m]-np.dot(A[m, m+1:n], x[m+1:n]))/A[m,m]
 
         x[m]=(B[m]-np.dot(A[m, m+1:n], x[m+1:n]))/A[m,m]
 
         print ('nilai X', m+1, '=', x[m])
 
         print ('nilai X', m+1, '=', x[m])
 +
 +
 +
== Hiburan Minggu 5 ==
 +
 +
Pada minggu kelima, kami diajarkan cara penggunaan turunan menggunakan Python dengan Metode Runge Kutta orde 4, kali ini diajarkan dengan menggunakan excel terlebih dahulu untuk mempermudah pemahaman terkait pendekatan metode ini terhadap turunan yang berlaku, berikut merupakan penjelasan singkat dari metode ini:
 +
 +
1. Metode Runge-Kutta adalah alternatif lain dari metode deret Taylor yang tidak membutuhkan perhitungan turunan.
 +
 +
2. Metode ini menawarkan penyelesaian persamaan diferensial dengan pertumbuhan ''truncation error'' yang jauh lebih kecil.
 +
 +
3. ''Truncation error'' adalah kesalahan / penyimpangan nilai yang timbul akibat pemotongan suku pada suatu deret atau rumus dalam approksimasi.
 +
 +
[[File:Runge-kutta1.JPG]]
 +
 +
 +
DIberikan contoh soal seperti dibawah ini:
 +
 +
 +
[[File:RungeKuts2.png]]
 +
 +
Jawaban dalam excel yang telah dibuat:
 +
 +
 +
[[File:RungeKuts3.JPG]]
  
 
== Hiburan Minggu 6 (Quis) ==
 
== Hiburan Minggu 6 (Quis) ==
Line 243: Line 268:
 
     print ('maka y(0.03) adalah', y)
 
     print ('maka y(0.03) adalah', y)
  
== UTS ==
+
== Ujian Tengah Semester ==
  
'''Script Python No.1'''
+
'''Jawaban Soal Pertama'''
  
import math
+
[[File:Jawaban UTS Nomor 1.JPG]]
  
#1. Pertanyaan untuk fungsi
 
print('Diberikan fungsi sin teta = m4/(m1+m2+m3)')
 
print('Nilai m1?')
 
m1=eval(input())
 
print('Nilai m2?')
 
m2=eval(input())
 
print('Nilai m3?')
 
  
m3=eval(input())
+
'''Script Python Jawaban No.1'''
print('Nilai m4?')
+
   
m4=eval(input())
+
    import math
 +
   
 +
    #1. Pertanyaan untuk fungsi
 +
    print('Diberikan fungsi sin teta = m4/(m1+m2+m3)')
 +
    print('Nilai m1?')
 +
    m1=eval(input())
 +
    print('Nilai m2?')
 +
    m2=eval(input())
 +
    print('Nilai m3?')
 +
   
 +
    m3=eval(input())
 +
    print('Nilai m4?')
 +
    m4=eval(input())
 +
   
 +
    #2. Menentukan nilai a
 +
    a = 0
 +
   
 +
    #3. Menentukan fungsi sin teta
 +
    x = m4
 +
    y = (m1+m2+m3)
 +
    alfa = m4 / (m1+m2+m3)
 +
   
 +
    #4. Mendapatkan hasil sin teta
 +
    print('Jadi, hasil sin teta adalah', alfa)
 +
   
 +
    sudutalfa=math.asin(alfa)
 +
    sudutalfa2=math.degrees(sudutalfa)
 +
    print('jadi nilai sudut alfa adalah',sudutalfa2)
  
#2. Menentukan nilai a
+
   
a = 0
+
'''Jawaban Soal Kedua'''
  
#3. Menentukan fungsi sin teta
+
[[File:Jawaban UTS Nomor 2 (3).JPG]]
x = m4
 
y = (m1+m2+m3)
 
alfa = m4 / (m1+m2+m3)
 
  
#4. Mendapatkan hasil sin teta
 
print('Jadi, hasil sin teta adalah', alfa)
 
  
sudutalfa=math.asin(alfa)
+
'''Script Python Jawaban No.2'''
sudutalfa2=math.degrees(sudutalfa)
 
print('jadi nilai sudut alfa adalah',sudutalfa2)
 
  
 
+
    import numpy as np
'''Script Python No.2'''
+
   
 
+
    print('Berapa gaya percepatan mobil?')
import numpy as np
+
    a = eval(input())
a = 10
+
    print('Berapa gaya gesek jalan terhadap mobil?')
b = 1
+
    b = eval(input())
c = 2
+
    print('Berapa gaya gesek udara terhadap mobil?')
def diff_v (t,v):
+
    c = eval(input())
    fungsi = a - b -c
+
        def diff_v (t,v):
 +
        fungsi = a - b -c
 
     return (fungsi)
 
     return (fungsi)
 +
   
 +
    v = 0
 +
   
 +
    h = 1
 +
    step_size = np.arange (0,10,h)
 +
   
 +
    for t in step_size:
 +
        k1 = diff_v (t,v)
 +
        k2 = diff_v ((t+0.5*h), (v+0.5*k1*h))
 +
        k3 = diff_v ((t+0.5*h), (v+0.5*k2*h))
 +
        k4 = diff_v ((t+h), (v+k1*h))
 +
   
 +
        v = v + 1/6*(k1+2*k2+2*k3+k4)*h
 +
   
 +
    print ('maka v setelah 10 detik adalah', v)
  
v = 0
+
== Video Pembahasan UTS ==
 
 
h = 1
 
step_size = np.arange (0,10,h)
 
 
 
for t in step_size:
 
    k1 = diff_v (t,v)
 
    k2 = diff_v ((t+0.5*h), (v+0.5*k1*h))
 
    k3 = diff_v ((t+0.5*h), (v+0.5*k2*h))
 
    k4 = diff_v ((t+h), (v+k1*h))
 
  
    v = v + 1/6*(k1+2*k2+2*k3+k4)*h
+
[[UTS No.1]]
  
print ('maka v setelah 10 detik adalah', v)
+
[[UTS No.2]]

Latest revision as of 11:26, 26 July 2021

Data Diri

Nama  : Geraldo A. S.

NPM  : 1706022962

Jurusan : Teknik Mesin S1 Paralel

Angkatan: 2017

Biografi

Perkenalkan nama saya Geraldo Andreas Sitorus. Memulai pendidikan SD di SDN Cilandak Barat 04 Pagi lalu melanjutkan pendidikan selanjutnya di SMP Negeri 68 Jakarta kemudian bersekolah di SMA Negeri 34 Jakarta, dan sekarang masih menjadi mahasiswa di Universitas Indonesia dengan program studi Teknik Mesin.

Riwayat Diri

Pengalaman Diri di Fakultas Teknik


- Staff K3 Dongkrak Seni FTUI (2017)

- Staff K3 Freshmen Fair (2017)

- Duta Kersos Departemen Teknik Mesin (2018)

- PJ Tarik Tambang Teknik Cup (2018)

- Badan Pengurus Sosma IMM FTUI (2018)

- Pergerakan MADK DTM (2018)

- Volunteer Kakak Asuh DTM (2018)

- Vice Project Officer PSB Genap Mesin (2018)

- Wakil Kepala Bidang Sosma IMM FTUI (2019)

- Steering Committee SSBM (2019)

Hiburan Minggu 1

Bahasa pemograman adalah bahasa yang dipakai dalam perangkat pintar elektronik guna sebagai acuan dasar komunikasi perangkat dalam menjalankan operasionalnya dalam bentuk coding. Bahasa pemograman yang pernah saya baca adalah Python, namun yang saya baca hanya pengenalan dasar dari Python tersebut.

Python adalah bahasa pemrograman interpretatif multiguna yang memakai filosofi perancangan dengan fokus kepada tingkat keterbacaan kode. Sebagai bahasa pemrograman, Python menggabungkan kemampuan, kapabilitas dan sintaksis kode serta fungsi pustaka yang berkualitas tinggi.

Fitur dalam bahasa pemograman Python secara general :

1. Berorientasi kepada objek.

2. Relatif mudah dikembangkan dengan menciptakan modul-modul baru. Asalnya Modul tersebut merupakan kombinasi dari modul lama yang di integrasi.

3. Memiliki tata bahasa yang relatif mudah dipelajari oleh manusia.

4. Didukung sistem pengelolaan memori secara otomatis sehingga membutuhkan kinerja saat coding.

5. Python juga memiliki banyak fasilitas pendukung sehingga ketika mengoperasikannya, terhitung mudah dan cepat.

Hiburan Minggu 2

Pada minggu ke-2 kelas Metode Numerik, membahas apa itu angka eksak dan angka numerik?, lintas apakah bagaimana eksistensinya?, angka eksak mulai dari 0,1,2,3,4,5...dst itu tentu ada, namun itu hanya sebuah perjanjian / kesepakatan pembatasan nilai untuk berkomunikasi verbal agar memudahkan kita manusia untuk bertukar informasi dalam kehidupan nyata. Pada dasarnya komputer hanya mengenal 2 angka, yaitu "0" dan "1", dimana 0 yang berarti tidak bernilai dan 1 yang artinya bernilai, seperti layaknya iya dan tidak. Komputer bekerja berdasarkan perintah, dan perintah itu berisi kombinasi rangkaian angka 0 dan 1 yang menjadi modul dasar komputer untuk bekerja. Loncatan-loncatan elektron listrik yang biasa disebut pulse merupakan cara komputer bekerja mengirim sinyal untuk melakukan perintah operasional.

Angka eksak merupakan hasil pendekatan perhitungan dari angka numerik, karena pada dasarnya secara keseluruhan nilai yang sebenarnya didapat secara akurat hanya bisa di hitung dengan angka numerik.

Berikut merupakan soal yang diberikan.

29244.png


Dalam mengerjakan soal diatas dengan x=1 tidak bisa mendapatkan hasil yang benar dikarenakan 0/0. Oleh sebab itu, saya gunakan limit pendekatan x=1. Saya menambahkan fungsi hingga perbedaan 1/999999 yang mendekati angka nol, sehingga hasil pendekatan dari perhitungan tidak menjauhi hasil sebenarnya dalam eksak.


Metode Numerik1.jpg

Jadi hasilnya secara numerik mendekati angka 2, dan dapat dianggap secara eksak hasilnya adalah 2. Namun, dosen kami Bapak Dr. Ir. Ahmad Indra Siswantara menitip pesan agar tidak lupa diri terhadap yang punya kehidupan kita, walau kita sudah sejauh ini mengerti akan teknologi. Ditengah maraknya perkembangan teknologi yang pesat, kadang kita melunturkan sisi lain dari kehidupan kita, yaitu agama. Dimana hubungan kita pribadi dengan Tuhan YME merupakan dasar acuan kehidupan kita sehari-hari.

Hiburan Minggu 3

80092.png

Diberikan persamaan seperti diatas, carilah nilai dari x pada persamaan tersebut!

Hiburan 3.JPG

Python Script :

   def f(x): 
      return 8*x**3 + 2*x**2 + x - 1
   def fprime(x):
      return 24*x**2 + 4*x +1
   
   ep = 0.001
   
   gu = -10
   i = 0
   
   print('Diberikan fungsi sebagai berikut:'
         '8*x**3 + 2*x**2 + x - 1 = 0'
         'Carilah nilai x dari persamaan diatas')
   
   print('Hasil perhitungan oleh Python 3.7')
   
   while abs(f(gu)) >= ep:
      gu = gu - (f(gu)/fprime(gu))
      i += 1
      print(' ' + str(i) + ' ' + str(round(gu,7)))
   
   print('Hasil pendekatannya adalah ' + str(round(gu,2)) +
         '| gagal untuk menghitung: ' + str(i) + ' kali' )

Hiburan Minggu 4

Pada hiburan minggu ke-4 & ke-5, kami diajarkan untuk menggunakan matriks dalam menyelesaikan suatu persoalan yang menggunakan persamaan. Dikerjakan dalam Python dengan memasukan modul pengerjaan.

PR sesi 4.jpg

Secara teori, digunakan hukum kontinuitas massa sehingga didapati rumus Q*p=Q*p dan didapatakan 4 persamaan dengan 4 variabel

6C1 - 4C2 = 50

-2C1 - 1C3 + 4C4 = 50

7C2 - 3C3 - 4C4 = 0

-4C1 + 4C3 = 0

Kemudian, kita munculkan seakan-akan ada variabel lain, walau bernilai 0

6C1 - 4C2 + 0C3 + 0C4 = 50

-2C1 + 0C2 - 1C3 + 4C4 = 50

0C1 + 7C2 - 3C3 - 4C4 = 0

-4C1 + 0C2 + 4C3 + 0C4 = 0

Didapat sususan matriksnya seperti dibawah :

   A =   6 -4  0  0      B =  50
        -2  0 -1  4           50    
         0  7 -3 -4            0
        -4  0  4  0            0 
 

Lalu, matriks ini dimasukkan kedalam untuk dicari hasil perhitungannya

Capture.JPG

Python Script :

   import numpy as np
   
   #1. define matrix
   
   A=np.array ([[6,-4,0,0], [-2,0,-1,4], [0,7,-3,-4], [-4,0,4,0]],float)
   B=np.array ([50,50,0,0],float)
   
   n=len(A)
   
   
   #2. eliminasi gauss
   
   for k in range (0,n-1):
       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)
   print ('matrix B :', '\n', B)
   
   #3. back substitution
   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 ('nilai X', m+1, '=', x[m])


Hiburan Minggu 5

Pada minggu kelima, kami diajarkan cara penggunaan turunan menggunakan Python dengan Metode Runge Kutta orde 4, kali ini diajarkan dengan menggunakan excel terlebih dahulu untuk mempermudah pemahaman terkait pendekatan metode ini terhadap turunan yang berlaku, berikut merupakan penjelasan singkat dari metode ini:

1. Metode Runge-Kutta adalah alternatif lain dari metode deret Taylor yang tidak membutuhkan perhitungan turunan.

2. Metode ini menawarkan penyelesaian persamaan diferensial dengan pertumbuhan truncation error yang jauh lebih kecil.

3. Truncation error adalah kesalahan / penyimpangan nilai yang timbul akibat pemotongan suku pada suatu deret atau rumus dalam approksimasi.

Runge-kutta1.JPG


DIberikan contoh soal seperti dibawah ini:


RungeKuts2.png

Jawaban dalam excel yang telah dibuat:


RungeKuts3.JPG

Hiburan Minggu 6 (Quis)

Pada hiburan Minggu ke-6 kami dikelas diminta untuk mengerjakan quis dengan soal pertama No.6 Halaman 55 & soal kedua No.1 Halaman 263 dari buku Jaan Kiusalaas - Numerical Methods in Engineering.

Berikut jawaban dari tiap kuis :

Nomor 1 (Soal & Jawaban)

Soal Quis 1.JPG

Quiz Soal 1.JPG

Python Script :

   import numpy as np
   
   #1. define matrix
   
   A=np.array ([[1,2,0,-2,0], [0,1,0,2,-1], [0,0,2,1,2], [0,0,0,-1,1], [0,1,-1,1,-1]],float)
   B=np.array ([1,1,-4,-2,-1],float)
   
   n=len(A)
   
   
   #2. eliminasi gauss
   
   for k in range (0,n-1):
       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)
   print ('matrix B :', '\n', B)
   
   #3. back substitution
   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 ('nilai X', m+1, '=', x[m])


Nomor 2 (Soal dan Jawaban)

Soal Quis 2.JPG

Quiz Soal 2.JPG

Python Script :

   import numpy as np
   
   
   def diff_y (x,y):
   fungsi = x**2 - 4*y
   return (fungsi)
   x = 0
   y = 1
   h = 0.01
   step_size = np.arange (0,0.03,h)
   
   for t in step_size:
   k1 = diff_y (x,y)
   k2 = diff_y ((x+0.5*h), (y+0.5*k1*h))
   
   y = y + k1*h
   
   print ('maka y(0.03) adalah', y)

Ujian Tengah Semester

Jawaban Soal Pertama

Jawaban UTS Nomor 1.JPG


Script Python Jawaban No.1

   import math
   
   #1. Pertanyaan untuk fungsi
   print('Diberikan fungsi sin teta = m4/(m1+m2+m3)')
   print('Nilai m1?')
   m1=eval(input())
   print('Nilai m2?')
   m2=eval(input())
   print('Nilai m3?')
   
   m3=eval(input())
   print('Nilai m4?')
   m4=eval(input())
   
   #2. Menentukan nilai a
   a = 0
   
   #3. Menentukan fungsi sin teta
   x = m4
   y = (m1+m2+m3)
   alfa = m4 / (m1+m2+m3)
   
   #4. Mendapatkan hasil sin teta
   print('Jadi, hasil sin teta adalah', alfa)
   
   sudutalfa=math.asin(alfa)
   sudutalfa2=math.degrees(sudutalfa)
   print('jadi nilai sudut alfa adalah',sudutalfa2)


Jawaban Soal Kedua

Jawaban UTS Nomor 2 (3).JPG


Script Python Jawaban No.2

   import numpy as np
   
   print('Berapa gaya percepatan mobil?')
   a = eval(input())
   print('Berapa gaya gesek jalan terhadap mobil?')
   b = eval(input())
   print('Berapa gaya gesek udara terhadap mobil?')
   c = eval(input())
       def diff_v (t,v):
       fungsi = a - b -c
   return (fungsi)
   
   v = 0
   
   h = 1
   step_size = np.arange (0,10,h)
   
   for t in step_size:
       k1 = diff_v (t,v)
       k2 = diff_v ((t+0.5*h), (v+0.5*k1*h))
       k3 = diff_v ((t+0.5*h), (v+0.5*k2*h))
       k4 = diff_v ((t+h), (v+k1*h))
   
       v = v + 1/6*(k1+2*k2+2*k3+k4)*h
   
   print ('maka v setelah 10 detik adalah', v)

Video Pembahasan UTS

UTS No.1

UTS No.2