Difference between revisions of "Ryanson Jonathan"
Line 66: | Line 66: | ||
===Runge-Kutta Method=== | ===Runge-Kutta Method=== | ||
Lebih lengkapnya dapat dilihat di sini: [[Kelompok 2]] | 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). |
Revision as of 17:41, 16 October 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.
Contents
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:
Memindahkan flowchart kedalam Python
Kemudian, flowchart dapat direpresentasikan dalam kode Python sebagai berikut:
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:
2. Function
Metode function digunakan memakai rumus yang sudah ada untuk langsung mencari deret Fibonacci:
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).