Difference between revisions of "Wahyu Nugroho Ramadhan"
(19 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
[[File:calculus12.jpg|300px|center]] | [[File:calculus12.jpg|300px|center]] | ||
+ | |||
Kalkulus merupakan salah satu mata kuliah yang saya pelajari sata semester 1 dan 2 perkuliahan di Fakultas Teknik Universitas Indonesia. Dengan Jurusan Teknik Mesin kini sadar bahwa suatu teknologi paling mutakhir sejatinya berawal dari perhitungan yang matang. Dan kalkulus adalah pondasinya. Seperti ketika kita ingin membuat baling2 pesawat tentu kita harus tau volume benda putarnya agar ketika baling2 berputar tidak terjadi benturan dengan bagian lain. Maka dari itu bisa dibilang kalau kalkulus adalah telapak kaki anak teknik yang akan selalu digunakan untuk berjalan menyusuri dunia perkulihanan hingga pekerjaan | Kalkulus merupakan salah satu mata kuliah yang saya pelajari sata semester 1 dan 2 perkuliahan di Fakultas Teknik Universitas Indonesia. Dengan Jurusan Teknik Mesin kini sadar bahwa suatu teknologi paling mutakhir sejatinya berawal dari perhitungan yang matang. Dan kalkulus adalah pondasinya. Seperti ketika kita ingin membuat baling2 pesawat tentu kita harus tau volume benda putarnya agar ketika baling2 berputar tidak terjadi benturan dengan bagian lain. Maka dari itu bisa dibilang kalau kalkulus adalah telapak kaki anak teknik yang akan selalu digunakan untuk berjalan menyusuri dunia perkulihanan hingga pekerjaan | ||
Line 128: | Line 129: | ||
== Pertemuan Kelima == | == Pertemuan Kelima == | ||
+ | |||
+ | 2 Oktober 2019 | ||
Pertemuan kelima mahasiswa kelas metode numerik diberi pembelajaran tentang penurunan rumus pegas seri 4 untuk rungi kuta | Pertemuan kelima mahasiswa kelas metode numerik diberi pembelajaran tentang penurunan rumus pegas seri 4 untuk rungi kuta | ||
[[File:pegas12.png]] | [[File:pegas12.png]] | ||
+ | |||
+ | |||
+ | |||
== Pertemuan Keenam == | == Pertemuan Keenam == | ||
+ | 9 oktober 2019 | ||
+ | |||
+ | Pada pertemuan saya belajar bahwa dalan dunia engineering banyak hal/permasalahan engineering yang belum terselesaikan. Untuk menyelesaikan permasalahan tersebut terkadang diperlukan tools khusus. salah satunya adalah RUnge kutta. kita semua tentu menyadari bahwa dalam melakukan perhitungan untuk menyelesaikan permasalahanan engineering kita sering salah metode sehingga hasilnya tidak akurat karena perhitungan kita menggunakan perhitungan aritmtika biasa. Lalu apa itu ruge kutta? | ||
+ | |||
+ | Jika kita melakukan perhitungan aritmatika biasa itu ibarat kita berjalan dengan langkah yang besar kesuatu tujuan lalu jika menggunakan RUnge kutta ibarat kita berjalan dengan langkah kecil ketempat yang sama. Perhitungan dengan aritmatika itu cepat dan mudah namun akurasinya ditak terlalu tingi, beda dengan menggunakan Runge Kutta kita ibarat berjalan dengan langkah kecil. Perhitungan runge kutta memerlukan pengulangan yang banyak namun hasinya akutat. Runge kutta sendiri terdiri dari 4 orde. Orde ini melambangkan tingkat akurasi dari runge kutta, orde 4 merupakan orde dg tingkat akurasi tertinggi | ||
+ | |||
+ | [[File:pertemuan6.png]] | ||
== Pertemuan Ketujuh == | == Pertemuan Ketujuh == | ||
+ | |||
+ | 16 Oktober 2019 | ||
membuat algoritma python unutk soal | membuat algoritma python unutk soal | ||
Line 224: | Line 239: | ||
== Pertemuan Kedelapan == | == Pertemuan Kedelapan == | ||
+ | |||
+ | 23 Oktober 2019 | ||
+ | UTS | ||
+ | |||
+ | soal tegangan tali | ||
+ | |||
+ | m1= 10 N | ||
+ | m2= 20N | ||
+ | m3= 30N | ||
+ | |||
+ | alfa 30 derajat | ||
+ | sin 30 = 0.5 | ||
+ | |||
+ | print ('Program perkalian matriks [A]*[B]=[C]') | ||
+ | |||
+ | from numpy import * | ||
+ | A = array([[0.5,0,0],\ | ||
+ | [0.5,0.5,0],\ | ||
+ | [0.5,0.5,0.5]]) # A berukuran 3x3 | ||
+ | B = array([[10.],\ | ||
+ | [20.],\ | ||
+ | [30.]]) # B berukuran 3x1 | ||
+ | n=3 # jumlah baris matrik A | ||
+ | m=1 # jumlah kolom matrik B | ||
+ | p=3 # jumlah kolom matrik A sekaligus jumlah baris matrik B | ||
+ | C = zeros((n,m)) | ||
+ | for i in range(0,n): | ||
+ | for j in range(0,m): | ||
+ | for k in range(0,p): | ||
+ | C[i][j]=C[i][j]+A[i][k]*B[k][j] | ||
+ | |||
+ | print () | ||
+ | print ('matriks A') | ||
+ | print (A) | ||
+ | print () | ||
+ | print ('matriks B') | ||
+ | print (B) | ||
+ | print () | ||
+ | print ('matriks C (hasil)') | ||
+ | print (C) | ||
+ | |||
+ | #maka nilai tegangan tali adalah 30 N | ||
+ | |||
+ | menyelesaikan soal A1 cara lain | ||
+ | from math import * | ||
+ | #Input Data | ||
+ | |||
+ | m1 = eval(input('masukkan nilai massa benda 1: ')) | ||
+ | m2 = eval(input('masukkan nilai massa benda 2: ')) | ||
+ | m3 = eval(input('masukkan nilai massa benda 3: ')) | ||
+ | teta = eval(input('masukkan nilai sudut miring: ')) | ||
+ | ns = eval(input('masukkan nilai koefisien gesek statis: ')) | ||
+ | g = eval(input('masukkan nilai konstanta gravitasi: ')) | ||
+ | |||
+ | #Mencari data besar gaya gesek yang diterima benda | ||
+ | |||
+ | y = sin(teta) | ||
+ | x = cos(teta) | ||
+ | |||
+ | Fgesek1 = (m1*g*x*ns) | ||
+ | Fgesek2 = (m2*g*x*ns) | ||
+ | Fgesek3 = (m3*g*x*ns) | ||
+ | |||
+ | #Rumus Tegangan tali T=m*g*sin(teta)+Fgesek | ||
+ | |||
+ | T1 = (m1*g*y+Fgesek1) | ||
+ | T2 = (m2*g*y+Fgesek2 + T1) | ||
+ | T3 = (m3*g*y+Fgesek3 + T2) | ||
+ | T4 = (T3) | ||
+ | |||
+ | m4 = (T4/g) | ||
+ | |||
+ | #Data Hasil Perhitungan \ | ||
+ | |||
+ | print('Nilai Tegangan 1 adalah = ',T1) | ||
+ | print('Nilai Tegangan 2 adalah = ',T2) | ||
+ | print('Nilai Tegangan 3 adalah = ',T3) | ||
+ | print('Nilai Tegangan 4 adalah = ',T4) | ||
+ | print('Nilai massa 4 adalah = ',m4) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Soal !B | ||
+ | |||
+ | |||
+ | from math import * | ||
+ | |||
+ | g = 9.8 | ||
+ | |||
+ | #input data | ||
+ | a0 = eval(input('percepatan awal mobil: ')) | ||
+ | v = eval(input('masukkan nilai top speed: ')) | ||
+ | cd = eval(input('masukkan nilai drag coeficient: ')) | ||
+ | m = eval(input('masukkan nilai massa mobil: ')) | ||
+ | nk = eval(input('masukkan nilai koefisien gesek kinetis: ')) | ||
+ | |||
+ | #Nilai Percepatan | ||
+ | fs = g*nk | ||
+ | fd = (cd*v**1.5)/m | ||
+ | a = a0-(fs+fd) | ||
+ | |||
+ | #menentukan nilai waktu untuk mencapai top speed | ||
+ | t = v/a | ||
+ | |||
+ | |||
+ | Video Muhasabah diri | ||
+ | [[File:Muhasabahwahyu.MP4]] | ||
+ | |||
+ | <comments vottimg"plus"/> | ||
+ | |||
+ | |||
+ | |||
+ | == Pertemuan Kesembilan == | ||
+ | |||
+ | 30 Oktober 2019 | ||
+ | |||
+ | [[File:pertemuan9.jpg|500px|tumbl|left|alt text]] | ||
+ | |||
+ | from math import * | ||
+ | |||
+ | #mendefinisikan nilai besaran gravitasi | ||
+ | g = 10 | ||
+ | t0 = 0 | ||
+ | v0 = 0 | ||
+ | dt = 1 | ||
+ | err = 100 | ||
+ | |||
+ | #input data | ||
+ | a0 = eval(input('input percepatan awal: ')) | ||
+ | cd = eval(input('input drag coeficient: ')) | ||
+ | m = eval(input('input massa mobil: ')) | ||
+ | nk = eval(input('input koefisien gesek kinetis: ')) | ||
+ | |||
+ | #rumus percepatan total | ||
+ | fs = g*nk | ||
+ | fd = (cd*v0**1.5)/m | ||
+ | a = a0-(fs+fd) | ||
+ | |||
+ | #rumus top speed dg runge kutta | ||
+ | def dvdt(t0, v0): | ||
+ | return a0-(fs+fd) | ||
+ | |||
+ | time = [] | ||
+ | |||
+ | while err > 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 | ||
+ | err = ((v1 - v0) / v1) * 100 | ||
+ | v0 = v1 | ||
+ | time.append(v1) | ||
+ | |||
+ | t = len(time) | ||
+ | |||
+ | #hasil perhitungan | ||
+ | print('Percepatan total mobil adalah = ',a) | ||
+ | print('waktu utnuk top speed adalah = ',t + 1) | ||
+ | print("velocity maksimal adalah: ", v1) | ||
+ | |||
+ | |||
+ | == Pertemuan Kesepuluh == | ||
+ | |||
+ | [[File:pertemuan10.jpg]] | ||
+ | |||
+ | 6 November 2019 | ||
+ | |||
+ | Pada pertemuan ini kmai diajarkan cara berpikir seorang engineer dan juga cara berpikir seorang programer. Permikiran seorang engineer sering biasanya terorientasi ada pemecahan masalah baik susah maupun mudah. Biasa seorang engineer adalah orang yang terstruktur dan sistematis agar kasus yang sedang dikerjakan bisa selesai dengan hasil yang memuaskan. Lalu cara berpikir seorang programer biasanya simpel dan juga bisa mentranslate bahasa. Untuk itu sangat diperlukan pembiasaan diri untuk melatih kemampuan seorang engineer dan programer. salah sat tools yang bisa digunakan untuk melatih diri adalah dnegan membaca buku referensi. Buku bacaan dapat mempercepat input ilmu kedalam pikiran karena kita yang membaca buku referensi ibarat sudah melakukan isi buku tersebut dengan kata lain kita sudah dapat ilmu tanpa perlu percobaan yang berulang-ulang. Cukup membaca. Sayangnya saat ini buku referensi Metode Numerik masih menggunakan rujukan lama yang belum menyesuaikan perkembangan zaman terutama revolusi industri 4.0 | ||
+ | |||
+ | |||
+ | |||
+ | == Pertemuan Kesebelas == | ||
+ | |||
+ | [[File:pertemuan11.jpg|500px|tumbl|left|alt text]] | ||
+ | |||
+ | |||
+ | 13 November 2019 | ||
+ | |||
+ | Pada pertemuan ini diisi oleh Bang Edo dan Bang Timo yang mengajarkan curve fitting. Pada proses engineering kita selalu berorinetasi pada produk/penyelesaian masalah yang bisa menghasilkan output terbaik. Definisi terbaik ini perlu dijabarkan lebih lanjut karena setiap produk engineer punya kapasitas terbaiknya. Untuk bisa menghasilkan output terbaik diperlukan input yang baik juga. Biasanya kita bisa memperoleh grafik hubungan input dengan grafik hubungan output setelah kita membuat sistem operasinya. dari grafik hubugan tersebut dapat kita tentukan nilai output maksimal yang bisa kita peroleh. | ||
+ | |||
+ | |||
+ | Ouput maksimal ini tentu akan menghemat resouce dan waktu yang ada sehingga efisiensi kerja mesin/sistem lebih baik. Disini peran metode numerik diperlukan. Selain bisa menciptakan algoritma untuk menyelesaikan permasalahan engineering, metode numerik juga bisa digunakan untuk menentukan nilai optimum dalam suatu sistem yang dibuat dengan menambahkan algoritma dan batasan-batasan. | ||
+ | |||
+ | |||
+ | |||
+ | == Pertemuan Keduabelas == | ||
+ | |||
+ | 20 November 2019 | ||
+ | |||
+ | Pada Pertemuan ini kami diajarkan melakukan optimasi menggunakan CFDSOFF | ||
+ | Dengan desaig mobila yang dibuat oleh asisten, kami diajarkan untuk input file dan memasukan batas-batas pada CFDSOFF | ||
+ | |||
+ | Dengan batasan yang telah dibuat kami berhasil memperoleh data sebagai berikut | ||
+ | |||
+ | |||
+ | [[File:pertemuan121.jpg|500px|tumbl|left|alt text]] | ||
+ | |||
+ | [[File:pertemuan122.jpg|500px|tumbl|left|alt text]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == Pertemuan Ketigabelas == | ||
+ | |||
+ | 27 November 2019 | ||
+ | |||
+ | Pada pertemuan ini kami diajarkan melakukan sistem optimasi dengan menggunakan algoritma yang dibuat oleh asisten | ||
+ | |||
+ | import numpy as np | ||
+ | from scipy.optimize import minimize | ||
+ | |||
+ | |||
+ | def calc_drag(x):#drag | ||
+ | x = x[0] | ||
+ | drag = 0.0001*x*4 -0.0049*x3 + 0.1194*x*2 - 1.38*x - 6.927 | ||
+ | return drag | ||
+ | |||
+ | def calc_lift(x): #lift | ||
+ | x = x[0] | ||
+ | lift = -0.00006*x*4 + 0.0066*x3 - 0.0652*x*2 + 1.7418*x + 24.193 | ||
+ | return lift | ||
+ | |||
+ | def objective(x): #sudut yang diminimalkan | ||
+ | return calc_drag(x) | ||
+ | |||
+ | def constraint1(x): #variable SUDUT yang meminimalkan persamaan garis drag | ||
+ | return calc_drag(x) | ||
+ | def constraint2(x): #variable SUDUT yang meminimalkan persamaan garis lift | ||
+ | return calc_lift(x) | ||
+ | |||
+ | con1=({'type':'ineq','fun':constraint1}) | ||
+ | con2=({'type':'ineq','fun':constraint2}) | ||
+ | cons = (con1,con2) | ||
+ | |||
+ | a = (10,90) | ||
+ | batas = [a] | ||
+ | |||
+ | x1_guess = 20 | ||
+ | |||
+ | x0 = np.array([x1_guess]) | ||
+ | |||
+ | sol = minimize(objective,x0, method='SLSQP', bounds=batas, constraints=cons, options={'disp':True}) | ||
+ | |||
+ | xopt = sol.x | ||
+ | forceopt = -sol.fun | ||
+ | |||
+ | dragopt = calc_drag(xopt) # drag optimal | ||
+ | liftopt = calc_lift(xopt) # lift optimal | ||
+ | |||
+ | print ('sudut optimal = '+str(xopt[0])) | ||
+ | print ('total force optimal = '+str(forceopt)) | ||
+ | print ('drag force optimal = '+str(-dragopt)) | ||
+ | print ('lift force optimal = '+str(liftopt)) | ||
+ | |||
+ | |||
+ | == Pertemuan Keempatbelas == | ||
+ | |||
+ | 4 Desember 2019 | ||
+ | |||
+ | Pada pertemuan ini kami mempresetasikan hasil optimasi airfoil yang telah dibuat sendiri | ||
+ | Saya bersama Raihan, dan Jonathan dari kelompok 15 berhasil memperoleh data hasil optimasi sebagai berikut | ||
+ | |||
+ | |||
+ | |||
+ | [[File:pertemuan141.png]] | ||
+ | |||
+ | [[File:pertemuan142.jpg]] | ||
+ | |||
+ | |||
+ | |||
+ | == Pertemuan Kelimabelas == | ||
+ | |||
+ | 11 Desember 2019 | ||
+ | |||
+ | Pada pertemuan ini Pak Dai mengingatkan kita sebagai manusia harus bermuhasabah. Selnjutny Pak dari memebrikan tugas kepada mahasiswa kelas Metode Numerik 02 R sebagai bahan Ujian Akhir Semester sebagai berikut | ||
+ | |||
+ | 1. Kumpulkan hasil MUHASABAH tertuis Anda dikumpulkan langsung ke Pak Dai di loker DTM due date 16 Desember 2019 | ||
+ | 2. Perbaiki /Lengkapi dokumentasi belajar Anda pada wiki pelajar individu dan kelompok di air.eng.ui.ac.id | ||
+ | 3. Combined Oral dan written | ||
+ | |||
+ | == Pertemuan Keenambelas == | ||
+ | |||
+ | 17 Desember 2019 | ||
+ | |||
+ | Pertemuan pada Selasa, 17 Desember merupakan pertemuan terkahir di kelas Metode Numerik 02R di semester ini. Yang berarti telah selesai sudah pembekalan materi oleh Pak Dai, Pak Radon, Bang Edo, dan Bang Timo. Sebelum Ujian Akhir Semester dimiulai kamidiberi tugas untuk menuliskan hasil muhasabah diri kami dalam kertas yang ditulis tangan oleh masing-masing dari kami. Muhasabah tersebut sebagai cerminan diri kami selama satu semester ini apakaha sudah melalui proses belajar MEtone Numerik yang benar atau belum. Selain itu muhasabah diri ini menajdi sarana kami mendekatkan diri kepada ALlah SWT yang telah memberikan kesempatan kepada kami untuk belajar Metode Numerik bersama teman-teman mesin di fakultas teknik Universitas Indonesia. Saya merasa sangat bersyukur atas kesempatan yang diberikan kepada saya karena saya bisa belajar banyak hal dari Pak Dai, Pak Radon, Bang timo, dan Bang Edo | ||
+ | |||
+ | Saya berharap apa yang telah saya peroleh dikelas MetodeNumerik dapat saya manfaatkan untuk memecahkan permasalahan engineerig agar nantinya semakin banyak produk-produk engineering yang bermanfaat bagi banyak orang. Selama mengikuti kelas Metode Numerik saya merasa ada perubahan dalam diri saya yaiut saya sadar bahwa saya sebagai manusia harus terus meningkatkan kapasitas diri karena dunia ini semkin berkembang. Banyak hal sudah diambil alih oleh mesin dan komputer untuk itu saya harus terus belajar agar bisa menguasai mesin dan komputer. Mimpi besar saya adalah bisa menciptakan mesin-pesin peternakan modern di Indonesia untuk meningkatkan prduktivitas hasil ternak Indonesia. Saya yakin dengan ilmu dari jurusan mesin ditambah ilmu di kelas Metode Numerik saya bisa menciptakan mimpi saya ini dikemudian hari. | ||
+ | |||
+ | Saya sangat berterima kasih kepada Pak Dai, Pak Radon, Bang Edo, dan Bang Timo yang telah berbaik hari dan sabar dalam mendidik saya dan teman-teman. Semoga kebaikan Bapak dan Abang sekalian dibalas berlipat oleh Allah SWT. |
Latest revision as of 10:25, 15 December 2019
Contents
- 1 Pertemuan Pertama
- 2 Pertemuan Kedua
- 3 Pertemuan ketiga
- 4 Pertemuan Keempat
- 5 Pertemuan Kelima
- 6 Pertemuan Keenam
- 7 Pertemuan Ketujuh
- 8 Pertemuan Kedelapan
- 9 Pertemuan Kesembilan
- 10 Pertemuan Kesepuluh
- 11 Pertemuan Kesebelas
- 12 Pertemuan Keduabelas
- 13 Pertemuan Ketigabelas
- 14 Pertemuan Keempatbelas
- 15 Pertemuan Kelimabelas
- 16 Pertemuan Keenambelas
Pertemuan Pertama
Telapak Kaki Kalkulus
Rabu, 4 September 2019. MAhasiswa kelas Metode Numerik 02 diberi tugas membuat tulisan dengan tema mengapa kita harus belajar kalkulus
Berikut adalah tulisan saya
Kalkulus merupakan salah satu mata kuliah yang saya pelajari sata semester 1 dan 2 perkuliahan di Fakultas Teknik Universitas Indonesia. Dengan Jurusan Teknik Mesin kini sadar bahwa suatu teknologi paling mutakhir sejatinya berawal dari perhitungan yang matang. Dan kalkulus adalah pondasinya. Seperti ketika kita ingin membuat baling2 pesawat tentu kita harus tau volume benda putarnya agar ketika baling2 berputar tidak terjadi benturan dengan bagian lain. Maka dari itu bisa dibilang kalau kalkulus adalah telapak kaki anak teknik yang akan selalu digunakan untuk berjalan menyusuri dunia perkulihanan hingga pekerjaan
Pertemuan Kedua
Rabu, 11 September 2019
pada pertemuan kedua saya mempelajari fungsi variabel, string, tuplet, dan list
Variable Merupakan pendefinisian suatu hal menggunakan simbol misal A = 2
String Berfungi untuk menggantikan sebuah kalimat panjang menjadi lebih sederhana misal Menu1 = Nasi padang bumbu kacang menu2 = Nasi rawon bumbu kecap
Tuples adalah cara input data agar mudah di cari misal pada nama yang panjang 1. Muhammad 2. Bagus 3. Ferdinan 4. Siregar
Diinput dalam rumus >>> rec("Wahyu","Nugroho","Ramadhan",(06,12,2000)
untuk membuka nama kita gunakan >>> namaDepan,namaTengah,namaBelakang,tanggalLahir=rec
hasilnya adalah kita dapat mencari kata yang dicari dengan memasukan kata kuci tiap-tiap kata misal Wahyu = namaDepan Nugroho = namaTengah Ramadhan = namaBelakang 06,12,200 = tanggalLahir
Pertemuan ketiga
Rabu, 18 September 2019
Pada pertemuan ketiga kita melakukan quiz dengan mengubah bilangan Fibonacci kedalam bahasa pemrograman pyton pada percobaan pertama kami mengerjakan tugas tanpa melihat aplikasi maupun bantuan lainnya jadi bahasa pemrograman yang kami buat di percobaan pertama murni merepresentasikan sejauh mana pengetahuan kami tentang bahsa pemrograman lalu pada percobaan kedua kami diberi clue oleh dosen, dapat membuka aplikasi, maupun bekerja sama dengan teman
pada percobaan kedua kami diberi dua tugas yaitu membuat bahsa programnya serta flowchart
def Fibonacci(n):
if n<0: print("Incorrect input") # First Fibonacci number is 0 elif n==1: return 0 # Second Fibonacci number is 1 elif n==2: return 1 else: return Fibonacci(n-1)+Fibonacci(n-2)
print(Fibonacci( ))
dengan subtitusi angka ke-n maka akan muncul Un
lalu untuk flowchartny
Pertemuan Keempat
Rabu, 25 September 2019
Pada pertemuan keempat mahasiswa kelas metode numerik mempelajari tentang eliminasi gauss
- 07:23, 23 October 2019 (WIB)~inisialisasi matrik augment07:23, 23 October 2019 (WIB)#
A = array([[1.,1.,0.,3.,4],\
[2.,1.,-1.,1.,1],\ [3.,-1.,-1.,2.,-3],\ [-1.,2.,3.,-1,4]])
print ('Matriks A=',A)
- ===== METODE ELIMINASI GAUSS =========#
n=len(A)
- 07:23, 23 October 2019 (WIB)~proses triangularisasi07:23, 23 October 2019 (WIB)07:23, 23 October 2019 (WIB)#
for k in range(0,n-1):
for i in range(k+1,n): m=A[i][k]/A[k][k]
for j in range(0,n+1): A[i][j]=A[i][j]-m*A[k][j]
- 07:23, 23 October 2019 (WIB)~proses substitusi-mundur07:23, 23 October 2019 (WIB)Wahyu.nugroho81 (talk)#
X = zeros((n,1)) X[n-1][0]=A[n-1][n]/A[n-1][n-1] for j in range(n-2,-1,-1):
S=0 for i in range(j+1,n): S=S+A[j][i]*X[i][0] X[j][0]=(A[j][n]-S)/A[j][j]
- ======================================#
print ('X=',5)
Pertemuan Kelima
2 Oktober 2019
Pertemuan kelima mahasiswa kelas metode numerik diberi pembelajaran tentang penurunan rumus pegas seri 4 untuk rungi kuta
Pertemuan Keenam
9 oktober 2019
Pada pertemuan saya belajar bahwa dalan dunia engineering banyak hal/permasalahan engineering yang belum terselesaikan. Untuk menyelesaikan permasalahan tersebut terkadang diperlukan tools khusus. salah satunya adalah RUnge kutta. kita semua tentu menyadari bahwa dalam melakukan perhitungan untuk menyelesaikan permasalahanan engineering kita sering salah metode sehingga hasilnya tidak akurat karena perhitungan kita menggunakan perhitungan aritmtika biasa. Lalu apa itu ruge kutta?
Jika kita melakukan perhitungan aritmatika biasa itu ibarat kita berjalan dengan langkah yang besar kesuatu tujuan lalu jika menggunakan RUnge kutta ibarat kita berjalan dengan langkah kecil ketempat yang sama. Perhitungan dengan aritmatika itu cepat dan mudah namun akurasinya ditak terlalu tingi, beda dengan menggunakan Runge Kutta kita ibarat berjalan dengan langkah kecil. Perhitungan runge kutta memerlukan pengulangan yang banyak namun hasinya akutat. Runge kutta sendiri terdiri dari 4 orde. Orde ini melambangkan tingkat akurasi dari runge kutta, orde 4 merupakan orde dg tingkat akurasi tertinggi
Pertemuan Ketujuh
16 Oktober 2019
membuat algoritma python unutk soal
Prolem set 2.1 hal 55
from numpy import linalg
import numpy as np
bar1 = [0,0,2,1,2]
bar2 = [0,1,0,2,-1]
bar3 = [1,2,0,-2,1]
bar4 = [0,0,0,-1,1]
bar5 = [0,1,-1,1,-1]
nmat = np.array ([bar1,bar2,bar3,bar4,bar5])
print ("n Matrix adalah sebagai berikut:") print (nmat)
cons = np.array ([1,1,-4,-2,-1]) print ("Matrix Y adalah sebagai berikut:") print (cons)
jawab = linalg.solve (nmat,cons)
x1val = int(jawab[0]) x2val = int(jawab[1]) x3val = int(jawab[2]) x4val = int(jawab[3]) x5val = int(jawab[4])
print ("hasil X adalah :")
print ("x1= ",x1val) print ("x2= ",x2val) print ("x3= ",x3val) print ("x4= ",x4val) print ("x5= ",x5val)
PROBLES SET 7.1 def dydx(x, y):
return ((x**2 - 4*y))
- Finds value of y for a given x using step size h
- and initial value y0 at x0.
def rungeKutta(x0, y0, x, h):
# Count number of iterations using step size or # step height h n = (int)((x - x0)/h) # Iterate for number of iterations y = y0 for i in range(1, n + 1): "Apply Runge Kutta Formulas to find next value of y" k1 = h * dydx(x0, y) k2 = h * dydx(x0 + 0.5 * h, y + 0.5 * k1) k3 = h * dydx(x0 + 0.5 * h, y + 0.5 * k2) k4 = h * dydx(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 = 0 y = 1 x = 0.03 h = 0.01 print ('The value of y at x is:', rungeKutta(x0, y, x, h))
Pertemuan Kedelapan
23 Oktober 2019 UTS
soal tegangan tali
m1= 10 N m2= 20N m3= 30N
alfa 30 derajat sin 30 = 0.5
print ('Program perkalian matriks [A]*[B]=[C]')
from numpy import * A = array([[0.5,0,0],\
[0.5,0.5,0],\ [0.5,0.5,0.5]]) # A berukuran 3x3
B = array([[10.],\
[20.],\ [30.]]) # B berukuran 3x1
n=3 # jumlah baris matrik A m=1 # jumlah kolom matrik B p=3 # jumlah kolom matrik A sekaligus jumlah baris matrik B C = zeros((n,m)) for i in range(0,n):
for j in range(0,m): for k in range(0,p): C[i][j]=C[i][j]+A[i][k]*B[k][j]
print () print ('matriks A') print (A) print () print ('matriks B') print (B) print () print ('matriks C (hasil)') print (C)
- maka nilai tegangan tali adalah 30 N
menyelesaikan soal A1 cara lain from math import *
- Input Data
m1 = eval(input('masukkan nilai massa benda 1: ')) m2 = eval(input('masukkan nilai massa benda 2: ')) m3 = eval(input('masukkan nilai massa benda 3: ')) teta = eval(input('masukkan nilai sudut miring: ')) ns = eval(input('masukkan nilai koefisien gesek statis: ')) g = eval(input('masukkan nilai konstanta gravitasi: '))
- Mencari data besar gaya gesek yang diterima benda
y = sin(teta) x = cos(teta)
Fgesek1 = (m1*g*x*ns) Fgesek2 = (m2*g*x*ns) Fgesek3 = (m3*g*x*ns)
- Rumus Tegangan tali T=m*g*sin(teta)+Fgesek
T1 = (m1*g*y+Fgesek1) T2 = (m2*g*y+Fgesek2 + T1) T3 = (m3*g*y+Fgesek3 + T2) T4 = (T3)
m4 = (T4/g)
- Data Hasil Perhitungan \
print('Nilai Tegangan 1 adalah = ',T1) print('Nilai Tegangan 2 adalah = ',T2) print('Nilai Tegangan 3 adalah = ',T3) print('Nilai Tegangan 4 adalah = ',T4) print('Nilai massa 4 adalah = ',m4)
Soal !B
from math import *
g = 9.8
- input data
a0 = eval(input('percepatan awal mobil: ')) v = eval(input('masukkan nilai top speed: ')) cd = eval(input('masukkan nilai drag coeficient: ')) m = eval(input('masukkan nilai massa mobil: ')) nk = eval(input('masukkan nilai koefisien gesek kinetis: '))
- Nilai Percepatan
fs = g*nk fd = (cd*v**1.5)/m a = a0-(fs+fd)
- menentukan nilai waktu untuk mencapai top speed
t = v/a
Video Muhasabah diri
Pertemuan Kesembilan
30 Oktober 2019
from math import *
- mendefinisikan nilai besaran gravitasi
g = 10 t0 = 0 v0 = 0 dt = 1 err = 100
- input data
a0 = eval(input('input percepatan awal: ')) cd = eval(input('input drag coeficient: ')) m = eval(input('input massa mobil: ')) nk = eval(input('input koefisien gesek kinetis: '))
- rumus percepatan total
fs = g*nk fd = (cd*v0**1.5)/m a = a0-(fs+fd)
- rumus top speed dg runge kutta
def dvdt(t0, v0):
return a0-(fs+fd)
time = []
while err > 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 err = ((v1 - v0) / v1) * 100 v0 = v1 time.append(v1)
t = len(time)
- hasil perhitungan
print('Percepatan total mobil adalah = ',a) print('waktu utnuk top speed adalah = ',t + 1) print("velocity maksimal adalah: ", v1)
Pertemuan Kesepuluh
6 November 2019
Pada pertemuan ini kmai diajarkan cara berpikir seorang engineer dan juga cara berpikir seorang programer. Permikiran seorang engineer sering biasanya terorientasi ada pemecahan masalah baik susah maupun mudah. Biasa seorang engineer adalah orang yang terstruktur dan sistematis agar kasus yang sedang dikerjakan bisa selesai dengan hasil yang memuaskan. Lalu cara berpikir seorang programer biasanya simpel dan juga bisa mentranslate bahasa. Untuk itu sangat diperlukan pembiasaan diri untuk melatih kemampuan seorang engineer dan programer. salah sat tools yang bisa digunakan untuk melatih diri adalah dnegan membaca buku referensi. Buku bacaan dapat mempercepat input ilmu kedalam pikiran karena kita yang membaca buku referensi ibarat sudah melakukan isi buku tersebut dengan kata lain kita sudah dapat ilmu tanpa perlu percobaan yang berulang-ulang. Cukup membaca. Sayangnya saat ini buku referensi Metode Numerik masih menggunakan rujukan lama yang belum menyesuaikan perkembangan zaman terutama revolusi industri 4.0
Pertemuan Kesebelas
13 November 2019
Pada pertemuan ini diisi oleh Bang Edo dan Bang Timo yang mengajarkan curve fitting. Pada proses engineering kita selalu berorinetasi pada produk/penyelesaian masalah yang bisa menghasilkan output terbaik. Definisi terbaik ini perlu dijabarkan lebih lanjut karena setiap produk engineer punya kapasitas terbaiknya. Untuk bisa menghasilkan output terbaik diperlukan input yang baik juga. Biasanya kita bisa memperoleh grafik hubungan input dengan grafik hubungan output setelah kita membuat sistem operasinya. dari grafik hubugan tersebut dapat kita tentukan nilai output maksimal yang bisa kita peroleh.
Ouput maksimal ini tentu akan menghemat resouce dan waktu yang ada sehingga efisiensi kerja mesin/sistem lebih baik. Disini peran metode numerik diperlukan. Selain bisa menciptakan algoritma untuk menyelesaikan permasalahan engineering, metode numerik juga bisa digunakan untuk menentukan nilai optimum dalam suatu sistem yang dibuat dengan menambahkan algoritma dan batasan-batasan.
Pertemuan Keduabelas
20 November 2019
Pada Pertemuan ini kami diajarkan melakukan optimasi menggunakan CFDSOFF Dengan desaig mobila yang dibuat oleh asisten, kami diajarkan untuk input file dan memasukan batas-batas pada CFDSOFF
Dengan batasan yang telah dibuat kami berhasil memperoleh data sebagai berikut
Pertemuan Ketigabelas
27 November 2019
Pada pertemuan ini kami diajarkan melakukan sistem optimasi dengan menggunakan algoritma yang dibuat oleh asisten
import numpy as np from scipy.optimize import minimize
def calc_drag(x):#drag
x = x[0] drag = 0.0001*x*4 -0.0049*x3 + 0.1194*x*2 - 1.38*x - 6.927 return drag
def calc_lift(x): #lift
x = x[0] lift = -0.00006*x*4 + 0.0066*x3 - 0.0652*x*2 + 1.7418*x + 24.193 return lift
def objective(x): #sudut yang diminimalkan
return calc_drag(x)
def constraint1(x): #variable SUDUT yang meminimalkan persamaan garis drag
return calc_drag(x)
def constraint2(x): #variable SUDUT yang meminimalkan persamaan garis lift
return calc_lift(x)
con1=({'type':'ineq','fun':constraint1}) con2=({'type':'ineq','fun':constraint2}) cons = (con1,con2)
a = (10,90) batas = [a]
x1_guess = 20
x0 = np.array([x1_guess])
sol = minimize(objective,x0, method='SLSQP', bounds=batas, constraints=cons, options={'disp':True})
xopt = sol.x forceopt = -sol.fun
dragopt = calc_drag(xopt) # drag optimal liftopt = calc_lift(xopt) # lift optimal
print ('sudut optimal = '+str(xopt[0])) print ('total force optimal = '+str(forceopt)) print ('drag force optimal = '+str(-dragopt)) print ('lift force optimal = '+str(liftopt))
Pertemuan Keempatbelas
4 Desember 2019
Pada pertemuan ini kami mempresetasikan hasil optimasi airfoil yang telah dibuat sendiri Saya bersama Raihan, dan Jonathan dari kelompok 15 berhasil memperoleh data hasil optimasi sebagai berikut
Pertemuan Kelimabelas
11 Desember 2019
Pada pertemuan ini Pak Dai mengingatkan kita sebagai manusia harus bermuhasabah. Selnjutny Pak dari memebrikan tugas kepada mahasiswa kelas Metode Numerik 02 R sebagai bahan Ujian Akhir Semester sebagai berikut
1. Kumpulkan hasil MUHASABAH tertuis Anda dikumpulkan langsung ke Pak Dai di loker DTM due date 16 Desember 2019 2. Perbaiki /Lengkapi dokumentasi belajar Anda pada wiki pelajar individu dan kelompok di air.eng.ui.ac.id 3. Combined Oral dan written
Pertemuan Keenambelas
17 Desember 2019
Pertemuan pada Selasa, 17 Desember merupakan pertemuan terkahir di kelas Metode Numerik 02R di semester ini. Yang berarti telah selesai sudah pembekalan materi oleh Pak Dai, Pak Radon, Bang Edo, dan Bang Timo. Sebelum Ujian Akhir Semester dimiulai kamidiberi tugas untuk menuliskan hasil muhasabah diri kami dalam kertas yang ditulis tangan oleh masing-masing dari kami. Muhasabah tersebut sebagai cerminan diri kami selama satu semester ini apakaha sudah melalui proses belajar MEtone Numerik yang benar atau belum. Selain itu muhasabah diri ini menajdi sarana kami mendekatkan diri kepada ALlah SWT yang telah memberikan kesempatan kepada kami untuk belajar Metode Numerik bersama teman-teman mesin di fakultas teknik Universitas Indonesia. Saya merasa sangat bersyukur atas kesempatan yang diberikan kepada saya karena saya bisa belajar banyak hal dari Pak Dai, Pak Radon, Bang timo, dan Bang Edo
Saya berharap apa yang telah saya peroleh dikelas MetodeNumerik dapat saya manfaatkan untuk memecahkan permasalahan engineerig agar nantinya semakin banyak produk-produk engineering yang bermanfaat bagi banyak orang. Selama mengikuti kelas Metode Numerik saya merasa ada perubahan dalam diri saya yaiut saya sadar bahwa saya sebagai manusia harus terus meningkatkan kapasitas diri karena dunia ini semkin berkembang. Banyak hal sudah diambil alih oleh mesin dan komputer untuk itu saya harus terus belajar agar bisa menguasai mesin dan komputer. Mimpi besar saya adalah bisa menciptakan mesin-pesin peternakan modern di Indonesia untuk meningkatkan prduktivitas hasil ternak Indonesia. Saya yakin dengan ilmu dari jurusan mesin ditambah ilmu di kelas Metode Numerik saya bisa menciptakan mimpi saya ini dikemudian hari.
Saya sangat berterima kasih kepada Pak Dai, Pak Radon, Bang Edo, dan Bang Timo yang telah berbaik hari dan sabar dalam mendidik saya dan teman-teman. Semoga kebaikan Bapak dan Abang sekalian dibalas berlipat oleh Allah SWT.
Enable comment auto-refresher
I.gede81
Permalink |