Muhammad Abi Rizky

From ccitonlinewiki
Revision as of 17:23, 14 December 2019 by Abirizky (talk | contribs) (Neural Networks, Selasa 9 Desember 2019:)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

"If you want to find the secrets of the universe, think in terms of energy, frequency and vibration."

- Nikola Tesla

Profil:

Nama: Muhammad Abi Rizky

NPM : 1706036311

Jurusan : Teknik Mesin


Metode Numerik, Deret Taylor, & Deret Maclaurin, Selasa 3 September 2019:

Metode Numerik

Untuk menentukan akar dari suatu fungsi dengan variabel tinggi, akan sangat sulit untuk menentukan nilai-nilainya secara eksak. Untuk itu digunakan metode numerik sehingga ditemukan nilai nilainya dengan pendekatan dari beberapa nilai angka signifikan. Metode numerik merupakan cara yang memudahkan untuk menentukan besar dari variabel yang sulit ditentukan nilainya. Caranya sendiri bervariasi, mulai dari yang sederhana menggunakan Microsoft Excel, dengan programming language seperti Python, atau menggunakan Matlab. Alasan penggunaan alat alat tersebut adalah karena sulitnya melakukan perhitungan numerik secara manual, karena untuk melakukan perhitungan numerik dibutuhkan lebih dari satu kali iterasi, yang mana akan memakan banyak waktu apabila dilakukan oleh manusia secara berulang-ulang.


Deret Taylor & Maclaurin

Deret Taylor dan Maclaurin merupakan bentuk deret polynomial dari sebuah fungsi, untuk melakukan pendekatan suatu fungsi tersebut.

1. Deret Maclaurin untuk mencari nilai cos(pi/2)

Abi cosx.jpg

2. Deret Maclaurin untuk mancari nilai exp(pi/2)

Abi exp.jpg

Untuk hasil real di atas terdapat kesalahan yang dilakukan oleh Microsoft Excel yaitu dengan menjadikan nilai exp(pi/2) menjadi 5 dan bukan 4,81

Tingkatan Bahasa Komputer dan Pseudocode, Selasa 10 September 2019:

Bahasa mesin yang paling rendah adalah binary, yaitu bahasa menggunakan angka 1 dan 0. Ini merupakan sistem angka yang menggunakan kombinasi angka 1 dan 0 tersebut untuk menjalankan perintah. Bahasa ini sangat sulit dipelajari karena sangat banyak kombinasi angkanya. Untuk itu, digunakan bahasa penerjemah untuk memudahkan pembacaan dan penulisan, yang kemudian kembali diterjemahkan menjadi bahasa mesin (binary). Penerjemah tersebut biasa disebut dengan istilah compiler.


Compiler merupakan penerjemah yang dapat di-run di komputer. Compiler menggunakan berbagai macam bahasa seperti Python, C, C+ dan sebagainya. Berbeda dengan bahasa-bahasa tersebut, ada lagi pseudocode. Pseudocode merupakan bahasa yang tidak dapat diterjemahkan ke bahasa komputer (binary) karena tidak ada compiler yang dapat menerjemahkan ke bahasa komputer.

I = r ; 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

}


Turunan Numerik, Selasa 17 September 2019:

Pendekatan metode numerik untuk diferensial dari sebuah fungsi adalah dengan menggunakan definisi diferensial dari metode limit, yaitu

Apabila terdapat limit variabel x menuju suatu nilai h, maka turunan fungsi x adalah

f'(h) = limit x menuju h dengan (f(x) - f(x-h))/h + E(h), dengan f(x) sebagai fungsi awal, f(x-h) adalah perubahan dari nilai x ke h yang didekati, h adalah nilai yang diaproksimasikan dari turunan yang dicari, dan E(h) adalah truncation error.

Nilai dari f(x) dan f(x-h) sendiri didapat dengan metode deret Taylor dan Maclaurin yang telah dibahas pada pertemuan-pertemuan sebelumnya. Sedangkan truncation error adalah kesalahan yang didapat akibat memotong (atau tepatnya, mengaproksimasikan) sebuah deret tak hingga (infinite sum) dengan deret berhingga (finite sum).



Secant, Bisect, dan Newton Raphson Method, Selasa 24 September 2019:

