Difference between revisions of "Wildan Zulfa Abdurrohman"

From ccitonlinewiki
Jump to: navigation, search
(Pertemuan Pertama (Rabu, 4 September 2019))
 
(87 intermediate revisions by 2 users not shown)
Line 3: Line 3:
  
 
NPM: 1806149305
 
NPM: 1806149305
 
 
 
 
  
  
Line 33: Line 29:
 
mereka tidak mengetahui perhitungan kalkulus seperti diferensial dan integral.
 
mereka tidak mengetahui perhitungan kalkulus seperti diferensial dan integral.
 
Oleh karena itu, manusia akan memberikan rumus menggunakan algoritma dengan bahasa proggamming kepada komputer.
 
Oleh karena itu, manusia akan memberikan rumus menggunakan algoritma dengan bahasa proggamming kepada komputer.
 +
 +
 
Langkah-langkah Python: menulis algoritma; membuat flow chart; menulih bahasa programming.
 
Langkah-langkah Python: menulis algoritma; membuat flow chart; menulih bahasa programming.
 
Persamaan yang diselesaikan oleh software canggih hanya menggunakan perkalian matriks karena
 
Persamaan yang diselesaikan oleh software canggih hanya menggunakan perkalian matriks karena
Line 38: Line 36:
 
setelah itu membuat flow chart lalu dilanjutkan ke dalam bahasa programming,
 
setelah itu membuat flow chart lalu dilanjutkan ke dalam bahasa programming,
 
kemudian komputer akan melaksanakan instruksi tersebut
 
kemudian komputer akan melaksanakan instruksi tersebut
 +
  
 
CAE Computer-aided engineering merupakan program untuk melakukan analisis teknik yang mencakup analisis finite element (FEA - finite element analysis), dinamika fluida komputasi (CFD - computational fluid dynamics), dinamika multibody (MBD - multibody dynamics), dan optimalisasi.
 
CAE Computer-aided engineering merupakan program untuk melakukan analisis teknik yang mencakup analisis finite element (FEA - finite element analysis), dinamika fluida komputasi (CFD - computational fluid dynamics), dinamika multibody (MBD - multibody dynamics), dan optimalisasi.
  
Trik untuk mempelajari metode numerik adalah langsung terjun mencoba secara langsung bahasa programming
+
Trik untuk mempelajari metode numerik adalah langsung terjun mencoba secara langsung bahasa programming
  
 
'''(Dr. Ahmad Indra)'''
 
'''(Dr. Ahmad Indra)'''
 +
  
  
Line 49: Line 49:
 
Oleh sebab itu, mata kuliah metode numerik merupakan salah satu sarana bagi mahasiswa teknik mesin untuk mempelajari bahasa programming.
 
Oleh sebab itu, mata kuliah metode numerik merupakan salah satu sarana bagi mahasiswa teknik mesin untuk mempelajari bahasa programming.
 
Saya merekomendasikan kepada mahasiswa untuk mencoba terlebih dahulu bahasa programming, khususnya bahsa Python, supaya mahasiswa dapat memahammi secara mandiri apa itu yang dimaksud dengan bahasa programming.
 
Saya merekomendasikan kepada mahasiswa untuk mencoba terlebih dahulu bahasa programming, khususnya bahsa Python, supaya mahasiswa dapat memahammi secara mandiri apa itu yang dimaksud dengan bahasa programming.
 +
 +
 
Kami, Dosen Departemen teknik Mesin, memiliki pemikiran jangka panjang mengenai kurikulum 2020 untuk mengadakan mata kuliah programming untuk mahasiswa teknik mesin.
 
Kami, Dosen Departemen teknik Mesin, memiliki pemikiran jangka panjang mengenai kurikulum 2020 untuk mengadakan mata kuliah programming untuk mahasiswa teknik mesin.
 
Selain itu, kami juga ingin melakukan kolaborasi dengan IMM untuk mengadakan pelatihan programming bagi mahasiswa teknik mesin.
 
Selain itu, kami juga ingin melakukan kolaborasi dengan IMM untuk mengadakan pelatihan programming bagi mahasiswa teknik mesin.
Line 55: Line 57:
  
 
'''(Dr. Eng. Radon Dhelika)'''
 
'''(Dr. Eng. Radon Dhelika)'''
 +
  
 
  '''Penilaian Continous Evaluation:''' nilai tidak hanya UTS dan UAS, dosen mengamati perkembangan mahasiswa dengan cara melihat gradien
 
  '''Penilaian Continous Evaluation:''' nilai tidak hanya UTS dan UAS, dosen mengamati perkembangan mahasiswa dengan cara melihat gradien
Line 61: Line 64:
 
'''Tugas Pertemuan Pertama:'''
 
'''Tugas Pertemuan Pertama:'''
  
1. Pelajari python
+
Pelajari python & Membuat program untuk menyelesaikan persoalan matematis limit x=1; y=(x^2-1)/(x-1)
 
 
2. Membuat program untuk menyelesaikan persoalan matematis limit x=1; y=(x^2-1)/(x-1)
 
  
 
[[File:python.jpg|200px|thumb|right]]
 
[[File:python.jpg|200px|thumb|right]]
  
 
'''Python''' merupakan salah satu bahasa pemrograman yang memiliki konsep desain sederhana, yang berfokus pada kemudahan dalam penggunaan. Kode Python dirancang untuk mudak dibaca, dipelajari, digunakan ulang, dan dirawat. Selain itu, Python juga mendukung pemrograman berorientasi obe=jek dan pemrograman fungsional. Python dpat meningkatkan produktivitas dan menghemat waktu programer. Untuk memperoleh hasil yang sama, bahasa Python lebih sedikit ditulis dibandingkan menggunakan bahasa pemrograman lain.
 
'''Python''' merupakan salah satu bahasa pemrograman yang memiliki konsep desain sederhana, yang berfokus pada kemudahan dalam penggunaan. Kode Python dirancang untuk mudak dibaca, dipelajari, digunakan ulang, dan dirawat. Selain itu, Python juga mendukung pemrograman berorientasi obe=jek dan pemrograman fungsional. Python dpat meningkatkan produktivitas dan menghemat waktu programer. Untuk memperoleh hasil yang sama, bahasa Python lebih sedikit ditulis dibandingkan menggunakan bahasa pemrograman lain.
 +
  
 
Bahasa Python memiliki 5 tipe variabel yaitu: integer; float; string; boolean; list. Untuk tipe integer penulisan merupakan suatu bilangan bulat, tipe float merupakan bilangan desimal dengan koma menggunakan tanda titik, tipe string merupakan rangkaian huruf yang diapit oleh tanda petik tunggal atau ganda, tipe boolean merupakan pernyataan benar salah yang ditulis dengan kata True atau False, tipe list merupakan wadah untuk membuat suatu kumpulan data dengan cara penulisan diapit oleh tanda [ ] dan setiap data dipisahkan oleh tanda koma.
 
Bahasa Python memiliki 5 tipe variabel yaitu: integer; float; string; boolean; list. Untuk tipe integer penulisan merupakan suatu bilangan bulat, tipe float merupakan bilangan desimal dengan koma menggunakan tanda titik, tipe string merupakan rangkaian huruf yang diapit oleh tanda petik tunggal atau ganda, tipe boolean merupakan pernyataan benar salah yang ditulis dengan kata True atau False, tipe list merupakan wadah untuk membuat suatu kumpulan data dengan cara penulisan diapit oleh tanda [ ] dan setiap data dipisahkan oleh tanda koma.
 +
  
 
Bahasa Python dapat digunakan untuk menyelesaikan persoalan matematis, penjumlahan menggunakan tanda (+), pengurangan (-), perkalian (*), pembagian (/), eksponensial (**). Persoalan matematis yang kompleks dapat diselesaikan dengan membuat ''flow chart'', yaitu mengurutkan proses pengerjaan suatu persoalan matematis dengan menggunakan penjumlahan, pengurangan, perkalian, atau pembagian. Selain itu, persoalan matematis juga dapat diselesaikan menggunakan metode ''if else''. Metode ''if else'' merupakan perintah yang dipengaruhi oleh suatu kondisi yang disebut ''if'', semua hal yang berada diluar kondisi tersebut adalah ''else''. Kondisi untuk suatu perbandingan meliputi: tanda (==) berarti sama dengan; tanda (!=) atau (<>) berarti tidak sama dengan; tanda (>) berarti lebih dari; tanda (<) berarti kurang dari; tanda (>=) berarti lebih dari sama dengan; tanda (<=) berarti kurang dari sama dengan. Perintah ''input'' berfungsi untuk memasukkan data yang telah diberikan oleh pengguna, perintah untuk meminta data dari pengguna adalah menggunakan tanda titik dua (:).
 
Bahasa Python dapat digunakan untuk menyelesaikan persoalan matematis, penjumlahan menggunakan tanda (+), pengurangan (-), perkalian (*), pembagian (/), eksponensial (**). Persoalan matematis yang kompleks dapat diselesaikan dengan membuat ''flow chart'', yaitu mengurutkan proses pengerjaan suatu persoalan matematis dengan menggunakan penjumlahan, pengurangan, perkalian, atau pembagian. Selain itu, persoalan matematis juga dapat diselesaikan menggunakan metode ''if else''. Metode ''if else'' merupakan perintah yang dipengaruhi oleh suatu kondisi yang disebut ''if'', semua hal yang berada diluar kondisi tersebut adalah ''else''. Kondisi untuk suatu perbandingan meliputi: tanda (==) berarti sama dengan; tanda (!=) atau (<>) berarti tidak sama dengan; tanda (>) berarti lebih dari; tanda (<) berarti kurang dari; tanda (>=) berarti lebih dari sama dengan; tanda (<=) berarti kurang dari sama dengan. Perintah ''input'' berfungsi untuk memasukkan data yang telah diberikan oleh pengguna, perintah untuk meminta data dari pengguna adalah menggunakan tanda titik dua (:).
 +
  
 
