Difference between revisions of "Anisa Fakhira Mulya"
(→Mencari Drag Mobil Menggunakan CFDSOF_NG (Selasa, 12 November 2019)) |
(→Optimasi Aerodinamika Automobile (Selasa, 19 November 2019)) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 120: | Line 120: | ||
[[File:grafikdragforce2.png|750px]] | [[File:grafikdragforce2.png|750px]] | ||
+ | |||
+ | Berikut grafik data drag force kami | ||
+ | |||
+ | [[File:dragforcegrafik1.png|450px]] | ||
+ | |||
+ | [[File:dragforcegrafik2.png|450px]] | ||
+ | |||
+ | [[File:dragforcegrafik3.png|450px]] | ||
== Optimasi Aerodinamika Automobile (Selasa, 19 November 2019) == | == Optimasi Aerodinamika Automobile (Selasa, 19 November 2019) == | ||
− | Optimasi | + | Optimasi merupakan suatu proses untuk mencari kondisi yang optimum, dalam arti paling menguntungkan. Optimasi bisa berupa maksimasi atau minimasi. Jika berkaitan dengan masalah keuntungan, maka keadaan optimum adalah keadaan yang memberikan keuntungan maksimum (maksimasi). Jika berkaitan dengan masalah pengeluaran/pengorbanan, maka keadaan optimum adalah keadaan yang memberikan pengeluaran/pengorbanan minimum (minimasi). |
== Optimasi Minimum pada Airfoil Kelompok (Selasa, 26 September 2019) == | == Optimasi Minimum pada Airfoil Kelompok (Selasa, 26 September 2019) == | ||
+ | |||
+ | Untuk menccapai airfoil optimal kita harus mencari angle of attack yang bervariasi. Airfoil di simulasi menggunakan CFDSOF_NG dan sekaligus menghitung dengan calculation nilai drag dan lift nya. | ||
+ | |||
+ | [[File:drafliftairfoil1.png|450px]] | ||
+ | |||
+ | Setelah itu mencari nilai optimal menggunakan python | ||
+ | |||
+ | [[File:pythonairfoil1.png|600px]] | ||
+ | |||
+ | [[File:resultairfoil1.png|500px]] | ||
+ | |||
+ | == Neural Network (Selasa, 3 Desember 2019) == | ||
+ | |||
+ | Kegunaan Neural Network adalah untuk memprediksi suatu data. Artificial Neural Network adalah sistem pembelajaran terawasi yang dibangun dari sejumlah besar elemen sederhana, yang disebut neuron atau perceptron. Setiap neuron dapat membuat keputusan sederhana, dan memberi makan keputusan itu ke neuron lain, yang diorganisasikan dalam lapisan yang saling berhubungan. | ||
+ | |||
+ | [[File:bio neuron vs ann.png|800px]] | ||
+ | |||
+ | '''Activation Function''' | ||
+ | |||
+ | Jika kita tidak menerapkan fungsi Aktivasi maka sinyal output hanya akan menjadi fungsi linier sederhana. Fungsi linier hanyalah polinomial satu derajat. | ||
+ | |||
+ | '''Back Propagation''' | ||
+ | |||
+ | Backpropagation adalah algoritma pembelajaran untuk memperkecil tingkat error dengan cara menyesuaikan bobotnya berdasarkan perbedaan output dan target yang diinginkan. Backpropagation juga merupakan sebuah metode sistematik untuk pelatihan multilayer. | ||
+ | |||
+ | Arsitektur algoritma backpropagation terdiri dari tiga layer, yaitu input layer, hidden layer dan output layer. Pada input layer tidak terjadi proses komputasi, namun pada input layer terjadi pengiriman sinyal input X ke hidden layer. Pada hidden dan output layer terjadi proses komputasi terhadap bobot dan bias dan dihitung pula besarnya output dari hidden dan output layer tersebut berdasarkan fungsi aktivasi tertentu. Dalam algoritma backpropagation ini digunakan fungsi aktivasi sigmoid biner, karena output yang diharapkan bernilai antara 0 sampai 1. | ||
+ | |||
+ | Pada pengambilan input, terlebih dahulu dilakukan inisialisasi bobot, kemudian masuk ke dalam algoritma proses backpropagation yang terdiri dari komputasi maju yang bertujuan untuk menelusuri besarnya error dan komputasi balik untuk mengupdate dan menyesuaikan bobot. Dalam mengupdate bobot daapat dilakukan dengan dua cara, yaitu tanpa momentum dan dengan momentum. Namun, yang dijelaskan di bawah ini dalam mengupdate bobotnya dilakukan tanpa memperhatikan besarnya momentum. Dengan demikian dalam metode backpropagation, algoritma yang harus dilakukan adalah inisialisasi bobot, komputasi feed forward dan backpropagation dan inisialisasi kondisi stopping berdasarkan nilai batas error atau jumlah batas epoch. Epoch merupakan rangkaian langkah dalam pembelajaran ANN. Satu epoch diartikan sebagai satu kali pembelajaran ANN. | ||
+ | |||
+ | '''Langkah membangun ANN:''' | ||
+ | |||
+ | 1. Data Preprocessing | ||
+ | |||
+ | 2. Add input layer | ||
+ | |||
+ | 3. Random w init | ||
+ | |||
+ | 4. Add Hidden Layers | ||
+ | |||
+ | 5. Select Optimizer, Loss, and Performance Metrics | ||
+ | |||
+ | 6. Compile the model | ||
+ | |||
+ | 7. use model.fit to train the model | ||
+ | |||
+ | 8. Evaluate the model | ||
+ | |||
+ | 9. Adjust optimization parameters or model if needed | ||
+ | |||
+ | == Praktik Neural Network (Selasa, 10 Desember 2019) == | ||
+ | |||
+ | Mencari tahu apakah Output real dan Output Prediction ANN sama atau tidak berdasarkan tugas kelompok drag force pada airfoil. Berikut data drag force airfoil kami yang diambil dengan menggunakan CFDSOF_NG: | ||
+ | |||
+ | [[File:drag force airfoil_kelompok 1.png|350px]] | ||
+ | |||
+ | Langkah pertama untuk membangun ANN: | ||
+ | |||
+ | '''1. Mengimport Library yang dibutuhkan''' | ||
+ | |||
+ | [[File:ANNLIB.png|1000px]] | ||
+ | |||
+ | '''2. Mengupload file excel yang berisi data drag dan lift airfoil''' | ||
+ | |||
+ | [[File:fileexcel1.png|1000px]] | ||
+ | |||
+ | [[File:fileexcel2.png|1000px]] | ||
+ | |||
+ | '''3. Normalisasi agar matrixnya tidak terlalu besar''' | ||
+ | |||
+ | [[File:normalisasi1.png|1000px]] | ||
+ | |||
+ | [[File:normalisasi2.png|1000px]] | ||
+ | |||
+ | '''4. Membuat ANN''' | ||
+ | |||
+ | [[File:membuat ann.png|1000px]] | ||
+ | |||
+ | '''5. Unnormalize untuk mendapatkan nilai sebenarnya''' | ||
+ | |||
+ | [[File:unnormalize.png|1000px]] |
Latest revision as of 11:10, 17 December 2019
Progress Tugas Merancang - Anisa Fakhira Mulya
Metoda Numerik
Contents
- 1 Profil
- 2 Deret Taylor (Selasa, 3 September 2019)
- 3 Pseudocode (Selasa, 10 September 2019)
- 4 Turunan Numerik (Selasa, 17 September 2019)
- 5 Truncation Errors and Validations (Selasa, 1 Oktober 2019)
- 6 Introduction to Python (Selasa, 29 Oktober 2019)
- 7 Runge Kutta Method dan Pembahasan Soal (Selasa, 5 November 2019)
- 8 Mencari Drag Mobil Menggunakan CFDSOF_NG (Selasa, 12 November 2019)
- 9 Optimasi Aerodinamika Automobile (Selasa, 19 November 2019)
- 10 Optimasi Minimum pada Airfoil Kelompok (Selasa, 26 September 2019)
- 11 Neural Network (Selasa, 3 Desember 2019)
- 12 Praktik Neural Network (Selasa, 10 Desember 2019)
Profil
Nama: Anisa Fakhira Mulya
NPM: 1706986315
Jurusan: Teknik Mesin
Deret Taylor (Selasa, 3 September 2019)
Setelah mempelajari Kalkulus dan Matematika Teknik, kini kita dapat menyelesaikan permasalahan matematik yang pernah kita pelajari pada semester-semester sebelumnya dengan menggunakan teknik Metode Numerik.
Untuk menentukan nilai-nilai seperti sin x, cos x, e^x, log x atau ln(x+1) secara manual merupakan hal yang rumit. Kita memerlukan bantuan kalkulator, Microsoft excel, software programming atau tabel untuk menghitung nilai dari fungsi-fungsi tersebut. Salah satu ilmu yang berguna dalam metode numerik adalah Deret Taylor atau Deret MacLaurin.
Pada pertemuan selasa kemarin, Dr. Ir. Engkos Achmad Kosasih M.T. dan Dr. Ir. Ahmad Indra Siswantara meminta kami untuk menemukan sinus dari f(pi/7) dengan menggunakan program Microsoft Excel. Kami menggunakan rumus umum Deret Taylor agar menemukan jawabannya. Berikut langkah-langkahnya:
1. x merupakan sin pi/7. untuk mengetahui ratio, kami memasukan rumus -x^2/((2*i)*(2*i+1)) yang merupakan penyerdahanaan dari rumus Deret Taylor
2. Untuk mencari nilai suku menggunakan rumus D3*C4 (Suku sebelum dikalikan dengan ratio sekarang)
3. Untuk mencari fungsi menggunakan rumus E3+D4 (Fungsi sebelum ditambah dengan suku sekarang)
4. Untuk mencari nilai error menggunakan rumus =ABS(D4/E3) (Nilai absolut dari suku sekarang dibagi fungsi sebelum)
Pseudocode (Selasa, 10 September 2019)
Pseudocode adalah deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemrograman tetapi bahasa tersebut hanya ditujukan agar dapat dibaca manusia. Pseudocode menggunakan kata-kata untuk menjelaskan suatu algoritma. Penggunaan pseudocode umumnya banyak kita temukan diterapkan dalam berbagai bahasa pemrograman.
Pada Pertemuan kali ini kami diminta untuk membuat pseudocode agar menemukan nilai dari sin x, cos x, dan e^x. berikut merupakan contoh pseudocode untuk nilai sin x:
Turunan Numerik (Selasa, 17 September 2019)
Persoalan turunan numerik ialah menentukan hampiran nilai turunan fungsi f yang diberikan dalam bentuk tabel. Dalam melakukan perhitungan turunan metode numerik, sangat dianjurkan untuk menggunakan alat hitung baik kalkulator maupun komputer karena berurusan dengan angka yang memiliki banyak koma dan 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. Ada tiga pendekatan dalam menghitung turunan numerik: Turunan maju (Forward), Turunan mundur (Backward), Turunan pusat (Center).
1. Turunan maju (forward difference approximation)
2. Turunan mundur (backward difference approximation)
3. Turunan Center (central difference approximation)
Truncation Errors and Validations (Selasa, 1 Oktober 2019)
Metode Numerik bisa kita jadikan untuk menganalisa hasil ekperimen karena memiliki titik maksimum. Metode Numerik memahami fenomena eksperimen.
Introduction to Python (Selasa, 29 Oktober 2019)
python salah satu bahasa komputer (kode high level language). yang terpenting dari komunikasi adalah gagasan atau apa yang ingin disampaikan ke komputer agar dimengerti komputer.
Kegunaan Python antara lain untuk: Image processing, system utilities, Artificial intelligence, Database programming, Embedded Scripting, Internet scripting dan Graphical user interface.
Python IDE
Integrated Development Environment adalah program komputer sebagai lingkungan pengembangan aplikasi atau program komputer yang mempunyai beberapa fasilitas yang dibutuhkan dalam pembangunan perangkat lunak (Software). Biasanya sebuah IDE, atau secara umum bisa diterjemahkan sebagai Lingkungan Pengembangan Terpadu, setidaknya memiliki fasilitas seperti :
1. Editor, fasilitas ini diperuntukan menuliskan kode atau fungsi-fungsi yang bisa diterjemahkan oleh mesin komputer sebagai kode programming.
2. Compiler, Berfungsi untuk menjalankan bentuk kode program yang di tuliskan di Editor dan mengubah dalam bentuk binary yang selanjutnya akan ditampilkan sesuai perintah-perintah kode mesin.
3. Debuger, Berguna untuk mengecek dan juga mengetes jalannya kode program untuk mencari atau mendebug kesalahan dari program.
4. Frame/Views, fasilitias yang satu ini berguna untuk menujukan atau menampilkan hasil dari perintah-perintah kode program yang dieksekusikan oleh Compiler dari Editor.
Soal: beli mobil baru dgn sekian tenaga kuda dan torsi. saya ingin tau, di jalan tol yg lurus,bikin pseduocode atau gagasan berapa waktu (berapa sekon) yg diperlukan untuk mencapai topspeednya? Buat pers. differensial antara perubahan kecepatan dan waktu. ada gesekan dan aerodynamic.
Jawab: Governing equation
Runge Kutta Method dan Pembahasan Soal (Selasa, 5 November 2019)
Metode Numerik dapat diselesaikan dalam metode brainware, software dan hardware. Dalam penyelesaian masalah brainware, diperlukan permasalahannya yaitu Engineering Problem (Real Life Case). Contoh-contoh dari Engineering Problem adalah Initial value problem dalam kasus soal adalah top speed problem dan Boundary value problem dalam kasus ini adalah aerodynamics. Untuk menyelesaikan permasalahan engineering yang ada adalah dengan menentukan model. Model bisa dalam bentuk math atau physical. Setelah menentukan model, kita harus mempelajari kasus dan modelnya sehingga menemuka solusi dari permasalahan yang berupa Analysis Results yang sudah valid/accepted. Namun dalam menyelesaikan masalah kita bisa menggunakan software yang ada sehingga bisa langsung menemukan solusinya. Software yang bisa digunakan adalah CFD, FEA, AI (Neural Network) dan Optimization.
Runge Kutta Method
Persamaan Diferensial Biasa (PDB) adalah persamaan yang melibatkan satu atau lebih turunan fungsi satu peubah. Metode Runge-Kutta adalah alternatif lain dari metode deret Taylor yang tidak membutuhkan perhitungan turunan. Metode ini berusaha mendapatkan derajat ketelitian yang lebih tinggi, dan sekaligus menghindarkan keperluan mencari turunan yang lebih tinggi dengan jalan mengevaluasi fungsi f(x, y) pada titik terpilih dalam setiap selang langkah.
Mencari Drag Mobil Menggunakan CFDSOF_NG (Selasa, 12 November 2019)
Hasil mencari nilai drag mobil kelompok. Kami telah melakukan analisis drag force pada mobil menggunakan CFDSOF_NG, berikut hasilnya.
kemudian kami mencari grafik dari data dragforce yang kami dapatkan
Berikut grafik data drag force kami
Optimasi Aerodinamika Automobile (Selasa, 19 November 2019)
Optimasi merupakan suatu proses untuk mencari kondisi yang optimum, dalam arti paling menguntungkan. Optimasi bisa berupa maksimasi atau minimasi. Jika berkaitan dengan masalah keuntungan, maka keadaan optimum adalah keadaan yang memberikan keuntungan maksimum (maksimasi). Jika berkaitan dengan masalah pengeluaran/pengorbanan, maka keadaan optimum adalah keadaan yang memberikan pengeluaran/pengorbanan minimum (minimasi).
Optimasi Minimum pada Airfoil Kelompok (Selasa, 26 September 2019)
Untuk menccapai airfoil optimal kita harus mencari angle of attack yang bervariasi. Airfoil di simulasi menggunakan CFDSOF_NG dan sekaligus menghitung dengan calculation nilai drag dan lift nya.
Setelah itu mencari nilai optimal menggunakan python
Neural Network (Selasa, 3 Desember 2019)
Kegunaan Neural Network adalah untuk memprediksi suatu data. Artificial Neural Network adalah sistem pembelajaran terawasi yang dibangun dari sejumlah besar elemen sederhana, yang disebut neuron atau perceptron. Setiap neuron dapat membuat keputusan sederhana, dan memberi makan keputusan itu ke neuron lain, yang diorganisasikan dalam lapisan yang saling berhubungan.
Activation Function
Jika kita tidak menerapkan fungsi Aktivasi maka sinyal output hanya akan menjadi fungsi linier sederhana. Fungsi linier hanyalah polinomial satu derajat.
Back Propagation
Backpropagation adalah algoritma pembelajaran untuk memperkecil tingkat error dengan cara menyesuaikan bobotnya berdasarkan perbedaan output dan target yang diinginkan. Backpropagation juga merupakan sebuah metode sistematik untuk pelatihan multilayer.
Arsitektur algoritma backpropagation terdiri dari tiga layer, yaitu input layer, hidden layer dan output layer. Pada input layer tidak terjadi proses komputasi, namun pada input layer terjadi pengiriman sinyal input X ke hidden layer. Pada hidden dan output layer terjadi proses komputasi terhadap bobot dan bias dan dihitung pula besarnya output dari hidden dan output layer tersebut berdasarkan fungsi aktivasi tertentu. Dalam algoritma backpropagation ini digunakan fungsi aktivasi sigmoid biner, karena output yang diharapkan bernilai antara 0 sampai 1.
Pada pengambilan input, terlebih dahulu dilakukan inisialisasi bobot, kemudian masuk ke dalam algoritma proses backpropagation yang terdiri dari komputasi maju yang bertujuan untuk menelusuri besarnya error dan komputasi balik untuk mengupdate dan menyesuaikan bobot. Dalam mengupdate bobot daapat dilakukan dengan dua cara, yaitu tanpa momentum dan dengan momentum. Namun, yang dijelaskan di bawah ini dalam mengupdate bobotnya dilakukan tanpa memperhatikan besarnya momentum. Dengan demikian dalam metode backpropagation, algoritma yang harus dilakukan adalah inisialisasi bobot, komputasi feed forward dan backpropagation dan inisialisasi kondisi stopping berdasarkan nilai batas error atau jumlah batas epoch. Epoch merupakan rangkaian langkah dalam pembelajaran ANN. Satu epoch diartikan sebagai satu kali pembelajaran ANN.
Langkah membangun ANN:
1. Data Preprocessing
2. Add input layer
3. Random w init
4. Add Hidden Layers
5. Select Optimizer, Loss, and Performance Metrics
6. Compile the model
7. use model.fit to train the model
8. Evaluate the model
9. Adjust optimization parameters or model if needed
Praktik Neural Network (Selasa, 10 Desember 2019)
Mencari tahu apakah Output real dan Output Prediction ANN sama atau tidak berdasarkan tugas kelompok drag force pada airfoil. Berikut data drag force airfoil kami yang diambil dengan menggunakan CFDSOF_NG:
Langkah pertama untuk membangun ANN:
1. Mengimport Library yang dibutuhkan
2. Mengupload file excel yang berisi data drag dan lift airfoil
3. Normalisasi agar matrixnya tidak terlalu besar
4. Membuat ANN
5. Unnormalize untuk mendapatkan nilai sebenarnya