Secant, Bisect, dan Newton-Raphson method digunakan dalam mencari pembuat nol dari sebuah persamaan atau fungsi. Ketiga method tersebut juga disebut sebagai root-finding algorithm karena dalam pencarian nilai nol akan didapatkan root dari suatu fungsi.

Secant Method

Menggunakan secant lines dari sebuah fungsi untuk mendekati (approximate) nilai dari fungsi tersebut.

Bisect Method

Metode penarian akar-akar fungsi kontinu, di mana diketahui suatu nilai x pada fungsi yang bernilai positif dan negatif.


PR Pemodelan Matematika Mobil dan Pseudocode, Selasa 29 Oktober 2019:

Sebagaimana telah dijelaskan oleh Bapak Ahmad Indra, untuk membuat sebuah program untuk menyelesaikan suatu masalah fisik, maka diperlukan definisi secara fisika sebagaimana hukum hukum fisika yang telah berlaku. Maka untuk menentukan suatu Governing Equation pada kasus mobil yang bergerak, dapat ditentukan dari Hukum II Newton tentang gaya dan menghubungkannya dengan Hukum Newton tentang kinematika.


Jika diketahui bahwa total dari gaya yang terjadi dalam sistem sama dengan massa sistem dikali percepatan linearnya, maka:


Sigma F = ma, dengan

sigma F = Gaya yang diberikan mobil akibat tenaga yang diberikan engine, dikurang gaya gesek ban terhadap tanah, dan dikurang gaya drag udara, dengan:


Gaya yang diberikan mobil = daya keluaran dalam watt dibagi kecepatan (F=P/V)

Gaya gesek ban terhadap tanah = koefisien gesek dikali normal mobil terhadap permukaan (friction = miu x N)

Gaya drag udara didapat dari persamaan Bernoulli, (Fd = 1/2 rho x A x drag coefficient x v^2)

Maka didapatkan sebuah persamaan yang menghubungkan semuanya


F - friction - Fd = ma, dengan a = dv/dt

P/v - miu(N) - (1/2)rho x Cd x A x v^2 = m(dv/dt)


Presentasi Tugas Optimasi Airfoil, Selasa 2 Desember 2019:

Pada hari Selasa, 2 Desember 2019, kelompok 10 mempresentasikan materi mengenai Optimasi Airfoil. Untuk pengoptimasian tersebut, kelompok kami menggunakakan CFDSOF-NG. Sebelum proses optimasi, tentunya bentuk dari airfoil sendiri harus dibentuk. Proses pembentukan tersbeut dilakukan menggunakan Autodesk Inventor.

CAD

Untuk proses CAD menggunakan Autodesk Inventor, kelompok kami melakukan plotting dengan menggunakan data-data excel. Setelah plot terbentuk dan terdeteksi oleh Inventor, airfoil dapat di-extrude untuk memberikan bentuk 3 dimensi.

Simulasi Menggunakan CFDSOF-NG

Untuk proses simulasi, kami melakukan variasi sudut serang (angle of attack) yang kemudian akan memengaruhi rasio antara gaya angkat (lift) dengan gaya hambat (drag). Dengan data yang didapat, maka kami dapat membuat plot data sehingga terlihat sudut serang paling baik untuk rasio antara lift dengan drag dari airfoil.

Plotting Data

Dengan data yang diperoleh, maka didapatkan plot yang menyerupai grafik polynomial pangkat enam. Untuk mengoptimasi data tersebut, maka data-data yang didapat kami plot data dengan tiga cara, yaitu


Excel, yaitu dengan meng-input data yang didapat pada CFDSOF-NG ke Excel dan plotting grafik yang terbentuk dari data set tersebut

Multiple Linear Regression, merupakan metode optimasi dengan menarik garis-garis linear untuk mengetahui kenaikan atau penurunan plot dan mendapat hasil fungsi optimum untuk data yang diberikan

Polynomial Regression, merupakan metode plotting grafik. Berbeda dengan linear regression yang membuat garis linear untuk mendekati tangen dari suatu grafik, polynomial regression mendekati kurva dari suatu grafik yang telah didapatkan

Artificial Neural Networks, Selasa 9 Desember 2019:

Pada hari Selasa, 9 November 2019 kami diberikan materi mengenai Artifical Neural Networks.


Artificial Neural Networks (ANN) adalah suatu proses pembelajaran yang dilakukan oleh komputer melalui data feed yang dilakukan oleh user. Cara kerja ANN sendiri menyerupai cara kerja otak manusia di mana apabila semakin banyak data yang diberikan dan dapat diolah, maka proses yang dilakukan ANN akan semakin baik dan akurat. Data yang diberikan sendiri harus cukup banyak sehingga ANN dapat melakukan manipulasi dari data yang diberikan.

Setiap data tunggal yang diberikan hanya dapat melakukan keputusan atau fungsi-fungsi sederhana. Namun apabila data-data tersebut diperbanyak sehingga terbentuk pola yang dapat diolah oleh ANN, maka data-data tersebut dapat melakukan fungsi-fungsi yang lebih advanced


Cara pembuatan ANN sederhana

Terdapat beberapa langkah untuk membuat ANN sederhana, yang mana sebenarnya merupakan proses yang logis untuk suatu pemrosesan data. Secara garis besar, ANN dapat dibuat dengan langkah-langkah sebagai berikut:

- Memasukan Library

Langkah pertama untuk membuat ANN adalah dengan memasukan library, yang mana dalam hal ini adalah Tensorflow. Tensorflow diinstall di Jupyter, hal ini memberikan logika-logika dan perintah-perintah kepada Jupyter yang memungkinkan fungsi-fungsi dari ANN untuk dijalankan.


- Memberikan feed data

Langkah kedua adalah dengan memberikan ANN data-data. Seperti yang telah dipaparkan pada penjelasan di atas, semakin banyak data yang diberikan ke ANN, maka ANN akan semakin baik dalam proses pembelajarannya. Dalam hal ini kami memberikan feed data berupa data tugas kelompok yaitu Optimasi Airfoil. Data dalam bentuk Excel tersebut diupload yang kemudian akan diolah oleh ANN.


- Normalisasi

Meskipun jumlah data yang besar akan membuat ANN lebih "pintar", namun pada kenyataannya hambatan fisik dari komputer tetap ada. Apabila data yang diberikan sangat banyak, maka akan sangat sulit bagi komputer untuk meng-handle data yang begitu banyak, dengan batasan-batasan dari CPU dan RAM yang dimiliki oleh komputer. Untuk itulah proses normalisasi ini dilakukan, yaitu membuat data array yang sangat besar menjadi lebih kecil dengan menyederhanakan sehingga matrix nya hanya terdapat pada range 0<X<1 misalnya. Normalisasi dapat dilakukan dengan cara sebagai berikut


Xnormalized = (X-Xminimum)/(Xmaximum-Xminimum)


- Ouput Data Normal

Hasil dari normalisasi kemudian diolah dan didapatkan output. Hasil dari output kemudian dibagi dua, di mana sebagian digunakan untuk pembelajaran dan diolah datanya, dan sebagian yang lain digunakan untuk melatih ANN sehingga untuk pembelajaran selanjutnya ANN dapat bekerja dengan lebih baik.


- Pengecekan overfitting

Pengecekan overfitting adalah proses yang mengatur seberapa akurat penarikan plot data dari data scatter yang terbentuk. Yang dimaksud di sini adalah apabila terbentuk suatu data scatter yang acak, maka harus dipastikan bahwa plot yang diambil tidak terlalu sederhana (underfitted) yang berarti hanya ditarik garis dari suatu titik A ke titik B misalnya. Selain itu perlu diketahui juga bahwa penarikan garis yang terlalu akurat juga tidak baik, karena akan membuat plot mengikuti setiap titik dan bukan mengambil trend data yang benar.


- Denormalisasi

Proses denormalisasi adalah pengembalian data yang tadinya dinormalisasi menjadi suatu nilai dari range 0<x<1, menjadi data array sesungguhnya. Hasil ini kemudian akan mengeluarkan nilai sebenarnya dari hasil pemrosesan oleh ANN.


- Plotting

Terakhir dilakukan plotting data yang sudah didenormalisasi untuk mendapatkan trend yang diinginkan dalam besaran besaran yang sesuai, sehingga hasil optimasi dapat terlihat hasil akhirnya.