'''Program''' untuk menyelesaikan persoalan matematis limit x=1; y=(x^2-1)/(x-1) ditulis dengan bahasa Python yang terdiri dari penjumlahan, pengurangan, perkalian, dan pembagian. Selain itu, program ini menggunakan metode ''if else'' karena terdapat suatu kondisi perbandingan dalam menyelesaikan persoalan tersebut. Apabila x sama dengan 1 maka hasil y=(x^2-1)/(x-1) adalah 0/0 yang artinya tidak terdefinisi, sedangkan untuk x tidak sama dengan 1 maka y terdefinisi. Oleh sebab itu jika x adalah 1 maka persamaan y=(x^2-1)/(x-1) harus disederhanakan terlebih dahulu menjadi y=x+1 sehingga y terdefinisi.
 
'''Program''' untuk menyelesaikan persoalan matematis limit x=1; y=(x^2-1)/(x-1) ditulis dengan bahasa Python yang terdiri dari penjumlahan, pengurangan, perkalian, dan pembagian. Selain itu, program ini menggunakan metode ''if else'' karena terdapat suatu kondisi perbandingan dalam menyelesaikan persoalan tersebut. Apabila x sama dengan 1 maka hasil y=(x^2-1)/(x-1) adalah 0/0 yang artinya tidak terdefinisi, sedangkan untuk x tidak sama dengan 1 maka y terdefinisi. Oleh sebab itu jika x adalah 1 maka persamaan y=(x^2-1)/(x-1) harus disederhanakan terlebih dahulu menjadi y=x+1 sehingga y terdefinisi.
 +
  
 
'''''Flow chart''''' program untuk menyelesaikan persoalan matematis y=(x^2-1)/(x-1) adalah sebagai berikut:
 
'''''Flow chart''''' program untuk menyelesaikan persoalan matematis y=(x^2-1)/(x-1) adalah sebagai berikut:
Line 83: Line 88:
  
 
[[File:hasil tugas 1.PNG|700px|thumb|center]]
 
[[File:hasil tugas 1.PNG|700px|thumb|center]]
 
 
  
 
== Pertemuan Kedua (Rabu, 11 September 2019) ==
 
== Pertemuan Kedua (Rabu, 11 September 2019) ==
Line 91: Line 94:
 
Komputer merupakan teknologi yang dapat melaksanakan perintah dan menyelesaikan suatu permasalahan dengan menggunakan bahasa algoritma.
 
Komputer merupakan teknologi yang dapat melaksanakan perintah dan menyelesaikan suatu permasalahan dengan menggunakan bahasa algoritma.
 
Bahasa yang dipahami komputer ialah bahasa yang terdiri dari angka 0 dan 1.
 
Bahasa yang dipahami komputer ialah bahasa yang terdiri dari angka 0 dan 1.
 +
 +
 
Manusia merupakan makhluk paling cerdas, tetapi akal pikiran dan memori manusia terbatas. Oleh karena itu, komputer digunakan sebagai alat bantu untuk mengingat dan menyelesaikan masalah lebih banyak.
 
Manusia merupakan makhluk paling cerdas, tetapi akal pikiran dan memori manusia terbatas. Oleh karena itu, komputer digunakan sebagai alat bantu untuk mengingat dan menyelesaikan masalah lebih banyak.
 
Namun. komputer tetap harus diberikan perintah oleh manusia, karena komputer tidak dapat memerintah dirinya sendiri.
 
Namun. komputer tetap harus diberikan perintah oleh manusia, karena komputer tidak dapat memerintah dirinya sendiri.
Line 99: Line 104:
  
 
'''(Dr. Ahmad Indra)'''
 
'''(Dr. Ahmad Indra)'''
 +
  
 
Carilah suatu website mengenai Python sebagai referensi kamu untuk belajar. Pelajari satu web terlebih dahulu supaya fokus dalam mempelajari Python.
 
Carilah suatu website mengenai Python sebagai referensi kamu untuk belajar. Pelajari satu web terlebih dahulu supaya fokus dalam mempelajari Python.
Install Python kemudian cobalah untuk membuat "hello world" sebagai langkah pertama untuk melakukan programming. Setelah itu, kalian dapat mencoba berbagai macam perintah untuk membuat suatu program.
+
Install Python kemudian cobalah untuk membuat "hello world" sebagai langkah pertama untuk melakukan programming. Setelah itu, kalian dapat mencoba berbagai macam perintah untuk membuat suatu program. Terdapat website untuk menjalankan program Python secara online, salah satunya adalah ''pythonanywhere.com''
  
 
'''(Dr. Eng. Radon Dhelika)'''
 
'''(Dr. Eng. Radon Dhelika)'''
 +
 +
 +
[[File:tuples_list_code.png|700px|thumb|center]]
 +
 +
[[File:tuples_list_result.png|700px|thumb|center]]
 +
 +
'''Tugas Pertemuan Kedua'''
 +
 +
Pelajari buku Python Bab 1
 +
 +
'''!!!Pertemuan Ketiga QUIZ!!!'''
 +
 +
 +
 +
== Pertemuan Ketiga (Rabu, 18 September 2019) ==
 +
 +
Pada pertemuan ini kami mengerjakan soal mengenai deret fibonacci. Untuk menyelesaikan permasalahan ini, saya menggunakan 2 metode yaitu:
 +
 +
1. Loop
 +
 +
2. Rumus
 +
 +
Hasil dari pengerjaan program untuk penyelesaian deret fibonacci menggunakan '''loop''' adalah sebagai berikut:
 +
 +
[[File:fibonacci loop.png|700px|thumb|center]]
 +
 +
Sedangkan, hasil dari pengerjaan program untuk penyelesaian deret fibonacci menggunakan '''rumus''' adalah sebagai berikut:
 +
 +
[[File:fibonacci rumus.png|700px|thumb|center]]
 +
 +
 +
 +
== Pertemuan Kempat (Rabu, 25 September 2019) ==
 +
 +
Pada pertemuan ini, kami mempelajari cara menyelesaikan sistem persamaan linier menggunakan metode numerik dengan menggunakan eliminasi gauss.
 +
 +
Eliminisasi Gauss adalah metode untuk mengoperasikan nilai-nilai di dalam matriks sehingga menjadi matriks yang lebih sederhana. Dengan melakukan operasi baris sehingga matriks tersebut menjadi salah satu metode penyelesaian persamaan linear.
 +
 +
Contoh soal
 +
 +
[[File:Contoh_soal_kelompok_3.PNG]]
 +
 +
----
 +
 +
 +
Pengerjaan Matematis
 +
 +
Menggunakan Eliminasi Gauss
 +
 +
[[File:Gaussbagian_1.PNG|700px|thumb|center]]
 +
 +
[[File:Gaussbagian_2.PNG|700px|thumb|center]]
 +
 +
 +
Kemudian menyelesaikan dengan Subtitusi
 +
 +
 +
Pengerjaan Menggunakan Bahasa Python
 +
 +
Dalam penggunaan matriks pada  bahasa python dibutuhkan fungsi array dengan cara import numpy
 +
 +
[[File:Gausspython 1 kel 3.jpeg|700px|thumb|center]]
 +
 +
[[File:Gausspython_2.JPG|700px|thumb|center]]
 +
 +
Hasil perhitungan dengan Python
 +
 +
[[File:Gausspython_3.JPG|700px|thumb|center]]
 +
 +
 +
 +
== Pertemuan Kelima (Rabu, 2 Oktober 2019) ==
 +
 +
Pada pertemuan kelima, kami membahas mengenai permodelan pegas dan super posisi pada pegas. pegas merupakan suatu komponen yang sering digunakan dalam dunia engineering. pegas berfungsi untuk meredam getaran, sehingga getaran atau momentum yang dihasilkan oleh suatu sistem dapat diminimalisir. Ketika pegas bergerak, gerakan tersebut akan menghasilkan osilasi atau gerakan bolak balik dengan frekuensi tertentu, dimana persamaan tersebut dapat kita rumuskan sebagai konstanta dari pegas itu sendiri. semakin besar nilai konstanta dari suatu pegas, maka semakin besar gaya yang dibutuhkan untuk menggerakkan pegas tersebut. sedangkan semakin kecil nilai konstanta pegas maka akan semakin kecil gaya yang dibutuhkan untuk menggerakkan pegas itu sendiri.
 +
 +
 +
Superposisi pegas merupakan rangkaian dari dua pegas atau lebih yang berhubungan secara seri maupun paralel. apabila pegas berhubungan seri antara satu dengan yang lainnya, maka konstanta dari pegas tersebut satu per penjumlahan dari satu per konstanta pegas 1 dengan satu per konstanta pegas 2. apabila pegas dihubungkan secara seri, maka konstanta dari pegas tersebut merupakan penjumlahan dari konstanta pegas-pegas penyusunnya.
 +
 +
 +
Metode numerik berfungsi untuk memudahkan kita dalam menghitung konstanta pegas apabila pegas-pegas tersebut tersusun dalam suatu sistem yang rumit. Hal ini dapat disederhanakan dengan mengubah bentuk persamaan pegas kedalam bentuk matriks, kemudian dilakukan operasi baris elementer dengan metode gauss-jordan. sehingga didapatkan hasil dari konstanta pegas yang diinginkan
 +
 +
'''(Dr. Ahmad Indra)'''
 +
 +
== Pertemuan Keenam (Rabu, 9 Oktober 2019) ==
 +
 +
Pada pertemuan ini kami membahas mengenai berbagai macam cara untuk menyelesaikan permasalahan matematis.
 +
Ada macam-macam cara untuk menyelesaikan permasalahan matematis, terutama di bidang teknik.
 +
Anda harus mengerti apa yang bisa dan tidak bisa dilakukan oleh komputer.
 +
 +
 +
Metode Numerik memiliki nama lain yaitu Computer Audit Engineering.
 +
Bagaimana memodelkan permasalahan teknik untuk menjadi algoritma yang dapat dipahami oleh komputer.
 +
Apabila kita menerapkan suatu persamaan gaya yang kontinu pada suatu material, maka persamaan tersebut akan menjadi persamaan diferensial.
 +
