Difference between revisions of "Ahmad Muzakki"
(→Kuliah Metode Numerik, 3 Desember 2019) |
|||
(64 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | + | ---- | |
− | |||
− | |||
− | |||
− | Selasa, | + | == Profil == |
+ | Nama : Ahmad Muzakki | ||
+ | |||
+ | NPM : 1706986284 | ||
+ | |||
+ | Jurusan : Teknik Mesin | ||
+ | |||
+ | == Pertemuan 1 (Selasa, 3 September 2019) == | ||
+ | |||
+ | Pada pertemuan kali ini dibuka dengan penjelasan mengenai betapa pentingnya mata kuliah '''Metode Numerik''' yang sebelumnya kita juga sudah mempelajari '''Kalkulus 1''', '''Kalkulus 2''', '''Aljabar Linear''' dan '''Matematika Teknik''', yang dimana diajarkan cara menyelesaikan suatu masalah dengan cara '''Eksak'''. Namun cara tersebut tidak cukup efektif digunakan untuk menyelesaikan permasalahan yang sangat rumit atau melibatkan suku yang jumlahnya takhingga. | ||
+ | Metode Numerik adalah suatu operasi memformulasikan persamaan matematika. Dalam penghitungan manusia dan kalkulator sederhana memiliki keterbatasan sehingga penghitungan numerik menggunakan komputasi. Salah satu komputasi paling sederhana yaitu menggunakan Microsoft Excel. Dengan komputasi dapat melakukan penghitungan lebih efisien dan akurat. Materi pertemuan hari ini diberikan studi kasus formulasi yang digunakan untuk menghitung Deret Taylor dari Sin phi/7. Deret Taylor ini untuk mengaproksimasikan nilai fungsi dengan jumlah dari turunan yang tak terhingga. Dalam menghitung fungsi ini terdapat beberapa konstanta yaitu: | ||
+ | |||
+ | i = turunan ke-i | ||
+ | |||
+ | X = phi/7 | ||
+ | |||
+ | Ratio = suku n/suku n-1 yang dimasukkan dengan rumus = -1*(Nilai X)^2/((2*Nilai i+1)) | ||
+ | |||
+ | Suku = Dimasukkan dengan rumus = Suku ke-n*Rasio pada nilai i | ||
+ | |||
+ | Fungsi = Dimasukkan dengan rumus = Fungsi ke n-1 + Suku ke n | ||
+ | |||
+ | Error = Dimasukkan dengan rumus = ABS(suku ke n/fungsi ke n-1) | ||
+ | |||
+ | |||
+ | [[File:Numerical Methods Taylor Series Method.jpg]] | ||
+ | |||
+ | |||
+ | [[File:Rumus Taylor Series Sin.png]] | ||
+ | |||
+ | |||
+ | [[File:Screenshot Pertemuan 1 Metnum.png]] | ||
+ | |||
+ | |||
+ | Berdasarkan hasil komputasi dari table diatas, maka nilai dari Sin(phi/7) = 0.43388. | ||
+ | Hasil yang didapat dari nilai Sin(phi/7) juga ditentukan berdasarkan '''nilai error''' yang diperlukan, dalam software '''Microsoft Excel''' ini hanya dapat menggunakan maksimal 9 nilai error. | ||
+ | |||
+ | == Tugas 1 == | ||
+ | |||
+ | Tugasnya yaitu mereview materi di pertemuan 1 dengan mencari nilai dari Cos(phi/7) dan e^(phi/7) dengan menggunakan '''Microsoft Excel'''. | ||
+ | |||
+ | 1) Akpromisasikan nilai Cos(phi/7) | ||
+ | |||
+ | [[File:Deret-taylor-dan-mclaurin-6-638.jpg]] | ||
+ | |||
+ | Melihat dari '''Deret Taylor''' Cos(x) maka rationya = -1*(Nilai x)^2/((2*Nilai i)*(2*Nilai i-1)) | ||
+ | |||
+ | [[File:Screenshot cos(phi7).png]] | ||
+ | |||
+ | Berdasarkan table tersebut maka nilai Cos(phi/7)= 0.90097 | ||
+ | |||
+ | 2) Akpromisasikan e^(phi/7) | ||
+ | |||
+ | [[File:2-galat-26-638.jpg]] | ||
+ | |||
+ | Melihat dari '''Deret Taylor''' e^(phi/7) maka rationya = Nilai x/Nilai i | ||
+ | |||
+ | [[File:Screenshot e^(phi7).png]] | ||
+ | |||
+ | Berdasarkan table tersebut maka nilai e^(phi/7) = 1.5664 | ||
+ | |||
+ | |||
+ | == Pertemuan 2 (Selasa, 10 September 2019) == | ||
+ | |||
+ | Pada pertemuan kedua kali ini dilanjutkan materi pembelajaran dengan hal yang tentunya sangat mendasar dalam mata kuliah '''Metode Numerik''', yaitu '''Jenis-jenis Bahasa Pemrograman'''. Jeni-jenis bahas pemrograman sangatlah banyak, namun yang Pak Engkos sebutkan dan jelaskan hanya beberapa saja diantaranya : | ||
+ | |||
+ | - Pseudo Code | ||
+ | |||
+ | - Bahasa Pemrograman C++ | ||
+ | |||
+ | - Python | ||
+ | |||
+ | - Bahasa C | ||
+ | |||
+ | - PHP | ||
+ | |||
+ | - Visual Basic | ||
+ | |||
+ | - Java | ||
+ | |||
+ | - JavaScript | ||
+ | |||
+ | Kemudian Pak Engkos memberikan contoh penerapan dari salah satunya, yaitu '''Pseudo Code'''. Berikut merupakan contoh pemrograman untuk mencari nilai dari sin(x) dengan menggunakan '''Pseudo Code''' | ||
+ | |||
+ | i=1 | ||
+ | |||
+ | err=1 | ||
+ | |||
+ | suku=x | ||
+ | |||
+ | sin=suku | ||
+ | |||
+ | while err>1e-7 | ||
+ | |||
+ | { | ||
+ | |||
+ | ratio=-(x^2)/(2*i)/(2*i+1) | ||
+ | |||
+ | suku=suku*ratio | ||
+ | |||
+ | err=abs(suku/sin) | ||
+ | |||
+ | sin=sin+suku | ||
+ | |||
+ | i=i+1 | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | == Pertemuan 3 (Selasa, 17 September 2019) == | ||
+ | |||
+ | '''Turunan numerik''' | ||
+ | |||
+ | Turunan numerik ialah menentukan hampiran nilai turunan fungsi f yang diberikan dalam bentuk table. | ||
+ | Dalam melakukan perhitungan turunan metode numerik, intinya kita sangat dianjurkan untuk menggunakan alat hitung baik kalkulator maupun komputer. Kenapa ?, karena kita akan berurusan dengan angka yang memiliki banyak koma. Kemudian kita juga mendapat data-data berupa nilai-nilai suatu titik (nilai x dan y(f(x)). Kemudian kita akan mengidentifikasi metode yang akan kita gunakan berdasarakan data yang ada atau nilai yang akan kita cari. | ||
+ | |||
+ | Metode yang kita gunakan ada 3, yaitu turunan maju, turunan mundur, dan turunan pusat. Tetapi rumus yang digunakan berbeda untuk rumus turunan ke-1 dan ke-2. Perlu diingatkan juga bahwa jarak antar titik yang akan digunakan dalam perhitungan haruslah sama. | ||
+ | |||
+ | |||
+ | Turunan Maju ('''Forward''') | ||
+ | |||
+ | '''f’(x0) = f(x1)-f(x0)/(x1-x0)''' | ||
+ | |||
+ | [[File:Forward.JPG|800px|thumb|center|]] | ||
+ | |||
+ | |||
+ | |||
+ | Turunan Mundur ('''Backward''') | ||
+ | |||
+ | '''f’(x0) = f(x0)-f(x-1)/(x0-x-1)''' | ||
+ | |||
+ | [[File:Backward.JPG|800px|thumb|center|]] | ||
+ | |||
+ | |||
+ | |||
+ | Turunan Pusat ('''Center''') | ||
+ | |||
+ | '''f’(x0) = f(x+1)-f(x-1)/(x+1-x-1)''' | ||
+ | |||
+ | [[File:Center.JPG|800px|thumb|center|]] | ||
+ | |||
+ | |||
+ | Untuk nilai '''h''' yang sama mengunakan metode '''Center''' sangatlah dianjurkan karena mempunyai tingkat keakuratan yang paling baik. Namun terlepas dari metode yang digunakan untuk mendapatkan nilai dengan keakuratan terbaik bisa didapatkan dengan memasukan nilai '''h''' sekecil mungkin. | ||
+ | |||
+ | |||
+ | |||
+ | == Kuliah Metode Numerik, 24 September 2019 == | ||
+ | |||
+ | Kuliah dimulai dengan ''review'' singkat mengenai energi dan termodinamika. Hal-hal yang di ''review'' antara lain: | ||
+ | |||
+ | [[File:Gibbs.png|200px|thumb|left|Formula energi bebas Gibbs]]Energi dalam, energi yang ada pada suatu benda karena gerak molekulnya | ||
+ | |||
+ | Energi potensial, di mana setiap benda atau energi berusaha mencari potensial terendahnya | ||
+ | |||
+ | Gerak molekul, di mana molekul bergerak secara translasi, rotasi, dan vibrasi. | ||
+ | |||
+ | Energi Gibbs, entalpi dari sebuah sistem dikurangi temperatur dikalikan entropi sistem. Persamaan enegi bebas Gibbs dibuat untuk mempermudah agar tidak lagi diperlukan tabel dan tidak perlu menggunakan interpolasi yang rumit | ||
+ | |||
+ | |||
+ | |||
+ | == Kuliah Metode Numerik, 1 Oktober 2019 == | ||
+ | |||
+ | Pada permulaan kelas, dicoba untuk menyelesaikan persamaan fungsi f(x)=exp(0,1x)+0,1x-10 menggunakan program Excel. Pada program, dimasukkan tiga kolom, kolom x, f(x), dan f'(x). | ||
+ | |||
+ | f'(x) dari f(x) adalah 0,1*exp(0,1x)+0,1 | ||
+ | |||
+ | Dalam program Excel, dapat ditulis sebagai berikut | ||
+ | |||
+ | [[File:fx.PNG]] | ||
+ | |||
+ | '''''Truncation Error''''' | ||
+ | |||
+ | ''Truncation Error'' terjadi ketika kita memotong deret taylor agar membuatnya menjadi terhingga. Sederhananya, error tersebut adalah error yang terjadi ketika ada perbedaan antara jumlah yang terpotong dengan jumlah yang sebenarnya. | ||
+ | |||
+ | Jika kecenderungan numerik sudah terasa logis dan sama dengan eksperimen, maka numerik bisa dianggap layak digunakan. Jika tidak, maka metode numerik belum layak untuk digunakan sebagai cara validasi eksperimen. | ||
+ | |||
+ | |||
+ | |||
+ | == Kuliah Metode Numerik, 29 Oktober 2019 == | ||
+ | |||
+ | Pertemuan hari ini yaitu membahas tentang Bahasa pemrograman (Phyton),yang dimana bahasa yang digunakan bisa dianggap relatif lebih sederhana daripada C++ karena yang harus dideklarasikan lebih sedikit. Diajarkan jikalau Phyton pada umumnya ditulis menggunakan perangkat lunak Phyton DLB. Pada perangkat lunak Phyton DLB, pertama diajarkan untuk memasukkan kode berikut: | ||
+ | |||
+ | import math | ||
+ | |||
+ | math.sqrt (x) | ||
+ | |||
+ | perintah import math diatas membuat Phyton DLB memuat fungsi matematika, sedangkan perintah math.sqrt (x) adalah perintah akar kuadrat, dan x adalah angka yang dikehendaki dicari akarnya. | ||
+ | Perintah math.sqrt juga bisa diganti menjadi perintah lain, yaitu dengan memasukkan kata perintah yang dikehendaki diikuti sama dengan math.sqrt, contohnya: | ||
+ | akar = math.sqrt | ||
+ | Kemudian, mahasiswa diminta untuk menuliskan perintah deklarasi suatu kata sama dengan suatu angka, contohnya: | ||
+ | |||
+ | x = 30 | ||
+ | |||
+ | y = 20 | ||
+ | |||
+ | z = 10 | ||
+ | |||
+ | Diajarkan pula perintah pow atau power, dimana pow adalah perintah untuk memangkatkan. Sebagai contoh, perintah pow (x,y) berarti memerintahkan sistem untuk memangkatkan angka 30 sebanyak 20 kali. | ||
+ | Terakhir diajarkan fungsi string, dimana string adalah fungsi untuk mendeklarasikan suatu kalimat. | ||
+ | Contoh lengkap kode Phyton yang digunakan pada hari ini adalah sebagai berikut: | ||
+ | |||
+ | [[File:29 oktober phyton.jpg]] | ||
+ | |||
+ | |||
+ | |||
+ | '''Pekerjaan Rumah Kelompok''' | ||
+ | |||
+ | Mahasiswa diminta untuk mencari ''governing equation'' dari waktu mobil yang berusaha mencapai top speednya atau kecepatan maksimumnya. Kelompok terdiri dari maksimum setiap kelompoknya beranggotakan 3 orang (yaitu: Zakki, Andi dan Majid), tugasnya yaitu menganalisa suatu gaya apa saja yang bekerja pada mobil ketika bergerak, kemudian diminta untuk merumuskan seberapa lama mobil tersebut mampu mencapai topspeednya. Persamaan matematisnya didapat sebagai berikut: | ||
+ | |||
+ | [[File:Governing equation.jpg]] | ||
+ | |||
+ | variable-variable yang ada di persamaan yaitu: | ||
+ | |||
+ | 1. g = 9.81 | ||
+ | |||
+ | 2. pro udara= 1.2 | ||
+ | |||
+ | 3. Cd koefisien drag | ||
+ | |||
+ | 4. Area m^2 | ||
+ | |||
+ | 5. M massa | ||
+ | |||
+ | 6. U koefisien gesek | ||
+ | |||
+ | 7. a percepatan | ||
+ | |||
+ | 8. t waktu | ||
+ | |||
+ | Dari Persamaan di atas diketahui bahwa F=m*a, F yang bekerja pada mobil yaitu diantaranya F Drive = gaya dorong dari mesin mobil, F Drag = Gaya tahan udara terhadap mobil | ||
+ | F Friction = Gaya gesek ban dengan permukaan tanah, kita masukan kerumus sesuai arahnya. Kemudian yang kita cari pertama kali yaitu akselerasi. Akselerasi dapat diketahui dengan mengurangi F Drive dengan F Drag dan F Friction lagu membaginya dengan massa mobil. Nilai akselerasi nanti akan membagi nilai kecepatan maksimum agar mendapat nilai t maksimal. Dengan persamaan demikian, maka program yang dituliskan di Phyton adalah sebagai berikut: | ||
+ | |||
+ | [[File:Governing equation 1.png]] | ||
+ | |||
+ | '''Untuk pekerjaan rumah berikutnya dikerjakan berkelompok, dengan susunan anggota sebagai berikut:''' | ||
+ | |||
+ | Ahmad Muzakki - 1706986284 | ||
+ | |||
+ | Andi Aditya - 1706036463 | ||
+ | |||
+ | Nur Kholis Majid - 1706036531 | ||
+ | |||
+ | Mahasiswa diberi tugas untuk membuat video presentasi mengenai kode di atas. Untuk kelompok kami, video dapat dilihat di bawah: | ||
+ | |||
+ | [[File:MetNum-04_November_2019.mp4]] | ||
+ | |||
+ | |||
+ | |||
+ | == Kuliah Metode Numerik, 5 November 2019 == | ||
+ | |||
+ | Metode runge kutta adalah metode yang digunakan untuk menyelesaikan Masalah Nilai Awal (MNA) dalam persamaan diferensial. | ||
+ | Hampiran Runge Kutta Orde 3 didefinisikan oleh rumus-rumus berikut. | ||
+ | |||
+ | k1= hf(xi,yi) | ||
+ | |||
+ | k2= hf(xi+1/2h++1/2k1) | ||
+ | |||
+ | k3= hf(xi+h,yi+2k2-k1) | ||
+ | |||
+ | yi+1=yi+1/6(k1+4k2+ k3) | ||
+ | |||
+ | Proses ini diulangi terus sampai memperoleh nilai untuk titik yang diinginkan. | ||
+ | Hampiran Runge Kutta Ordo 4 didefinisikan oleh rumus-rumus berikut. | ||
+ | |||
+ | l1=h f(xi,yi) | ||
+ | |||
+ | l2= hf(xi+1/2h,yi+1/2l1) | ||
+ | |||
+ | l3= hf(xi+1/2h,yi+1/2,l2) | ||
+ | |||
+ | l4= hf(xi+h, yi+l3) | ||
+ | |||
+ | yi+1=yi+1/6(l1+2l2+2l3+ l4) | ||
+ | |||
+ | Proses ini diulangi terus sampai memperoleh nilai untuk titik yang diinginkan. | ||
+ | |||
+ | [[File:Runge Kutha.jpg]] | ||
+ | |||
+ | |||
+ | Metode penyelesaian masalah yaitu dengan merunut permasalahan tersebut, kemudian kita cari tahu factor-factor apa saja yang berhubungan dengan hal tersebut. | ||
+ | |||
+ | [[File:3796.jpg]] | ||
+ | |||
+ | [[File:Penyelesaian masalah.jpg]] | ||
+ | |||
+ | [[File:3800.jpg]] | ||
+ | |||
+ | |||
+ | Selanjutnya diajarkan penggunaan aplikasi CFD untuk mengetahui drag yang dialami oleh mobil, pengaplikasiannya yang kemudian akan digunakan menyelesaikan tugas dipertemuan minggu lalu. | ||
+ | |||
+ | [[File:3802.jpg]] | ||
+ | |||
+ | |||
+ | == Kuliah Metode Numerik, 12 November 2019 == | ||
+ | |||
+ | Pada pertemuan 12 November 2019 mahasiswa mempelajari Metode Runge-Kutta. Metode ini adalah metode yang termasuk dalam golongan metode iteratif implisit dan eksplisit, sama seperti dengan metode Euler | ||
+ | |||
+ | Lalu, mahasiswa mempelajari perangkat lunak CFDSOF-NG. Untuk mempelajari aliran fluida. Langkah yang diajarkan menggunakan CFDSOF adalah sebagai berikut: | ||
+ | |||
+ | 1. Buat ''case'' baru dengan memasukkan nama proyek, lalu tekan ''create case'' | ||
+ | |||
+ | [[File:CFDSOF_1.JPG]] | ||
+ | |||
+ | 2. Masukkan model STL yang akan disimulasikan dengan menekan ''import geometry'' | ||
+ | |||
+ | [[File:CFDSOF_2.JPG]] | ||
+ | |||
+ | 3. Pindah ke bagian ''base mesh'' dan ubah ''mesh'' sesuai kehendak. | ||
+ | |||
+ | [[File:CFDSOF_3_1.JPG]] | ||
+ | |||
+ | 4. Pindah ke bagian ''generate mesh'', dan pastikan titik kuning (titik referensi) berada di luar benda. Untuk memunculkan titik kuning, tekan tombol yang dilingkari dengan lingkaran kuning. Setelah itu tekan ''generate mesh'' | ||
+ | |||
+ | [[File:CFDSOF_4.JPG]] | ||
+ | |||
+ | 5. Pindah ke bagian ''check mesh'' lalu klik ''check mesh''. Jika muncul tulisan ''mesh OK'' maka ia siap dipakai | ||
+ | |||
+ | [[File:CFDSOF_5.JPG]] | ||
+ | |||
+ | 6. Pindah ke bagian ''Simulation model'' dan atur kondisi simulasi sesuai keinginan | ||
+ | |||
+ | [[File:CFDSOF_6.JPG]] | ||
+ | |||
+ | 7. Lalu pindah ke CFD Solve | ||
+ | |||
+ | 8. Pindah ke CFD-Post untuk melihat hasil simulasi. Setelah itu pindah ke Paraview | ||
+ | |||
+ | [[File:PV1.JPG]] | ||
+ | |||
+ | 9. Kemudian cari ''Drag Force'' | ||
+ | |||
+ | [[File:PV2.JPG]] | ||
+ | |||
+ | 10. Hasil dapat dilihat di bawah: | ||
+ | |||
+ | [[File:PV3.JPG]] | ||
+ | |||
+ | == Kuliah Metode Numerik, 19 November 2019 == | ||
+ | |||
+ | Pada perkuliahan 19 November 2019 mahasiswa diminta untuk menggunakan CFDSOF namun menggunakan airfoil sesuai keinginan mahasiswa. Tugas ini dikerjakan berkelompok. ''Airfoil'' yang kelompok kami gunakan memiliki spesifikasi sebagai berikut: MH43; Span 1000; Cord 300; 1 Derajat Kenaikan. | ||
+ | |||
+ | [[File:MH43-D.JPG]] | ||
+ | |||
+ | Langkah pertama yang harus dilakukan adalah mendesain ''airfoil'' menggunakan perangkat lunak desain 3D. | ||
+ | |||
+ | [[File:MH43.JPG]] | ||
+ | |||
+ | Setelah itu file dikonversi menjadi format STL dan dicari nilai ''drag'' dan ''lift'' melalui tahapan CFDSOF | ||
+ | |||
+ | [[File:MH43-1.JPG]] | ||
+ | |||
+ | Pada akhirnya, akan didapat data sebagai berikut: | ||
+ | |||
+ | [[File:MH43-Data.JPG]] | ||
+ | |||
+ | Di mana data tersebut akan berguna pada kode yang akan dimasukkan dalam Python. Kode yang dihasilkan oleh kelompok kami adalah sebagai berikut: | ||
+ | |||
+ | [[File:MH43-C1.JPG]] | ||
+ | |||
+ | [[File:MH43-C2.JPG]] | ||
+ | |||
+ | Dengan demikian, akan didapati nilai optimasi dari ''airfoil'' | ||
+ | |||
+ | == Kuliah Metode Numerik, 26 November 2019 == | ||
+ | |||
+ | Pada pertemuan hari ini kami diberikan kuis yang dikerjakan di kertas folio, kemudian dikumpulkan di akhir pembelajaran. | ||
+ | |||
+ | == Kuliah Metode Numerik, 3 Desember 2019 == | ||
+ | |||
+ | Pada pertemuan kali ini 3 Desember mahasiswa diminta untuk mempresentasikan tugas-tugas besar yang sudah Pak Dai berikan yaitu mulai dari Tugas 1 hingga Tugas 4. Pada kesempatan kali tersebut yang sudah presentasi di kelas hanya 4 kelompok, untuk kelompok yang lain (belum presentasi) dikarenakan waktu yang tidak mencukupi dilempar di hari lain di minggu tersebut. Kelompok kami (Saya Ahmad Muzakki, dan kedua teman saya Andi Aditiya dan Nur Kholis Majid) presentasi pada Kamis, 5 Desember 2019 selepas maghrib kepada Bang Timo dan Bang Edo. | ||
+ | |||
+ | == Kuliah Metode Numerik, 10 Desember 2019 == | ||
+ | |||
+ | Materi perkuliahan hari ini yaitu membahas ANN (Artificial Neural Network). | ||
+ | ANN Adalah sistem pembelajaran terawasi yang dibangun dari sejumlah besar elemen sederhana, yang disebut neuron atau perceptron. Setiap neuron dapat membuat keputusan sederhana, dan meneruskan keputusan itu ke neuron lain pada lapisan selanjutnya. | ||
+ | |||
+ | Langkah dan kode pembuatan ANN adalah sebagai berikut: | ||
+ | |||
+ | 1. Masukkan ''Library'', dalam kasus ini adalah mh.xlsx | ||
+ | |||
+ | [[File:ANN1.JPG]] | ||
+ | |||
+ | 2. Unggah file .xlsx sesuai nama | ||
+ | |||
+ | [[File:ANN2.JPG]] | ||
+ | |||
+ | 3. Lakukan normalisasi agar matriks tidak terlalu besar | ||
+ | |||
+ | [[File:ANN3.JPG]] | ||
+ | |||
+ | 4. Didapati output target. Data dibagi dua, yang pertama untuk training ANN, yang kedua untuk testing ANN. komposisi data 70% untuk training ANN, 30% untuk testing ANN. Grafik output real hanya mewakili 30% dari data. Setelah itu mulai membuat ANN | ||
+ | |||
+ | [[File:ANN4.JPG]] | ||
+ | |||
+ | Didapati hasil sebagai berikut | ||
+ | |||
+ | [[File:ANN5.JPG]] | ||
+ | |||
+ | 6. Lakukan ''Unnormalize'' agar mendapat nilai sebenarnya | ||
+ | |||
+ | [[File:ANN6.JPG]] | ||
+ | |||
+ | 7. Maka akan didapati hasil sebagai berikut | ||
+ | |||
+ | [[File:ANN7.JPG]] | ||
+ | |||
+ | |||
+ | Diakhir pembelajaran mahasiswa diminta menuliskan materi mengenai ANN di selembar kertas kemudian dikumpulkan ke asdos. | ||
+ | |||
+ | [[File:ANN.jpg]] |
Latest revision as of 16:54, 16 December 2019
Contents
- 1 Profil
- 2 Pertemuan 1 (Selasa, 3 September 2019)
- 3 Tugas 1
- 4 Pertemuan 2 (Selasa, 10 September 2019)
- 5 Pertemuan 3 (Selasa, 17 September 2019)
- 6 Kuliah Metode Numerik, 24 September 2019
- 7 Kuliah Metode Numerik, 1 Oktober 2019
- 8 Kuliah Metode Numerik, 29 Oktober 2019
- 9 Kuliah Metode Numerik, 5 November 2019
- 10 Kuliah Metode Numerik, 12 November 2019
- 11 Kuliah Metode Numerik, 19 November 2019
- 12 Kuliah Metode Numerik, 26 November 2019
- 13 Kuliah Metode Numerik, 3 Desember 2019
- 14 Kuliah Metode Numerik, 10 Desember 2019
Profil
Nama : Ahmad Muzakki
NPM : 1706986284
Jurusan : Teknik Mesin
Pertemuan 1 (Selasa, 3 September 2019)
Pada pertemuan kali ini dibuka dengan penjelasan mengenai betapa pentingnya mata kuliah Metode Numerik yang sebelumnya kita juga sudah mempelajari Kalkulus 1, Kalkulus 2, Aljabar Linear dan Matematika Teknik, yang dimana diajarkan cara menyelesaikan suatu masalah dengan cara Eksak. Namun cara tersebut tidak cukup efektif digunakan untuk menyelesaikan permasalahan yang sangat rumit atau melibatkan suku yang jumlahnya takhingga. Metode Numerik adalah suatu operasi memformulasikan persamaan matematika. Dalam penghitungan manusia dan kalkulator sederhana memiliki keterbatasan sehingga penghitungan numerik menggunakan komputasi. Salah satu komputasi paling sederhana yaitu menggunakan Microsoft Excel. Dengan komputasi dapat melakukan penghitungan lebih efisien dan akurat. Materi pertemuan hari ini diberikan studi kasus formulasi yang digunakan untuk menghitung Deret Taylor dari Sin phi/7. Deret Taylor ini untuk mengaproksimasikan nilai fungsi dengan jumlah dari turunan yang tak terhingga. Dalam menghitung fungsi ini terdapat beberapa konstanta yaitu:
i = turunan ke-i
X = phi/7
Ratio = suku n/suku n-1 yang dimasukkan dengan rumus = -1*(Nilai X)^2/((2*Nilai i+1))
Suku = Dimasukkan dengan rumus = Suku ke-n*Rasio pada nilai i
Fungsi = Dimasukkan dengan rumus = Fungsi ke n-1 + Suku ke n
Error = Dimasukkan dengan rumus = ABS(suku ke n/fungsi ke n-1)
Berdasarkan hasil komputasi dari table diatas, maka nilai dari Sin(phi/7) = 0.43388.
Hasil yang didapat dari nilai Sin(phi/7) juga ditentukan berdasarkan nilai error yang diperlukan, dalam software Microsoft Excel ini hanya dapat menggunakan maksimal 9 nilai error.
Tugas 1
Tugasnya yaitu mereview materi di pertemuan 1 dengan mencari nilai dari Cos(phi/7) dan e^(phi/7) dengan menggunakan Microsoft Excel.
1) Akpromisasikan nilai Cos(phi/7)
Melihat dari Deret Taylor Cos(x) maka rationya = -1*(Nilai x)^2/((2*Nilai i)*(2*Nilai i-1))
Berdasarkan table tersebut maka nilai Cos(phi/7)= 0.90097
2) Akpromisasikan e^(phi/7)
Melihat dari Deret Taylor e^(phi/7) maka rationya = Nilai x/Nilai i
Berdasarkan table tersebut maka nilai e^(phi/7) = 1.5664
Pertemuan 2 (Selasa, 10 September 2019)
Pada pertemuan kedua kali ini dilanjutkan materi pembelajaran dengan hal yang tentunya sangat mendasar dalam mata kuliah Metode Numerik, yaitu Jenis-jenis Bahasa Pemrograman. Jeni-jenis bahas pemrograman sangatlah banyak, namun yang Pak Engkos sebutkan dan jelaskan hanya beberapa saja diantaranya :
- Pseudo Code
- Bahasa Pemrograman C++
- Python
- Bahasa C
- PHP
- Visual Basic
- Java
- JavaScript
Kemudian Pak Engkos memberikan contoh penerapan dari salah satunya, yaitu Pseudo Code. Berikut merupakan contoh pemrograman untuk mencari nilai dari sin(x) dengan menggunakan Pseudo Code
i=1
err=1
suku=x
sin=suku
while err>1e-7
{
ratio=-(x^2)/(2*i)/(2*i+1)
suku=suku*ratio
err=abs(suku/sin)
sin=sin+suku
i=i+1
}
Pertemuan 3 (Selasa, 17 September 2019)
Turunan numerik
Turunan numerik ialah menentukan hampiran nilai turunan fungsi f yang diberikan dalam bentuk table. Dalam melakukan perhitungan turunan metode numerik, intinya kita sangat dianjurkan untuk menggunakan alat hitung baik kalkulator maupun komputer. Kenapa ?, karena kita akan berurusan dengan angka yang memiliki banyak koma. Kemudian kita juga mendapat data-data berupa nilai-nilai suatu titik (nilai x dan y(f(x)). Kemudian kita akan mengidentifikasi metode yang akan kita gunakan berdasarakan data yang ada atau nilai yang akan kita cari.
Metode yang kita gunakan ada 3, yaitu turunan maju, turunan mundur, dan turunan pusat. Tetapi rumus yang digunakan berbeda untuk rumus turunan ke-1 dan ke-2. Perlu diingatkan juga bahwa jarak antar titik yang akan digunakan dalam perhitungan haruslah sama.
Turunan Maju (Forward)
f’(x0) = f(x1)-f(x0)/(x1-x0)
Turunan Mundur (Backward)
f’(x0) = f(x0)-f(x-1)/(x0-x-1)
Turunan Pusat (Center)
f’(x0) = f(x+1)-f(x-1)/(x+1-x-1)
Untuk nilai h yang sama mengunakan metode Center sangatlah dianjurkan karena mempunyai tingkat keakuratan yang paling baik. Namun terlepas dari metode yang digunakan untuk mendapatkan nilai dengan keakuratan terbaik bisa didapatkan dengan memasukan nilai h sekecil mungkin.
Kuliah Metode Numerik, 24 September 2019
Kuliah dimulai dengan review singkat mengenai energi dan termodinamika. Hal-hal yang di review antara lain:
Energi dalam, energi yang ada pada suatu benda karena gerak molekulnyaEnergi potensial, di mana setiap benda atau energi berusaha mencari potensial terendahnya
Gerak molekul, di mana molekul bergerak secara translasi, rotasi, dan vibrasi.
Energi Gibbs, entalpi dari sebuah sistem dikurangi temperatur dikalikan entropi sistem. Persamaan enegi bebas Gibbs dibuat untuk mempermudah agar tidak lagi diperlukan tabel dan tidak perlu menggunakan interpolasi yang rumit
Kuliah Metode Numerik, 1 Oktober 2019
Pada permulaan kelas, dicoba untuk menyelesaikan persamaan fungsi f(x)=exp(0,1x)+0,1x-10 menggunakan program Excel. Pada program, dimasukkan tiga kolom, kolom x, f(x), dan f'(x).
f'(x) dari f(x) adalah 0,1*exp(0,1x)+0,1
Dalam program Excel, dapat ditulis sebagai berikut
Truncation Error
Truncation Error terjadi ketika kita memotong deret taylor agar membuatnya menjadi terhingga. Sederhananya, error tersebut adalah error yang terjadi ketika ada perbedaan antara jumlah yang terpotong dengan jumlah yang sebenarnya.
Jika kecenderungan numerik sudah terasa logis dan sama dengan eksperimen, maka numerik bisa dianggap layak digunakan. Jika tidak, maka metode numerik belum layak untuk digunakan sebagai cara validasi eksperimen.
Kuliah Metode Numerik, 29 Oktober 2019
Pertemuan hari ini yaitu membahas tentang Bahasa pemrograman (Phyton),yang dimana bahasa yang digunakan bisa dianggap relatif lebih sederhana daripada C++ karena yang harus dideklarasikan lebih sedikit. Diajarkan jikalau Phyton pada umumnya ditulis menggunakan perangkat lunak Phyton DLB. Pada perangkat lunak Phyton DLB, pertama diajarkan untuk memasukkan kode berikut:
import math
math.sqrt (x)
perintah import math diatas membuat Phyton DLB memuat fungsi matematika, sedangkan perintah math.sqrt (x) adalah perintah akar kuadrat, dan x adalah angka yang dikehendaki dicari akarnya. Perintah math.sqrt juga bisa diganti menjadi perintah lain, yaitu dengan memasukkan kata perintah yang dikehendaki diikuti sama dengan math.sqrt, contohnya: akar = math.sqrt Kemudian, mahasiswa diminta untuk menuliskan perintah deklarasi suatu kata sama dengan suatu angka, contohnya:
x = 30
y = 20
z = 10
Diajarkan pula perintah pow atau power, dimana pow adalah perintah untuk memangkatkan. Sebagai contoh, perintah pow (x,y) berarti memerintahkan sistem untuk memangkatkan angka 30 sebanyak 20 kali. Terakhir diajarkan fungsi string, dimana string adalah fungsi untuk mendeklarasikan suatu kalimat. Contoh lengkap kode Phyton yang digunakan pada hari ini adalah sebagai berikut:
Pekerjaan Rumah Kelompok
Mahasiswa diminta untuk mencari governing equation dari waktu mobil yang berusaha mencapai top speednya atau kecepatan maksimumnya. Kelompok terdiri dari maksimum setiap kelompoknya beranggotakan 3 orang (yaitu: Zakki, Andi dan Majid), tugasnya yaitu menganalisa suatu gaya apa saja yang bekerja pada mobil ketika bergerak, kemudian diminta untuk merumuskan seberapa lama mobil tersebut mampu mencapai topspeednya. Persamaan matematisnya didapat sebagai berikut:
variable-variable yang ada di persamaan yaitu:
1. g = 9.81
2. pro udara= 1.2
3. Cd koefisien drag
4. Area m^2
5. M massa
6. U koefisien gesek
7. a percepatan
8. t waktu
Dari Persamaan di atas diketahui bahwa F=m*a, F yang bekerja pada mobil yaitu diantaranya F Drive = gaya dorong dari mesin mobil, F Drag = Gaya tahan udara terhadap mobil F Friction = Gaya gesek ban dengan permukaan tanah, kita masukan kerumus sesuai arahnya. Kemudian yang kita cari pertama kali yaitu akselerasi. Akselerasi dapat diketahui dengan mengurangi F Drive dengan F Drag dan F Friction lagu membaginya dengan massa mobil. Nilai akselerasi nanti akan membagi nilai kecepatan maksimum agar mendapat nilai t maksimal. Dengan persamaan demikian, maka program yang dituliskan di Phyton adalah sebagai berikut:
Untuk pekerjaan rumah berikutnya dikerjakan berkelompok, dengan susunan anggota sebagai berikut:
Ahmad Muzakki - 1706986284
Andi Aditya - 1706036463
Nur Kholis Majid - 1706036531
Mahasiswa diberi tugas untuk membuat video presentasi mengenai kode di atas. Untuk kelompok kami, video dapat dilihat di bawah:
Kuliah Metode Numerik, 5 November 2019
Metode runge kutta adalah metode yang digunakan untuk menyelesaikan Masalah Nilai Awal (MNA) dalam persamaan diferensial. Hampiran Runge Kutta Orde 3 didefinisikan oleh rumus-rumus berikut.
k1= hf(xi,yi)
k2= hf(xi+1/2h++1/2k1)
k3= hf(xi+h,yi+2k2-k1)
yi+1=yi+1/6(k1+4k2+ k3)
Proses ini diulangi terus sampai memperoleh nilai untuk titik yang diinginkan. Hampiran Runge Kutta Ordo 4 didefinisikan oleh rumus-rumus berikut.
l1=h f(xi,yi)
l2= hf(xi+1/2h,yi+1/2l1)
l3= hf(xi+1/2h,yi+1/2,l2)
l4= hf(xi+h, yi+l3)
yi+1=yi+1/6(l1+2l2+2l3+ l4)
Proses ini diulangi terus sampai memperoleh nilai untuk titik yang diinginkan.
Metode penyelesaian masalah yaitu dengan merunut permasalahan tersebut, kemudian kita cari tahu factor-factor apa saja yang berhubungan dengan hal tersebut.
Selanjutnya diajarkan penggunaan aplikasi CFD untuk mengetahui drag yang dialami oleh mobil, pengaplikasiannya yang kemudian akan digunakan menyelesaikan tugas dipertemuan minggu lalu.
Kuliah Metode Numerik, 12 November 2019
Pada pertemuan 12 November 2019 mahasiswa mempelajari Metode Runge-Kutta. Metode ini adalah metode yang termasuk dalam golongan metode iteratif implisit dan eksplisit, sama seperti dengan metode Euler
Lalu, mahasiswa mempelajari perangkat lunak CFDSOF-NG. Untuk mempelajari aliran fluida. Langkah yang diajarkan menggunakan CFDSOF adalah sebagai berikut:
1. Buat case baru dengan memasukkan nama proyek, lalu tekan create case
2. Masukkan model STL yang akan disimulasikan dengan menekan import geometry
3. Pindah ke bagian base mesh dan ubah mesh sesuai kehendak.
4. Pindah ke bagian generate mesh, dan pastikan titik kuning (titik referensi) berada di luar benda. Untuk memunculkan titik kuning, tekan tombol yang dilingkari dengan lingkaran kuning. Setelah itu tekan generate mesh
5. Pindah ke bagian check mesh lalu klik check mesh. Jika muncul tulisan mesh OK maka ia siap dipakai
6. Pindah ke bagian Simulation model dan atur kondisi simulasi sesuai keinginan
7. Lalu pindah ke CFD Solve
8. Pindah ke CFD-Post untuk melihat hasil simulasi. Setelah itu pindah ke Paraview
9. Kemudian cari Drag Force
10. Hasil dapat dilihat di bawah:
Kuliah Metode Numerik, 19 November 2019
Pada perkuliahan 19 November 2019 mahasiswa diminta untuk menggunakan CFDSOF namun menggunakan airfoil sesuai keinginan mahasiswa. Tugas ini dikerjakan berkelompok. Airfoil yang kelompok kami gunakan memiliki spesifikasi sebagai berikut: MH43; Span 1000; Cord 300; 1 Derajat Kenaikan.
Langkah pertama yang harus dilakukan adalah mendesain airfoil menggunakan perangkat lunak desain 3D.
Setelah itu file dikonversi menjadi format STL dan dicari nilai drag dan lift melalui tahapan CFDSOF
Pada akhirnya, akan didapat data sebagai berikut:
Di mana data tersebut akan berguna pada kode yang akan dimasukkan dalam Python. Kode yang dihasilkan oleh kelompok kami adalah sebagai berikut:
Dengan demikian, akan didapati nilai optimasi dari airfoil
Kuliah Metode Numerik, 26 November 2019
Pada pertemuan hari ini kami diberikan kuis yang dikerjakan di kertas folio, kemudian dikumpulkan di akhir pembelajaran.
Kuliah Metode Numerik, 3 Desember 2019
Pada pertemuan kali ini 3 Desember mahasiswa diminta untuk mempresentasikan tugas-tugas besar yang sudah Pak Dai berikan yaitu mulai dari Tugas 1 hingga Tugas 4. Pada kesempatan kali tersebut yang sudah presentasi di kelas hanya 4 kelompok, untuk kelompok yang lain (belum presentasi) dikarenakan waktu yang tidak mencukupi dilempar di hari lain di minggu tersebut. Kelompok kami (Saya Ahmad Muzakki, dan kedua teman saya Andi Aditiya dan Nur Kholis Majid) presentasi pada Kamis, 5 Desember 2019 selepas maghrib kepada Bang Timo dan Bang Edo.
Kuliah Metode Numerik, 10 Desember 2019
Materi perkuliahan hari ini yaitu membahas ANN (Artificial Neural Network). ANN Adalah sistem pembelajaran terawasi yang dibangun dari sejumlah besar elemen sederhana, yang disebut neuron atau perceptron. Setiap neuron dapat membuat keputusan sederhana, dan meneruskan keputusan itu ke neuron lain pada lapisan selanjutnya.
Langkah dan kode pembuatan ANN adalah sebagai berikut:
1. Masukkan Library, dalam kasus ini adalah mh.xlsx
2. Unggah file .xlsx sesuai nama
3. Lakukan normalisasi agar matriks tidak terlalu besar
4. Didapati output target. Data dibagi dua, yang pertama untuk training ANN, yang kedua untuk testing ANN. komposisi data 70% untuk training ANN, 30% untuk testing ANN. Grafik output real hanya mewakili 30% dari data. Setelah itu mulai membuat ANN
Didapati hasil sebagai berikut
6. Lakukan Unnormalize agar mendapat nilai sebenarnya
7. Maka akan didapati hasil sebagai berikut
Diakhir pembelajaran mahasiswa diminta menuliskan materi mengenai ANN di selembar kertas kemudian dikumpulkan ke asdos.