Beban yang diberikan secara kontinu akan membuat material itu merasakan bahan tersebut secara terus menerus.
 +
 +
 +
Orang cerdas merupakan orang yang pikirannya berbeda dari orang lain, menuju pikiran yang lebih futuristik.
 +
Supaya mempersiapkan life after. Diferensial merupakan sesuatu bagian yang sangat kecil tetapi tidak nol dan kontinu.
 +
Apabila suatu benda diberikan gaya, maka benda tersebut akan memberikan reaksi yaitu hukum aksi-reaksi.
 +
Apabila suatu benda tersebut memiliki luasan, maka reaksinya berupa stress. karena terdapat perpindahan gaya dari suatu titik menuju suatu luasan.
 +
 +
 +
Ada banyak metode untuk menyelesaikan permasalahan diferensial. Namun, terdapat beberapa permasalahan diferensial yang tidak dapat diselesaikan secara eksak, karena sangat rumit. Permasalahan di dunia teknik tidaklah linier. Oleh karena itu, digunakanlah program metode numerik untuk membantu menyelesaikan permasalahan tersebut. salah satu metode penyelesaian persamaan diferensial dengan bantuan metode numerik adalah metode runge-kutta.
 +
Runge-kutta memiliki beberapa pendekatan, terdapat 4 orde pendekatan runge-kutta yang mana semakin tinggi orde, maka nilai error akan semakin kecil
 +
 +
'''(Dr. Ahmad Indra)'''
 +
 +
 +
 +
== Pertemuan Ketujuh (Rabu, 16 Oktober 2019) ==
 +
 +
 +
Berikut merupakan program untuk menyelesaikan problem set 2.1 no.6
 +
 +
#eliminasi gauss jordan problem set 2.1 no.6
 +
 +
#mengimport numpy ke dalam program
 +
import numpy as np
 +
 +
#mendefinisakan baris matriks yang berisi varibel dari persamaan yang ada
 +
line1 = [1,2,0,-2,1]
 +
line2 = [0,1,0,2,-1]
 +
line3 = [0,0,2,1,2]
 +
line4 = [0,0,0,-1,1]
 +
line5 = [0,1,-1,1,-1]
 +
 +
#mendefinisikan baris variabel menjadi suatu matriks menggunakan perintah array
 +
variabel = np.array ([line1,line2,line3,line4,line5])
 +
 +
#mendefinisikan hasil persamaan menjadi suatu matriks menggunakan perintah array
 +
hasil = np.array ([-4,1,1,-2,-1])
 +
 +
#melakukan eliminasi gauss-jordan terhadap kedua matriks diatas menggunakan perintah linalg
 +
run = np.linalg.solve (variabel,hasil)
 +
 +
#mendefinisikan masing-masing nilai dari variabel setelah dilakukan eliminasi gauss-jordan
 +
x1 = int(run[0])
 +
x2 = int(run[1])
 +
x3 = int(run[2])
 +
x4 = int(run[3])
 +
x5 = int(run[4])
 +
 +
#menampilkan nilai masing-masing vaiabel menggunakan perintah print
 +
print ("hasil X berdasarkan eliminasi Gauss-Jordan adalah sebagai berikut:")
 +
print ("x1= ",x1)
 +
print ("x2= ",x2)
 +
print ("x3= ",x3)
 +
print ("x4= ",x4)
 +
print ("x5= ",x5)
 +
 +
#by Wildan Zulfa A
 +
 +
 +
Hasil run program diatas adalah sebagai berikut:
 +
 +
"C:\Users\wildan zulfa\PycharmProjects\Pertemuan 7\venv\Scripts\python.exe" "C:/Users/wildan zulfa/PycharmProjects/Pertemuan 7/Eliminasi Gauss Jordan.py"
 +
 +
hasil X berdasarkan eliminasi Gauss-Jordan adalah sebagai berikut:
 +
 +
x1=  3
 +
x2=  -2
 +
x3=  1
 +
x4=  1
 +
x5=  -1
 +
 +
Process finished with exit code 0
 +
 +
 +
Berikut merupakan program untuk menyelesaikan problem set 7.1 no.2
 +
 +
#persamaan diferensial runge-kutta problem set 7.1 no.2
 +
 +
#mendefinisikan persamaan diferensial
 +
def dydx(x, y):
 +
    return ((x ** 2 - 4 * y))
 +
 +
# melakukan penyelesaian dengan metode runge-kutta menggunakan nilai h dan y0 saat x0
 +
def rungeKutta(x0, y0, x, h):
 +
 +
    #mendefinisikan jarak penyelesaian yang diinginkan dengan menggunakan persamaan berikut
 +
    n = (int)((x - x0) / h)
 +
 +
    # mendefinisikan y awal
 +
    y = y0
 +
 +
    #mendefinisikan nilai k dari setiap orde pada metode runge-kutta
 +
    for i in range(1, n + 1):
 +
        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)
 +
 +
        # mengupdate nilai dari y setelah diturunkan
 +
        y = y + (1.0 / 6.0) * (k1 + 2 * k2 + 2 * k3 + k4)
 +
 +
        # mengupdate nilai dari x berdasarkan hasil diatas
 +
        x0 = x0 + h
 +
 +
    # memberikan perintah pengulangan pada y
 +
    return y
 +
 +
 +
# memberikan pemisalan terhadap variabel-variabel yang ada
 +
x0 = 0
 +
y = 1
 +
x = 0.03
 +
h = 0.01
 +
 +
#menampilkan nilai dari y saat x
 +
print('Nilai dari y saat x adalah:', rungeKutta(x0, y, x, h))
 +
 +
#by Wildan Zulfa A
 +
 +
 +
Hasil run program diatas adalah sebagai berikut:
 +
 +
"C:\Users\wildan zulfa\PycharmProjects\Pertemuan 7\venv\Scripts\python.exe" "C:/Users/wildan zulfa/PycharmProjects/Pertemuan 7/Persamaan Diferensial Runge-Kutta.py"
 +
 +
Nilai dari y saat x adalah: 0.8869291754400297
 +
 +
Process finished with exit code 0
 +
 +
 +
 +
== Pertemuan Kedelapan (Rabu, 23 Oktober 2019) ==
 +
 +
 +
Pada pertemuan kali ini dilaksanakan Ujian Tengah Semester (UTS), terdapat 2 tipe soal yaitu soal A dan soal B, untuk menyelesaikan kedua soal tersebut saya menggunakan 2 metode penyelesaian untuk tiap soal.
 +
 +
Pada soal A metode yang diterapkan adalah:
 +
 +
(1) Metode persamaan
 +
 +
(2) Metode gauss jordan
 +
 +
Berikut adalah program penyelesaian untuk soal A dengan metode persamaan (1)
 +
 +
#program penyelesaian soal A metode persamaan
 +
 +
from math import *
 +
 +
#mendefinisikan nilai besaran gravitasi
 +
g = 9.8
 +
 +
#meminta input dari pengguna
 +
m1 = eval(input('masukkan nilai massa benda 1: ')) #10
 +
m2 = eval(input('masukkan nilai massa benda 2: ')) #7
 +
m3 = eval(input('masukkan nilai massa benda 3: ')) #5
 +
(teta) = eval(input('masukkan nilai sudut bidang miring: ')) #45
 +
(ns) = eval(input('masukkan nilai koefisien gesek statis: ')) #0.4
 +
 +
#mendefinisikan penyederhanaan rumus
 +
phi = 3.1428
 +
rad = teta*phi/180
 +
y = sin(rad)
 +
x = cos(rad)
 +
 +
#menentukan nilai massa 4
 +
m4 = (m1+m2+m3)*(y-(x*(ns)))
 +
 +
#menentukan nilai tegangan 1, 2, 3, 4
 +
T1 = m1*g*(y-(x*(ns)))
 +
T2 = (m1+m2)*g*(y-(x*(ns)))
 +
T3 = (m1+m2+m3)*g*(y-(x*(ns)))
 +
T4 = T3
 +
 +
#menampilkan hasil perhitungan kepada pengguna
 +
print('Nilai massa 4 adalah = ',m4)
 +
print('Nilai Tegangan 1 adalah = ',T1)
 +
print('Nilai Tegangan 2 adalah = ',T2)
 +
print('Nilai Tegangan 3 adalah = ',T3)
 +
print('Nilai Tegangan 4 adalah = ',T4)
 +
 +
#by Wildan Zulfa A
 +
 +
Hasil running program A metode persamaan (1) adalah sebagai berikut:
 +
 +
"C:\Users\wildan zulfa\PycharmProjects\Pertemuan 7\venv\Scripts\python.exe" "C:/Users/wildan zulfa/PycharmProjects/Pertemuan 7/UTS A.py"
 +
masukkan nilai massa benda 1: 10
 +
masukkan nilai massa benda 2: 7
 +
masukkan nilai massa benda 3: 5
 +
masukkan nilai sudut bidang miring: 45
 +
masukkan nilai koefisien gesek statis: 0.4
 +
Nilai massa 4 adalah =  9.34038275220371
 +
Nilai Tegangan 1 adalah = 41.607159532543804
 +
Nilai Tegangan 2 adalah =  70.73217120532448
 +
Nilai Tegangan 3 adalah =  91.53575097159637
 +
Nilai Tegangan 4 adalah =  91.53575097159637
 +
 +
Process finished with exit code 0
 +
 +
Berikut adalah program penyelesaian untuk soal A dengan metode eliminasi gauss jordan (2)
 +
 +
#program penyelesaian soal A metode gauss jordan
 +
 +
from math import *
 +
import numpy as np
 +
 +
 +
#mendefinisikan nilai besaran gravitasi
 +
g = 9.8
 +
 +
#meminta input dari pengguna
 +
m1 = eval(input('masukkan nilai massa benda 1: ')) #10
 +
m2 = eval(input('masukkan nilai massa benda 2: ')) #7
 +
m3 = eval(input('masukkan nilai massa benda 3: ')) #5
 +
(teta) = eval(input('masukkan nilai sudut bidang miring: ')) #45
 +
(ns) = eval(input('masukkan nilai koefisien gesek statis: ')) #0.4
 +
 +
#mendefinisikan penyederhanaan rumus
 +
phi = 3.1428
 +
rad = teta*phi/180
 +
y = sin(rad)
 +
x = cos(rad)
 +
z = 1/(y-(ns*x))
 +
 +
#menentukan nilai massa 4 menggunakan persamaan
 +
m4 = (m1+m2+m3)*(y-(x*(ns)))
 +
 +
#mendefinisikan matriks untuk metode eliminasi gauss jordan
 +
T = np.array([[z,0,0],[-z,z,0],[0,-z,z]])
 +
W = np.array([[m1*g],[m2*g],[m3*g]])
 +
 +
#menyelesaikan eliminasi matriks dengan bantuan numpy
 +
D = np.linalg.solve(T,W)
 +
 +
#menampilkan hasil perhitungan kepada pengguna
 +
print('Nilai massa 4 adalah = ',m4,'Kilogram')
 +
print('Nilai Tegangan 1 adalah = ',D[0],'Newton')
 +
print('Nilai Tegangan 2 adalah = ',D[1],'Newton')
 +
print('Nilai Tegangan 3 adalah = ',D[2],'Newton')
 +
print('Nilai Tegangan 4 adalah = ',D[2],'Newton')
 +
 +
#by Wildan Zulfa A
 +
 +
Hasil running program A metode gauss jordan (2) adalah sebagai berikut:
 +
 +
"C:\Users\wildan zulfa\PycharmProjects\Pertemuan 7\venv\Scripts\python.exe" "C:/Users/wildan zulfa/PycharmProjects/Pertemuan 7/UTS A Gauss Jordan.py"
 +
masukkan nilai massa benda 1: 10
 +
masukkan nilai massa benda 2: 7
 +
masukkan nilai massa benda 3: 5
 +
masukkan nilai sudut bidang miring: 45
 +
masukkan nilai koefisien gesek statis: 0.4
 +
Nilai massa 4 adalah =  9.34038275220371 Kilogram
 +
Nilai Tegangan 1 adalah =  [41.60715953] Newton
 +
Nilai Tegangan 2 adalah =  [70.73217121] Newton
 +
Nilai Tegangan 3 adalah =  [91.53575097] Newton
 +
Nilai Tegangan 4 adalah =  [91.53575097] Newton
 +
 
 +
Process finished with exit code 0
 +
 +
Pada soal B metode yang diterapkan adalah:
 +
 +
(1) Metode persamaan
 +
 +
Berikut adalah program penyelesaian untuk soal B menggunakan metode persamaan (1)
 +
 +
#program penyelesaian saol B metode persamaan
 +
 +
from math import *
 +
 +
#mendefinisikan nilai besaran gravitasi
 +
g = 9.8
 +
 +
#meminta input dari pengguna
 +
a0 = eval(input('masukkan nilai percepatan awal mobil: ')) #20
 +
v = eval(input('masukkan nilai top speed: ')) #100
 +
cd = eval(input('masukkan nilai drag coeficient: ')) #0.25
 +
m = eval(input('masukkan nilai massa mobil: ')) #2000
 +
nk = eval(input('masukkan nilai koefisien  gesek kinetis: ')) #0.1
 +
 +
#menentukan nilai percepatan total
 +
fs = g*nk
 +
fd = (cd*v**1.5)/m
 +
a = a0-(fs+fd)
 +
 +
#menentukan nilai waktu untuk mencapai  top speed
 +
t = v/a
 +
 +
#menampilkan hasil kepada pengguna
 +
print('Percepatan total mobil adalah = ',a)
 +
print('waktu yang dibutuhkan mobil untuk mencapai top speed adalah = ',t)
 +
 +
#by Wildan Zulfa A
 +
 +
Hasil running program B metode persamaan (1) adalah sebagai berikut:
 +
 +
"C:\Users\wildan zulfa\PycharmProjects\Pertemuan 7\venv\Scripts\python.exe" "C:/Users/wildan zulfa/PycharmProjects/Pertemuan 7/UTS B.py"
 +
masukkan nilai percepatan awal mobil: 20
 +
masukkan nilai top speed: 100
 +
masukkan nilai drag coeficient: 0.25
 +
masukkan nilai massa mobil: 2000
 +
masukkan nilai koefisien gesek kinetis: 0.1
 +
Percepatan total mobil adalah =  18.895
 +
waktu yang dibutuhkan mobil untuk mencapai top speed adalah = 5.292405398253506
 +
 +
Process finished with exit code 0
 +
 +
== Rekaman Mid Test Metode Numerik ==
 +
 +
'''1. MUHASABAH DIRI'''
 +
 +
[[File:Muhasabah Wildan.mp4|750px]]
 +
 +
'''2. Pembahasan Soal UTS A'''
 +
 +
[[File:Pembahasan Soal UTS Metnum A.mp4|750px]]
 +
 +
'''3. Pembahasan Soal UTS B'''
 +
 +
[[File:Pembahasan Soal UTS Metnum B.mp4|750px]]
 +
 +
 +
== Pertemuan Kesembilan (Rabu, 30 Oktober 2019) ==
 +
 +
[[File:Metnum gg.jpg|700px|thumb|center]]
 +
 +
 +
 +
from math import *
 +
 +
#mendefinisikan nilai besaran gravitasi
 +
g = 9.8
 +
t0 = 0
 +
v0 = 0
 +
dt = 1
 +
err = 100
 +
 +
#meminta input dari pengguna
 +
a0 = eval(input('masukkan nilai percepatan awal mobil: ')) #20
 +
cd = eval(input('masukkan nilai drag coeficient: ')) #0.25
 +
m = eval(input('masukkan nilai massa mobil: ')) #2000
 +
nk = eval(input('masukkan nilai koefisien gesek kinetis: ')) #0.1
 +
 +
#menentukan nilai percepatan total
 +
fs = g*nk
 +
fd = (cd*v0**1.5)/m
 +
a = a0-(fs+fd)
 +
 +
#menentukan nilai waktu untuk mencapai top speed secara 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)
 +
 +
#menampilkan hasil kepada pengguna
 +
print('Percepatan total mobil adalah = ',a)
 +
print('waktu yang dibutuhkan mobil untuk mencapai top speed adalah = ',t + 1)
 +
print("velocity maksimal adalah: ", v1)
 +
 +
#by Wildan Zulfa A
 +
 +
== Pertemuan Kesepuluh (Rabu, 6 November 2019) ==
 +
 +
Paada pertemuan kesepuluh kami belajar mengenai cara berpikir. metode numerik sudah disusun secara terstruktur dan dibukukan. namun karena perkembangan teknologi sangat cepat, metode numerik belum mampu untuk mengikuti perkembangan terhadap metode-metode baru yang ada seperti artificial intelligence. Bagaimana cara menyelesaikan masalah dengan metode2 tadi. menyelesaikan masalah dimulai dengan mengetahui masalah. mengetahui masalah bukan hanya diketahui ini itu kemudian memasukkan kedalam persamaan yang sudah ada. hal itu merupakan pekerjaan operator, sebagaimahasiswa teknik mesin kita harus bisa merumuskan masalah menjadi suatu persamaan bukan hanya menggunakan persamaan yang sudah ada. sehingga ilmu yang ada di dalam pikiran kita dapat bermanfaat dan digunakan bukan hanya meng-copy hasil pemikiran orang lain, hal tersebut tidak ada gunanya apabila kita tidak melakukan sesuatu dengan menggunakan pikiran kita sendiri.
 +
 +
 +
Body motion merupakan metode analisis yang dapat digunakan pada sebuah mobil yang bergerak, sehingga didapatkan power. mengapa seorang sales harus menampilkan power dan torque bukan hanya power saja yang ditampilkan?
 +
 +
 +
Power merupakanh energi yang dikeluarkan mesin untuk mencapai top speed (kecepatan tertinggi). Sementara torsi adalah energi yang dikeluarkan mesin, dari kondisi mobil diam sampai kendaraan bergerak.berdasarkan pengertian sederhana dari kedua satuan tersebut maka apabila diasumsikan dengan sebuah mobil yang melaju dengan power dan torque tertentu, kemudian mobil tersebut menabrak dinding, maka power merupakan seberapa cepat mobil tersebut menabrak dinding dan torque adalah seberapa jauh dinding tersebut terbawa oleh mobil ketika ditabrak
 +
 +
'''(Dr. Ahmad Indra)'''
 +
 +
== Pertemuan Kesebelas (Rabu, 13 November 2019) ==
 +
 +
Pada pertemuan kesebelas kami belajar mengenai Regresi linier, curve fitting, least square.
 +
 +
 +
Bagaimana cara menentukan metode mana yang kita gunakan untuk membuat suatu grafik dengan pendekatan regresi linier. Hal yang harus kita lakukan adalah memahami fenomena fisikanya untuk menentukan grafik seperti apa yang kita inginkan nanti. karena suatu metode pendekatan regresi linier diciptakan untuk menangani suatu masalah tertentu, walaupun metode tersebut tetap dapat digunakan secara universal, namun penggunaannya akan terasa kurang efektifdan efisisen.
 +
 +
 +
Optimasi merupakan salah satu metode yang bertujuan untuk menentukan nilai minimum dan maksimum dari suatu fungsi. Nilai minimum merupakan error dari fungsi itu sendiri. dengan adanya optimasi, kita dapat memperkirakan dimana letak hasil yang optimal dari suatu persamaan yang kita miliki, hal ini sangat berguna di bidang industri, karena dengan mengetahui nilai optimum dari suatu kinerja mesin maka akan menghemat waktu dan biaya produksi sekaligus meningkatkan hasil dari produksi suatu barang.
 +
 +
 +
Metode numerik merupakan salah satu sarana dalam melakukan optimasi, dengan menggunakan suatu perintah pemrograman, kita dapat mengetahui nilai optimum dari suatu persamaan engineering. dengan begitu optimasi dapat dilakukan lebih cepat dan efisien.
 +
 +
'''(Asisten Mata Kuiliah)'''
 +
 +
== Pertemuan Keduabelas (Rabu, 20 November 2019) ==
 +
 +
Pada pertemuan ini, kami diajarkan mengenai simulasi CFD menggunakan software CFDSOF-NG. CFDSOF-NG merupakan aplikasi berbasis metode numerik yang berfungsi untuk menganalisa aliran fluida pada suatu permukaan benda. Pada pertemuan ini, asisten dosen memberikan contoh dengan menganalisa aliran udara pada permukaan mobil. Langkah-langkah untuk melakukan analisis CFD menggunakan CFDSOF-NG adalah sebagai berikut:
 +
 +
1. Mengimport file .stl ke dalam software CFDSOF-NG
 +
 +
2. Membuat mesh dari file .stl
 +
 +
3. Run solve pada software CFDSOF-NG
 +
 +
4. Melakukan analisis lebih lanjut dengan menggunakan software paraview
 +
 +
'''(Asisten Mata Kuliah)'''
 +
 +
[[File:Sim1.png|500px|thumb|center]]
 +
 +
[[File:Sim2.png|500px|thumb|center]]
 +
 +
[[File:Sim3.png|500px|thumb|center]]
 +
 +
[[File:4.png|500px|thumb|center]]
 +
 +
[[File:Simulasi.png|500px|thumb|center]]
 +
 +
== Pertemuan Ketigabelas (Rabu, 27 November 2019) ==
 +
 +
Pada pertemuan ini, kami membahas mengenai optimasi pada airfoil menggunakan metode numerik. Mula-mula kami melakukan analisis menggunakan CFDSOF-NG untuk mendapatkan nilai lift force dan drag force. Setelah itu didapatkan grafik berdasarkan setiap perubahan AoA. Kemudian dilakukan optimasi dengan metode numerik untuk mendapatkan nilai maksimal dari gaya drag dan lif berdasarkan AoA. Berdasarkan hasil optimasi didapatkan hasil berupa sudut optimal dari pesawat yang mana akan meningkatkan performa dan meminimalisir gaya gesekan.
 +
 +
 +
Kemudian kami diberikan tugas mengenai simulasi airfoil dengan menggunakan airfoil buatan sendiri ataupun airfoil yang sudah ada. Simulasi dilakukan dengan merubah sudut Angle of Attack (AoA) dalam kecepatan tertentu. AoA yang digunakan mulai dari -15 derajat sampai 90 derajat, dengan increment 15 derajat. Tugas ini nantinya akan dipresentasikan pada pertemuan selanjutnya, sehingga harus dibuat dalam bentuk powerpoint.
 +
 +
'''(Asisten Mata Kuliah)'''
 +
 +
[[File:optimasiwildan1.png|700px|thumb|center]]
 +
 +
== Pertemuan Keempatbelas (Rabu, 4 Desember 2019) ==
 +
 +
Pada pertemuan ini, kami melakukan presentasi mengenai hasil tugas kami yaitu optimasi airfoil menggunakan metode numrik. Hasil tugas yang saya presentasikan adalah sebagai berikut:
 +
 +
[[File:slide1.png|700px|thumb|center]]
 +
 +
[[File:slide2.png|700px|thumb|center]]
 +
 +
[[File:slide3.png|700px|thumb|center]]
 +
 +
[[File:slide4.png|700px|thumb|center]]
 +
 +
[[File:slide5.png|700px|thumb|center]]
 +
 +
[[File:slide6.png|700px|thumb|center]]
 +
 +
[[File:slide7.png|700px|thumb|center]]
 +
 +
[[File:slide8.png|700px|thumb|center]]
 +
 +
[[File:slide9.png|700px|thumb|center]]
 +
 +
[[File:slide10.png|700px|thumb|center]]
 +
 +
== Pertemuan Kelimabelas (Rabu, 11 November 2019) ==
 +
 +
Pada pertemuan ini, kami membahas mengenai Ujian Akhir Semester. Pak Dai menanyakan bagaimana UAS yang ideal untuk mata kuliah metode numerik. Seseorang dari kami menyebutkan bahwa UAS yang ideal adalah kejujuran dalam diri kita sendiri. Oleh karena itu Pak Dai memberikan tugas muhasabah diri selama mengikuti mata kuliah metode numerik. Tujuannya adalah melihat kejujuran kita dalam menyampaikan apa saja yang kita dapatkan selama mengikuti mata kuliah metode numerik ini. Selain itu Pak Dai juga menghimbau kami untuk melengkapi wiki supaya nilainya lebih maksimal. Pada hari ujian nanti, akan terdapat ujian lisan mengenai muhasabah yang kita tulis dan materi artificial neuro network.
 +
 +
'''(Pak Ahmad Indra)'''
 +
 +
Pada akhir jam pelajaran, asisten mata kuliah memeberikan penjelasan singkat mengenai Artificial Neuro Network (ANN) dan cara mengaplikasikannya. Artificial Neuro Network merupakan program berbasis metode numrik yang bekerja secara otomatis dengan hanya membutuh kan suatu input tertentu, kemudian program tersebut akan menjalankan penyelesaian atau kesimpulan sendiri yang ditampilkan pada output. Setelah mencoba selama beberapa saat, asisten memberikan beberapa pertanyaan untuk evaluasi mengenai pemahaman kita terhadap materi Artificial Neuro Network. 
 +
 +
'''(Asisten Mata Kuliah)'''
 +
  
 
----
 
----
Line 117: Line 684:
 
----
 
----
  
 +
Silahkan berkomentar pada kolom  di bawah
  
'''Kolom Komentar:'''
+
<comments voting="Plus" />
 
 
hahahaha (Luqman Sugiyono)
 

Latest revision as of 00:43, 14 February 2020

James.jpg

Nama: Wildan Zulfa Abdurrohman

NPM: 1806149305





Pertemuan Pertama (Rabu, 4 September 2019)

Mengapa kita sebagai mahasiswa teknik mesin perlu mempelajari mata kuliah kalkulus?

"Menurut saya, mahasiswa teknik mesin harus mempelajari kalkulus karena mata kuliah ini merupakan dasar dari mata kuliah teknik seperti: Termodinamika, Kinematika dan Dinamika, Aljabar Linier, Metode Numerik, Fisika Listrik dan Mekanika."


Kalkulus.jpg


Bahasa program tidak diajarkan di kelas, kita belajar metode menyelesaikan masalah dengan programming. USA dapat memprediksi cuaca menggunakan programing yang sangat rumit dengan bantuan super computer. Namun sekarang terdapat kuantum komputer yang lebih canggih yang dapat menyelesaikan komputasi yang lebih kompleks. Programming tersebut menggunakan bahasa programming, bahasa programming hanya mengerti tambah, kurang, kali, bagi, mereka tidak mengetahui perhitungan kalkulus seperti diferensial dan integral. Oleh karena itu, manusia akan memberikan rumus menggunakan algoritma dengan bahasa proggamming kepada komputer.


Langkah-langkah Python: menulis algoritma; membuat flow chart; menulih bahasa programming. Persamaan yang diselesaikan oleh software canggih hanya menggunakan perkalian matriks karena bahasa programming menggunakan persamaan sederhana dengan cara memberikan instruksi menggunakan algoritma, setelah itu membuat flow chart lalu dilanjutkan ke dalam bahasa programming, kemudian komputer akan melaksanakan instruksi tersebut


CAE Computer-aided engineering merupakan program untuk melakukan analisis teknik yang mencakup analisis finite element (FEA - finite element analysis), dinamika fluida komputasi (CFD - computational fluid dynamics), dinamika multibody (MBD - multibody dynamics), dan optimalisasi.

Trik untuk mempelajari metode numerik adalah langsung terjun mencoba secara langsung bahasa programming

(Dr. Ahmad Indra)


Industri 4.0 mendorong lulusan teknik supaya dapat melakukan programming, karena pasar membutuhkan lulusan yang memahami bahasa programming. Oleh sebab itu, mata kuliah metode numerik merupakan salah satu sarana bagi mahasiswa teknik mesin untuk mempelajari bahasa programming. Saya merekomendasikan kepada mahasiswa untuk mencoba terlebih dahulu bahasa programming, khususnya bahsa Python, supaya mahasiswa dapat memahammi secara mandiri apa itu yang dimaksud dengan bahasa programming.


Kami, Dosen Departemen teknik Mesin, memiliki pemikiran jangka panjang mengenai kurikulum 2020 untuk mengadakan mata kuliah programming untuk mahasiswa teknik mesin. Selain itu, kami juga ingin melakukan kolaborasi dengan IMM untuk mengadakan pelatihan programming bagi mahasiswa teknik mesin. Oleh sebab itu, jangan berkecil hati apabila belum pernah mencoba programming karena programming itu logic sehingga dengan sendirinya kalian akan dapat memahami hal tersebut.

(Dr. Eng. Radon Dhelika)


Penilaian Continous Evaluation: nilai tidak hanya UTS dan UAS, dosen mengamati perkembangan mahasiswa dengan cara melihat gradien


Tugas Pertemuan Pertama:

Pelajari python & Membuat program untuk menyelesaikan persoalan matematis limit x=1; y=(x^2-1)/(x-1)
Python.jpg

Python merupakan salah satu bahasa pemrograman yang memiliki konsep desain sederhana, yang berfokus pada kemudahan dalam penggunaan. Kode Python dirancang untuk mudak dibaca, dipelajari, digunakan ulang, dan dirawat. Selain itu, Python juga mendukung pemrograman berorientasi obe=jek dan pemrograman fungsional. Python dpat meningkatkan produktivitas dan menghemat waktu programer. Untuk memperoleh hasil yang sama, bahasa Python lebih sedikit ditulis dibandingkan menggunakan bahasa pemrograman lain.


Bahasa Python memiliki 5 tipe variabel yaitu: integer; float; string; boolean; list. Untuk tipe integer penulisan merupakan suatu bilangan bulat, tipe float merupakan bilangan desimal dengan koma menggunakan tanda titik, tipe string merupakan rangkaian huruf yang diapit oleh tanda petik tunggal atau ganda, tipe boolean merupakan pernyataan benar salah yang ditulis dengan kata True atau False, tipe list merupakan wadah untuk membuat suatu kumpulan data dengan cara penulisan diapit oleh tanda [ ] dan setiap data dipisahkan oleh tanda koma.


Bahasa Python dapat digunakan untuk menyelesaikan persoalan matematis, penjumlahan menggunakan tanda (+), pengurangan (-), perkalian (*), pembagian (/), eksponensial (**). Persoalan matematis yang kompleks dapat diselesaikan dengan membuat flow chart, yaitu mengurutkan proses pengerjaan suatu persoalan matematis dengan menggunakan penjumlahan, pengurangan, perkalian, atau pembagian. Selain itu, persoalan matematis juga dapat diselesaikan menggunakan metode if else. Metode if else merupakan perintah yang dipengaruhi oleh suatu kondisi yang disebut if, semua hal yang berada diluar kondisi tersebut adalah else. Kondisi untuk suatu perbandingan meliputi: tanda (==) berarti sama dengan; tanda (!=) atau (<>) berarti tidak sama dengan; tanda (>) berarti lebih dari; tanda (<) berarti kurang dari; tanda (>=) berarti lebih dari sama dengan; tanda (<=) berarti kurang dari sama dengan. Perintah input berfungsi untuk memasukkan data yang telah diberikan oleh pengguna, perintah untuk meminta data dari pengguna adalah menggunakan tanda titik dua (:).


Program untuk menyelesaikan persoalan matematis limit x=1; y=(x^2-1)/(x-1) ditulis dengan bahasa Python yang terdiri dari penjumlahan, pengurangan, perkalian, dan pembagian. Selain itu, program ini menggunakan metode if else karena terdapat suatu kondisi perbandingan dalam menyelesaikan persoalan tersebut. Apabila x sama dengan 1 maka hasil y=(x^2-1)/(x-1) adalah 0/0 yang artinya tidak terdefinisi, sedangkan untuk x tidak sama dengan 1 maka y terdefinisi. Oleh sebab itu jika x adalah 1 maka persamaan y=(x^2-1)/(x-1) harus disederhanakan terlebih dahulu menjadi y=x+1 sehingga y terdefinisi.


Flow chart program untuk menyelesaikan persoalan matematis y=(x^2-1)/(x-1) adalah sebagai berikut:

Flowchart tugas 1.PNG


Ketika program tersebut dijalankan, kemudian input angka 1 pada kolom "masukan x: " maka hasilnya adalah sebagai berikut:

Hasil tugas 1.PNG

Pertemuan Kedua (Rabu, 11 September 2019)

Mausia harus mengenal komputer supaya dapat memahami cara kerja dari komputer untuk memaksimalkan performa dari komputer tersebut. Komputer merupakan teknologi yang dapat melaksanakan perintah dan menyelesaikan suatu permasalahan dengan menggunakan bahasa algoritma. Bahasa yang dipahami komputer ialah bahasa yang terdiri dari angka 0 dan 1.


Manusia merupakan makhluk paling cerdas, tetapi akal pikiran dan memori manusia terbatas. Oleh karena itu, komputer digunakan sebagai alat bantu untuk mengingat dan menyelesaikan masalah lebih banyak. Namun. komputer tetap harus diberikan perintah oleh manusia, karena komputer tidak dapat memerintah dirinya sendiri. Semakin pintar seseorang, maka orang tersebut akan semakin menunduk atau rendah hati. Artinya, mausia yang cerdas, semakin banyak ilmunya maka ia akan berfikir menggunakan hati, karena otaknya sudah dipenuhi oleh ilmu. Komputer tidak memiliki hati, sehingga manusia tetap diperlukan untuk mengontrol dan memerintah komputer supaya beroperasi secara maksimal. Pada kelas minggu ini cobalah kalian membuat penyelesaian aritmatik sederhana, kemudian cobalah untuk menjalankan perintah loop.

(Dr. Ahmad Indra)


Carilah suatu website mengenai Python sebagai referensi kamu untuk belajar. Pelajari satu web terlebih dahulu supaya fokus dalam mempelajari Python. Install Python kemudian cobalah untuk membuat "hello world" sebagai langkah pertama untuk melakukan programming. Setelah itu, kalian dapat mencoba berbagai macam perintah untuk membuat suatu program. Terdapat website untuk menjalankan program Python secara online, salah satunya adalah pythonanywhere.com

(Dr. Eng. Radon Dhelika)


Tuples list code.png
Tuples list result.png

Tugas Pertemuan Kedua

Pelajari buku Python Bab 1

!!!Pertemuan Ketiga QUIZ!!!


Pertemuan Ketiga (Rabu, 18 September 2019)

Pada pertemuan ini kami mengerjakan soal mengenai deret fibonacci. Untuk menyelesaikan permasalahan ini, saya menggunakan 2 metode yaitu:

1. Loop

2. Rumus

Hasil dari pengerjaan program untuk penyelesaian deret fibonacci menggunakan loop adalah sebagai berikut:

Fibonacci loop.png

Sedangkan, hasil dari pengerjaan program untuk penyelesaian deret fibonacci menggunakan rumus adalah sebagai berikut:

Fibonacci rumus.png


Pertemuan Kempat (Rabu, 25 September 2019)

Pada pertemuan ini, kami mempelajari cara menyelesaikan sistem persamaan linier menggunakan metode numerik dengan menggunakan eliminasi gauss.

Eliminisasi Gauss adalah metode untuk mengoperasikan nilai-nilai di dalam matriks sehingga menjadi matriks yang lebih sederhana. Dengan melakukan operasi baris sehingga matriks tersebut menjadi salah satu metode penyelesaian persamaan linear.

Contoh soal

Contoh soal kelompok 3.PNG



Pengerjaan Matematis

Menggunakan Eliminasi Gauss

Gaussbagian 1.PNG
Gaussbagian 2.PNG


Kemudian menyelesaikan dengan Subtitusi


Pengerjaan Menggunakan Bahasa Python

Dalam penggunaan matriks pada bahasa python dibutuhkan fungsi array dengan cara import numpy

Gausspython 1 kel 3.jpeg
Gausspython 2.JPG

Hasil perhitungan dengan Python

Gausspython 3.JPG


Pertemuan Kelima (Rabu, 2 Oktober 2019)

Pada pertemuan kelima, kami membahas mengenai permodelan pegas dan super posisi pada pegas. pegas merupakan suatu komponen yang sering digunakan dalam dunia engineering. pegas berfungsi untuk meredam getaran, sehingga getaran atau momentum yang dihasilkan oleh suatu sistem dapat diminimalisir. Ketika pegas bergerak, gerakan tersebut akan menghasilkan osilasi atau gerakan bolak balik dengan frekuensi tertentu, dimana persamaan tersebut dapat kita rumuskan sebagai konstanta dari pegas itu sendiri. semakin besar nilai konstanta dari suatu pegas, maka semakin besar gaya yang dibutuhkan untuk menggerakkan pegas tersebut. sedangkan semakin kecil nilai konstanta pegas maka akan semakin kecil gaya yang dibutuhkan untuk menggerakkan pegas itu sendiri.


Superposisi pegas merupakan rangkaian dari dua pegas atau lebih yang berhubungan secara seri maupun paralel. apabila pegas berhubungan seri antara satu dengan yang lainnya, maka konstanta dari pegas tersebut satu per penjumlahan dari satu per konstanta pegas 1 dengan satu per konstanta pegas 2. apabila pegas dihubungkan secara seri, maka konstanta dari pegas tersebut merupakan penjumlahan dari konstanta pegas-pegas penyusunnya.


Metode numerik berfungsi untuk memudahkan kita dalam menghitung konstanta pegas apabila pegas-pegas tersebut tersusun dalam suatu sistem yang rumit. Hal ini dapat disederhanakan dengan mengubah bentuk persamaan pegas kedalam bentuk matriks, kemudian dilakukan operasi baris elementer dengan metode gauss-jordan. sehingga didapatkan hasil dari konstanta pegas yang diinginkan

(Dr. Ahmad Indra)

Pertemuan Keenam (Rabu, 9 Oktober 2019)

Pada pertemuan ini kami membahas mengenai berbagai macam cara untuk menyelesaikan permasalahan matematis. Ada macam-macam cara untuk menyelesaikan permasalahan matematis, terutama di bidang teknik. Anda harus mengerti apa yang bisa dan tidak bisa dilakukan oleh komputer.


Metode Numerik memiliki nama lain yaitu Computer Audit Engineering. Bagaimana memodelkan permasalahan teknik untuk menjadi algoritma yang dapat dipahami oleh komputer. Apabila kita menerapkan suatu persamaan gaya yang kontinu pada suatu material, maka persamaan tersebut akan menjadi persamaan diferensial. Beban yang diberikan secara kontinu akan membuat material itu merasakan bahan tersebut secara terus menerus.


Orang cerdas merupakan orang yang pikirannya berbeda dari orang lain, menuju pikiran yang lebih futuristik. Supaya mempersiapkan life after. Diferensial merupakan sesuatu bagian yang sangat kecil tetapi tidak nol dan kontinu. Apabila suatu benda diberikan gaya, maka benda tersebut akan memberikan reaksi yaitu hukum aksi-reaksi. Apabila suatu benda tersebut memiliki luasan, maka reaksinya berupa stress. karena terdapat perpindahan gaya dari suatu titik menuju suatu luasan.


Ada banyak metode untuk menyelesaikan permasalahan diferensial. Namun, terdapat beberapa permasalahan diferensial yang tidak dapat diselesaikan secara eksak, karena sangat rumit. Permasalahan di dunia teknik tidaklah linier. Oleh karena itu, digunakanlah program metode numerik untuk membantu menyelesaikan permasalahan tersebut. salah satu metode penyelesaian persamaan diferensial dengan bantuan metode numerik adalah metode runge-kutta. Runge-kutta memiliki beberapa pendekatan, terdapat 4 orde pendekatan runge-kutta yang mana semakin tinggi orde, maka nilai error akan semakin kecil

(Dr. Ahmad Indra)


Pertemuan Ketujuh (Rabu, 16 Oktober 2019)

Berikut merupakan program untuk menyelesaikan problem set 2.1 no.6

#eliminasi gauss jordan problem set 2.1 no.6

#mengimport numpy ke dalam program
import numpy as np

#mendefinisakan baris matriks yang berisi varibel dari persamaan yang ada
line1 = [1,2,0,-2,1]
line2 = [0,1,0,2,-1]
line3 = [0,0,2,1,2]
line4 = [0,0,0,-1,1]
line5 = [0,1,-1,1,-1]

#mendefinisikan baris variabel menjadi suatu matriks menggunakan perintah array
variabel = np.array ([line1,line2,line3,line4,line5]) 

#mendefinisikan hasil persamaan menjadi suatu matriks menggunakan perintah array
hasil = np.array ([-4,1,1,-2,-1]) 

#melakukan eliminasi gauss-jordan terhadap kedua matriks diatas menggunakan perintah linalg
run = np.linalg.solve (variabel,hasil)

#mendefinisikan masing-masing nilai dari variabel setelah dilakukan eliminasi gauss-jordan
x1 = int(run[0])
x2 = int(run[1])
x3 = int(run[2])
x4 = int(run[3])
x5 = int(run[4])

#menampilkan nilai masing-masing vaiabel menggunakan perintah print
print ("hasil X berdasarkan eliminasi Gauss-Jordan adalah sebagai berikut:")
print ("x1= ",x1)
print ("x2= ",x2)
print ("x3= ",x3)
print ("x4= ",x4)
print ("x5= ",x5)

#by Wildan Zulfa A


Hasil run program diatas adalah sebagai berikut:

"C:\Users\wildan zulfa\PycharmProjects\Pertemuan 7\venv\Scripts\python.exe" "C:/Users/wildan zulfa/PycharmProjects/Pertemuan 7/Eliminasi Gauss Jordan.py"

hasil X berdasarkan eliminasi Gauss-Jordan adalah sebagai berikut:

x1=  3
x2=  -2
x3=  1
x4=  1
x5=  -1

Process finished with exit code 0


Berikut merupakan program untuk menyelesaikan problem set 7.1 no.2

#persamaan diferensial runge-kutta problem set 7.1 no.2

#mendefinisikan persamaan diferensial
def dydx(x, y):
    return ((x ** 2 - 4 * y))

# melakukan penyelesaian dengan metode runge-kutta menggunakan nilai h dan y0 saat x0
def rungeKutta(x0, y0, x, h):

    #mendefinisikan jarak penyelesaian yang diinginkan dengan menggunakan persamaan berikut
    n = (int)((x - x0) / h)

    # mendefinisikan y awal
    y = y0

    #mendefinisikan nilai k dari setiap orde pada metode runge-kutta
    for i in range(1, n + 1):
        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)

        # mengupdate nilai dari y setelah diturunkan
        y = y + (1.0 / 6.0) * (k1 + 2 * k2 + 2 * k3 + k4)

        # mengupdate nilai dari x berdasarkan hasil diatas
        x0 = x0 + h

    # memberikan perintah pengulangan pada y
    return y


# memberikan pemisalan terhadap variabel-variabel yang ada
x0 = 0
y = 1
x = 0.03
h = 0.01

#menampilkan nilai dari y saat x
print('Nilai dari y saat x adalah:', rungeKutta(x0, y, x, h))

#by Wildan Zulfa A


Hasil run program diatas adalah sebagai berikut:

"C:\Users\wildan zulfa\PycharmProjects\Pertemuan 7\venv\Scripts\python.exe" "C:/Users/wildan zulfa/PycharmProjects/Pertemuan 7/Persamaan Diferensial Runge-Kutta.py"

Nilai dari y saat x adalah: 0.8869291754400297

Process finished with exit code 0


Pertemuan Kedelapan (Rabu, 23 Oktober 2019)

Pada pertemuan kali ini dilaksanakan Ujian Tengah Semester (UTS), terdapat 2 tipe soal yaitu soal A dan soal B, untuk menyelesaikan kedua soal tersebut saya menggunakan 2 metode penyelesaian untuk tiap soal.

Pada soal A metode yang diterapkan adalah:

(1) Metode persamaan

(2) Metode gauss jordan

Berikut adalah program penyelesaian untuk soal A dengan metode persamaan (1)

#program penyelesaian soal A metode persamaan

from math import *

#mendefinisikan nilai besaran gravitasi
g = 9.8

#meminta input dari pengguna
m1 = eval(input('masukkan nilai massa benda 1: ')) #10
m2 = eval(input('masukkan nilai massa benda 2: ')) #7
m3 = eval(input('masukkan nilai massa benda 3: ')) #5
(teta) = eval(input('masukkan nilai sudut bidang miring: ')) #45
(ns) = eval(input('masukkan nilai koefisien gesek statis: ')) #0.4

#mendefinisikan penyederhanaan rumus
phi = 3.1428
rad = teta*phi/180
y = sin(rad)
x = cos(rad)

#menentukan nilai massa 4
m4 = (m1+m2+m3)*(y-(x*(ns)))

#menentukan nilai tegangan 1, 2, 3, 4
T1 = m1*g*(y-(x*(ns)))
T2 = (m1+m2)*g*(y-(x*(ns)))
T3 = (m1+m2+m3)*g*(y-(x*(ns)))
T4 = T3

#menampilkan hasil perhitungan kepada pengguna
print('Nilai massa 4 adalah = ',m4)
print('Nilai Tegangan 1 adalah = ',T1)
print('Nilai Tegangan 2 adalah = ',T2)
print('Nilai Tegangan 3 adalah = ',T3)
print('Nilai Tegangan 4 adalah = ',T4)

#by Wildan Zulfa A

Hasil running program A metode persamaan (1) adalah sebagai berikut:

"C:\Users\wildan zulfa\PycharmProjects\Pertemuan 7\venv\Scripts\python.exe" "C:/Users/wildan zulfa/PycharmProjects/Pertemuan 7/UTS A.py"
masukkan nilai massa benda 1: 10
masukkan nilai massa benda 2: 7
masukkan nilai massa benda 3: 5
masukkan nilai sudut bidang miring: 45
masukkan nilai koefisien gesek statis: 0.4
Nilai massa 4 adalah =  9.34038275220371
Nilai Tegangan 1 adalah = 41.607159532543804
Nilai Tegangan 2 adalah =  70.73217120532448
Nilai Tegangan 3 adalah =  91.53575097159637
Nilai Tegangan 4 adalah =  91.53575097159637

Process finished with exit code 0

Berikut adalah program penyelesaian untuk soal A dengan metode eliminasi gauss jordan (2)

#program penyelesaian soal A metode gauss jordan

from math import *
import numpy as np


#mendefinisikan nilai besaran gravitasi
g = 9.8

#meminta input dari pengguna
m1 = eval(input('masukkan nilai massa benda 1: ')) #10
m2 = eval(input('masukkan nilai massa benda 2: ')) #7
m3 = eval(input('masukkan nilai massa benda 3: ')) #5
(teta) = eval(input('masukkan nilai sudut bidang miring: ')) #45
(ns) = eval(input('masukkan nilai koefisien gesek statis: ')) #0.4

#mendefinisikan penyederhanaan rumus
phi = 3.1428
rad = teta*phi/180
y = sin(rad)
x = cos(rad)
z = 1/(y-(ns*x))

#menentukan nilai massa 4 menggunakan persamaan
m4 = (m1+m2+m3)*(y-(x*(ns)))

#mendefinisikan matriks untuk metode eliminasi gauss jordan
T = np.array([[z,0,0],[-z,z,0],[0,-z,z]])
W = np.array([[m1*g],[m2*g],[m3*g]])

#menyelesaikan eliminasi matriks dengan bantuan numpy
D = np.linalg.solve(T,W)

#menampilkan hasil perhitungan kepada pengguna
print('Nilai massa 4 adalah = ',m4,'Kilogram')
print('Nilai Tegangan 1 adalah = ',D[0],'Newton')
print('Nilai Tegangan 2 adalah = ',D[1],'Newton')
print('Nilai Tegangan 3 adalah = ',D[2],'Newton')
print('Nilai Tegangan 4 adalah = ',D[2],'Newton')

#by Wildan Zulfa A

Hasil running program A metode gauss jordan (2) adalah sebagai berikut:

"C:\Users\wildan zulfa\PycharmProjects\Pertemuan 7\venv\Scripts\python.exe" "C:/Users/wildan zulfa/PycharmProjects/Pertemuan 7/UTS A Gauss Jordan.py"
masukkan nilai massa benda 1: 10
masukkan nilai massa benda 2: 7
masukkan nilai massa benda 3: 5
masukkan nilai sudut bidang miring: 45
masukkan nilai koefisien gesek statis: 0.4
Nilai massa 4 adalah =  9.34038275220371 Kilogram
Nilai Tegangan 1 adalah =  [41.60715953] Newton
Nilai Tegangan 2 adalah =  [70.73217121] Newton
Nilai Tegangan 3 adalah =  [91.53575097] Newton
Nilai Tegangan 4 adalah =  [91.53575097] Newton
 
Process finished with exit code 0

Pada soal B metode yang diterapkan adalah:

(1) Metode persamaan

Berikut adalah program penyelesaian untuk soal B menggunakan metode persamaan (1)

#program penyelesaian saol B metode persamaan

from math import *

#mendefinisikan nilai besaran gravitasi
g = 9.8

#meminta input dari pengguna
a0 = eval(input('masukkan nilai percepatan awal mobil: ')) #20
v = eval(input('masukkan nilai top speed: ')) #100
cd = eval(input('masukkan nilai drag coeficient: ')) #0.25
m = eval(input('masukkan nilai massa mobil: ')) #2000
nk = eval(input('masukkan nilai koefisien  gesek kinetis: ')) #0.1

#menentukan nilai percepatan total
fs = g*nk
fd = (cd*v**1.5)/m
a = a0-(fs+fd)

#menentukan nilai waktu untuk mencapai  top speed
t = v/a

#menampilkan hasil kepada pengguna
print('Percepatan total mobil adalah = ',a)
print('waktu yang dibutuhkan mobil untuk mencapai top speed adalah = ',t)

#by Wildan Zulfa A

Hasil running program B metode persamaan (1) adalah sebagai berikut:

"C:\Users\wildan zulfa\PycharmProjects\Pertemuan 7\venv\Scripts\python.exe" "C:/Users/wildan zulfa/PycharmProjects/Pertemuan 7/UTS B.py"
masukkan nilai percepatan awal mobil: 20
masukkan nilai top speed: 100
masukkan nilai drag coeficient: 0.25
masukkan nilai massa mobil: 2000
masukkan nilai koefisien gesek kinetis: 0.1
Percepatan total mobil adalah =  18.895
waktu yang dibutuhkan mobil untuk mencapai top speed adalah = 5.292405398253506

Process finished with exit code 0

Rekaman Mid Test Metode Numerik

1. MUHASABAH DIRI

2. Pembahasan Soal UTS A

3. Pembahasan Soal UTS B


Pertemuan Kesembilan (Rabu, 30 Oktober 2019)

Metnum gg.jpg


from math import * 

#mendefinisikan nilai besaran gravitasi
g = 9.8
t0 = 0
v0 = 0
dt = 1
err = 100

#meminta input dari pengguna
a0 = eval(input('masukkan nilai percepatan awal mobil: ')) #20
cd = eval(input('masukkan nilai drag coeficient: ')) #0.25
m = eval(input('masukkan nilai massa mobil: ')) #2000
nk = eval(input('masukkan nilai koefisien gesek kinetis: ')) #0.1

#menentukan nilai percepatan total
fs = g*nk
fd = (cd*v0**1.5)/m
a = a0-(fs+fd)

#menentukan nilai waktu untuk mencapai top speed secara 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)

#menampilkan hasil kepada pengguna
print('Percepatan total mobil adalah = ',a)
print('waktu yang dibutuhkan mobil untuk mencapai top speed adalah = ',t + 1)
print("velocity maksimal adalah: ", v1)

#by Wildan Zulfa A

Pertemuan Kesepuluh (Rabu, 6 November 2019)

Paada pertemuan kesepuluh kami belajar mengenai cara berpikir. metode numerik sudah disusun secara terstruktur dan dibukukan. namun karena perkembangan teknologi sangat cepat, metode numerik belum mampu untuk mengikuti perkembangan terhadap metode-metode baru yang ada seperti artificial intelligence. Bagaimana cara menyelesaikan masalah dengan metode2 tadi. menyelesaikan masalah dimulai dengan mengetahui masalah. mengetahui masalah bukan hanya diketahui ini itu kemudian memasukkan kedalam persamaan yang sudah ada. hal itu merupakan pekerjaan operator, sebagaimahasiswa teknik mesin kita harus bisa merumuskan masalah menjadi suatu persamaan bukan hanya menggunakan persamaan yang sudah ada. sehingga ilmu yang ada di dalam pikiran kita dapat bermanfaat dan digunakan bukan hanya meng-copy hasil pemikiran orang lain, hal tersebut tidak ada gunanya apabila kita tidak melakukan sesuatu dengan menggunakan pikiran kita sendiri.


Body motion merupakan metode analisis yang dapat digunakan pada sebuah mobil yang bergerak, sehingga didapatkan power. mengapa seorang sales harus menampilkan power dan torque bukan hanya power saja yang ditampilkan?


Power merupakanh energi yang dikeluarkan mesin untuk mencapai top speed (kecepatan tertinggi). Sementara torsi adalah energi yang dikeluarkan mesin, dari kondisi mobil diam sampai kendaraan bergerak.berdasarkan pengertian sederhana dari kedua satuan tersebut maka apabila diasumsikan dengan sebuah mobil yang melaju dengan power dan torque tertentu, kemudian mobil tersebut menabrak dinding, maka power merupakan seberapa cepat mobil tersebut menabrak dinding dan torque adalah seberapa jauh dinding tersebut terbawa oleh mobil ketika ditabrak

(Dr. Ahmad Indra)

Pertemuan Kesebelas (Rabu, 13 November 2019)

Pada pertemuan kesebelas kami belajar mengenai Regresi linier, curve fitting, least square.


Bagaimana cara menentukan metode mana yang kita gunakan untuk membuat suatu grafik dengan pendekatan regresi linier. Hal yang harus kita lakukan adalah memahami fenomena fisikanya untuk menentukan grafik seperti apa yang kita inginkan nanti. karena suatu metode pendekatan regresi linier diciptakan untuk menangani suatu masalah tertentu, walaupun metode tersebut tetap dapat digunakan secara universal, namun penggunaannya akan terasa kurang efektifdan efisisen.


Optimasi merupakan salah satu metode yang bertujuan untuk menentukan nilai minimum dan maksimum dari suatu fungsi. Nilai minimum merupakan error dari fungsi itu sendiri. dengan adanya optimasi, kita dapat memperkirakan dimana letak hasil yang optimal dari suatu persamaan yang kita miliki, hal ini sangat berguna di bidang industri, karena dengan mengetahui nilai optimum dari suatu kinerja mesin maka akan menghemat waktu dan biaya produksi sekaligus meningkatkan hasil dari produksi suatu barang.


Metode numerik merupakan salah satu sarana dalam melakukan optimasi, dengan menggunakan suatu perintah pemrograman, kita dapat mengetahui nilai optimum dari suatu persamaan engineering. dengan begitu optimasi dapat dilakukan lebih cepat dan efisien.

(Asisten Mata Kuiliah)

Pertemuan Keduabelas (Rabu, 20 November 2019)

Pada pertemuan ini, kami diajarkan mengenai simulasi CFD menggunakan software CFDSOF-NG. CFDSOF-NG merupakan aplikasi berbasis metode numerik yang berfungsi untuk menganalisa aliran fluida pada suatu permukaan benda. Pada pertemuan ini, asisten dosen memberikan contoh dengan menganalisa aliran udara pada permukaan mobil. Langkah-langkah untuk melakukan analisis CFD menggunakan CFDSOF-NG adalah sebagai berikut:

1. Mengimport file .stl ke dalam software CFDSOF-NG

2. Membuat mesh dari file .stl

3. Run solve pada software CFDSOF-NG

4. Melakukan analisis lebih lanjut dengan menggunakan software paraview

(Asisten Mata Kuliah)

Sim1.png
Sim2.png
Sim3.png
4.png
Simulasi.png

Pertemuan Ketigabelas (Rabu, 27 November 2019)

Pada pertemuan ini, kami membahas mengenai optimasi pada airfoil menggunakan metode numerik. Mula-mula kami melakukan analisis menggunakan CFDSOF-NG untuk mendapatkan nilai lift force dan drag force. Setelah itu didapatkan grafik berdasarkan setiap perubahan AoA. Kemudian dilakukan optimasi dengan metode numerik untuk mendapatkan nilai maksimal dari gaya drag dan lif berdasarkan AoA. Berdasarkan hasil optimasi didapatkan hasil berupa sudut optimal dari pesawat yang mana akan meningkatkan performa dan meminimalisir gaya gesekan.


Kemudian kami diberikan tugas mengenai simulasi airfoil dengan menggunakan airfoil buatan sendiri ataupun airfoil yang sudah ada. Simulasi dilakukan dengan merubah sudut Angle of Attack (AoA) dalam kecepatan tertentu. AoA yang digunakan mulai dari -15 derajat sampai 90 derajat, dengan increment 15 derajat. Tugas ini nantinya akan dipresentasikan pada pertemuan selanjutnya, sehingga harus dibuat dalam bentuk powerpoint.

(Asisten Mata Kuliah)

Optimasiwildan1.png

Pertemuan Keempatbelas (Rabu, 4 Desember 2019)

Pada pertemuan ini, kami melakukan presentasi mengenai hasil tugas kami yaitu optimasi airfoil menggunakan metode numrik. Hasil tugas yang saya presentasikan adalah sebagai berikut:

Slide1.png
Slide2.png
Slide3.png
Slide4.png
Slide5.png
Slide6.png
Slide7.png
Slide8.png
Slide9.png
Slide10.png

Pertemuan Kelimabelas (Rabu, 11 November 2019)

Pada pertemuan ini, kami membahas mengenai Ujian Akhir Semester. Pak Dai menanyakan bagaimana UAS yang ideal untuk mata kuliah metode numerik. Seseorang dari kami menyebutkan bahwa UAS yang ideal adalah kejujuran dalam diri kita sendiri. Oleh karena itu Pak Dai memberikan tugas muhasabah diri selama mengikuti mata kuliah metode numerik. Tujuannya adalah melihat kejujuran kita dalam menyampaikan apa saja yang kita dapatkan selama mengikuti mata kuliah metode numerik ini. Selain itu Pak Dai juga menghimbau kami untuk melengkapi wiki supaya nilainya lebih maksimal. Pada hari ujian nanti, akan terdapat ujian lisan mengenai muhasabah yang kita tulis dan materi artificial neuro network.

(Pak Ahmad Indra)

Pada akhir jam pelajaran, asisten mata kuliah memeberikan penjelasan singkat mengenai Artificial Neuro Network (ANN) dan cara mengaplikasikannya. Artificial Neuro Network merupakan program berbasis metode numrik yang bekerja secara otomatis dengan hanya membutuh kan suatu input tertentu, kemudian program tersebut akan menjalankan penyelesaian atau kesimpulan sendiri yang ditampilkan pada output. Setelah mencoba selama beberapa saat, asisten memberikan beberapa pertanyaan untuk evaluasi mengenai pemahaman kita terhadap materi Artificial Neuro Network.

(Asisten Mata Kuliah)



QUOTES

Orang yang hari ini lebih baik dari hari kemarin adalah orang yang beruntung

Orang yang hari ini sama dengan hari kemarin adalah orang yang rugi

Orang yang hari ini lebih buruk dari hari kemarin adalah orang yang celaka


Silahkan berkomentar pada kolom di bawah


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