Difference between revisions of "Afrizal Riyantono"

From ccitonlinewiki
Jump to: navigation, search
(Created page with "Afrizal Riyantono 2406375466")
 
(Evaluasi)
 
(41 intermediate revisions by the same user not shown)
Line 1: Line 1:
Afrizal Riyantono
+
{| class="wikitable" style="float:right; margin-left: 10px;"
2406375466
+
!colspan="2"|Profile
 +
|-
 +
|colspan="2"|[[File:AFRIZAL.jpeg|250px|Center]]
 +
|-
 +
|'''Nama Lengkap'''
 +
|Afrizal Riyantono
 +
|-
 +
|'''NPM'''
 +
|2406375466
 +
|-
 +
|style="vertical-align:top;"|'''Jurusan'''
 +
|Teknik Mesin/ Magister
 +
|-
 +
|colspan="2" style="text-align:center;width:200px;"|
 +
|}
 +
 
 +
Saya Afrizal, kuliah jenjang S2 di Fakultas Teknik Universitas Indonesia (FTUI). Jurusan saya adalah Teknik Mesin dan spesialisasi saya adalah Sistem Manufaktur dan Otomasi.
 +
 
 +
فَاِنَّ مَعَ الۡعُسۡرِ يُسۡرًا‏
 +
 
 +
“Maka sesungguhnya bersama kesulitan ada kemudahan.” (QS. Al-Insyirah: 5).
 +
 
 +
== '''Introduction''' ==
 +
 
 +
'''Komputasi teknik''' adalah penggunaan metode numerik, algoritma, dan perangkat lunak komputer '''untuk memecahkan masalah teknik yang kompleks'''. Bidang ini mencakup pemodelan dan simulasi fenomena fisik atau mekanis, '''metode numerik untuk menyelesaikan persamaan yang sulit dihitung secara analitis, serta analisis data dan optimasi untuk meningkatkan efisiensi sistem teknik'''. Dengan memanfaatkan perangkat lunak seperti '''MATLAB, ANSYS, atau SolidWorks''', komputasi teknik memungkinkan insinyur untuk menganalisis, merancang, dan mengoptimalkan sistem yang rumit, '''menggantikan pengujian fisik''' yang sering kali mahal atau tidak praktis.
 +
 
 +
== '''Lecture 1''' ==
 +
 
 +
بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم
 +
 
 +
Pada tanggal 29 November 2024, Pak DAI menghimbau mahasiswanya untuk berlatih menggunakan ChatGPT.
 +
 
 +
'''Saya bertanya : ''“Apa itu DAI5 Framework?”'''''
 +
 
 +
ChatGPT Menjawab :
 +
 
 +
DAI5 Framework adalah sebuah kerangka kerja yang dikembangkan oleh Dr. Ahmad Indra Siswantara dari Universitas Indonesia untuk memfasilitasi proses pemecahan masalah, terutama dalam bidang teknik mesin dan analisis numerik.
 +
 
 +
DAI5 Framework terdiri dari lima tahapan utama:
 +
 
 +
1. **Intention (Niat):** Menetapkan tujuan dan maksud dari analisis atau simulasi yang akan dilakukan.
 +
 
 +
2. **Initial Thinking (Pemikiran Awal):** Mengumpulkan ide-ide awal dan memahami permasalahan secara umum.
 +
 
 +
3. **Idealization (Idealiasi):** Menyederhanakan permasalahan dengan membuat asumsi-asumsi yang masuk akal untuk memodelkan situasi secara matematis.
 +
 
 +
4. **Instruction (Instruksi):** Menyusun langkah-langkah atau algoritma untuk menyelesaikan permasalahan berdasarkan model yang telah dibuat.
 +
 
 +
5. **Implementation (Implementasi):** Melaksanakan instruksi yang telah disusun dan menganalisis hasilnya.
 +
 
 +
Framework ini telah digunakan dalam berbagai studi kasus, seperti analisis tegangan pipa menggunakan metode elemen hingga (Finite Element Method). Beberapa video tutorial dan penjelasan mengenai DAI5 Framework dapat ditemukan di YouTube, salah satunya adalah "DAI5 Framework - YouTube".
 +
 
 +
Selain itu, mahasiswa dan peneliti di Universitas Indonesia juga telah menerapkan DAI5 Framework dalam berbagai proyek dan tesis mereka. Sebagai contoh, Fadil Naufal Wahas menggunakan framework ini dalam analisis dinamika fluida komputasional (CFD) untuk kasus lid-driven cavity.
 +
 
 +
Terkait dengan Tesis saya mengenai WAAM, Saya bertanya kepada ChatGPT terkait dengan WAAM serta cara kerjanya.
 +
 
 +
'''Saya bertanya : ''"Apa itu WAAM dan bagaimana cara kerjanya?"'''''
 +
 
 +
ChatGPT Menjawab :
 +
 
 +
WAAM (Wire Arc Additive Manufacturing) adalah teknologi manufaktur aditif yang menggabungkan pengelasan busur listrik dengan proses pencetakan 3D untuk membuat komponen logam. Proses ini menggunakan kawat logam sebagai bahan baku, yang dipanaskan dan dilelehkan menggunakan sumber panas (biasanya busur listrik), kemudian dideposisikan lapis demi lapis hingga terbentuk bentuk yang diinginkan.
 +
 
 +
Cara Kerja WAAM:
 +
Pengaturan dan Pemrograman: Desain dari model 3D dibuat menggunakan perangkat lunak CAD, lalu diubah menjadi instruksi untuk pergerakan mesin (G-code).
 +
Pembentukan Lapisan: Sumber panas (biasanya dari pengelasan MIG atau TIG) mencairkan kawat logam yang digunakan sebagai bahan dasar. Mesin kemudian akan mengontrol posisi dan arah deposit kawat ini.
 +
Penumpukan Material: Kawat logam yang sudah dilelehkan diletakkan lapis demi lapis, membentuk geometri sesuai desain CAD.
 +
Pendinginan dan Penyelesaian: Setelah bentuk dasar selesai, proses pendinginan akan terjadi. Seringkali, komponen ini perlu diproses lebih lanjut, seperti pemesinan atau pemolesan, untuk mendapatkan hasil akhir yang sesuai.
 +
 
 +
Kelebihan WAAM:
 +
Hemat Material: Karena hanya menambahkan bahan pada area yang diperlukan.
 +
Fleksibilitas Desain: Memungkinkan pembuatan komponen logam yang kompleks.
 +
Skala Besar: WAAM sangat cocok untuk pembuatan komponen logam besar yang sulit dibuat dengan teknik aditif lainnya.
 +
 
 +
Kekurangan WAAM:
 +
Kehalusan Permukaan: Permukaan hasil WAAM umumnya lebih kasar dibandingkan proses manufaktur tradisional.
 +
Distorsi Termal: Karena suhu tinggi selama proses, ada risiko distorsi atau retak pada komponen.
 +
WAAM sering digunakan dalam industri penerbangan, otomotif, dan maritim untuk membuat komponen besar dengan efisiensi tinggi dan biaya yang lebih rendah.
 +
 
 +
'''Saya bertanya : ''"Apakah ada keterkaitan antara DAI5 dengan topik riset saya yang bertemakan WAAM?"'''''
 +
 
 +
ChatGPT Menjawab :
 +
 
 +
Prinsip-prinsip DAI5 memiliki keterkaitan yang kuat dengan proses Wire Arc Additive Manufacturing (WAAM) dalam setiap tahapannya. Berikut adalah interpretasi setiap prinsip DAI5 dalam konteks WAAM:
 +
 
 +
Niat (Intention): Pada proses WAAM, niat yang jelas adalah untuk memproduksi komponen logam secara efisien, berkelanjutan, dan meminimalkan limbah. Dengan menetapkan niat ini, seorang insinyur berkomitmen untuk mengoptimalkan penggunaan sumber daya serta memastikan hasil produksi yang berkualitas tinggi. Hal ini sejalan dengan praktik keberlanjutan, karena produksi dilakukan dengan memperhatikan dampak lingkungan, kualitas material, serta keawetan komponen yang dihasilkan.
 +
 
 +
Pemikiran Awal (Initial Thinking): Dalam WAAM, pemikiran awal berarti melakukan evaluasi terhadap kebutuhan spesifik dari komponen yang akan diproduksi. Ini melibatkan peninjauan terhadap properti material, kebutuhan struktural, dan batasan desain. Pemahaman yang mendalam terhadap faktor-faktor ini di awal memastikan bahwa seluruh proses WAAM berjalan dengan optimal dan sesuai dengan kebutuhan proyek.
 +
 
 +
Idealasi (Idealization): Tahap idealasi dalam WAAM melibatkan penciptaan gambaran solusi optimal untuk desain dan strategi manufaktur. Misalnya, insinyur dapat melakukan simulasi digital untuk mengidentifikasi metode terbaik dalam proses pelapisan dan menghindari cacat produksi. Idealasi ini mendorong inovasi, seperti mengoptimalkan jalur pengelasan atau strategi pelapisan yang efektif, serta menetapkan standar tinggi untuk hasil akhir.
 +
 
 +
Instruksi (Instruction Set): WAAM sangat bergantung pada instruksi yang terstruktur secara detail dalam setiap tahap produksinya. Dengan membagi proses menjadi langkah-langkah yang sistematis—mulai dari pemanasan awal, penerapan lapisan, pengaturan pendinginan, hingga inspeksi kualitas—para insinyur memastikan konsistensi dan akurasi dalam setiap tahapan produksi. Pendekatan yang terstruktur ini sangat penting dalam menjaga kualitas dan meminimalisir kesalahan pada proses manufaktur aditif.
 +
 
 +
Secara keseluruhan, kerangka DAI5 membantu mengarahkan proses WAAM tidak hanya untuk memenuhi spesifikasi teknis, tetapi juga untuk mengintegrasikan prinsip-prinsip etika dan keberlanjutan, sehingga menciptakan praktik manufaktur yang lebih bertanggung jawab dan efektif.
 +
 
 +
'''Saya Bertanya : ''"Apakah ada keterkaitan WAAM dengan Finite Element Method 1 Dimension (Pendekatan dengan Partial Differential Equations (PDE))?"'''''
 +
 
 +
ChatGPT Menjawab :
 +
 
 +
Pendekatan dengan Partial Differential Equations (PDE) sangat relevan dalam analisis proses Wire Arc Additive Manufacturing (WAAM), terutama untuk memahami dan memodelkan distribusi panas, aliran fluida, tegangan, dan deformasi dalam material. Dalam konteks WAAM, PDE membantu mengembangkan model matematis untuk menangkap perubahan termal dan mekanis yang terjadi ketika logam dilapisi lapis demi lapis. Berikut adalah beberapa cara bagaimana PDE diterapkan dalam WAAM:
 +
 
 +
Persamaan Konduksi Panas (Heat Conduction): Dalam WAAM, proses pengelasan menghasilkan panas yang tinggi di area lokal, dan distribusi panas ini menyebar melalui material. Persamaan konduksi panas, yang merupakan PDE utama dalam analisis termal, digunakan untuk menggambarkan bagaimana panas bergerak melalui material. Persamaan ini dituliskan sebagai:
 +
 
 +
                                                              [[File:Persamaan_konduksi_panas.jpg|200 px]]
 +
 
 +
di mana T adalah suhu, t adalah waktu, dan α adalah difusivitas termal material. Dengan PDE ini, kita dapat menentukan bagaimana panas menyebar dari titik pengelasan ke bagian lain dari komponen.
 +
 
 +
Persamaan Elastisitas (Elasticity Equation): Selama proses pemanasan dan pendinginan dalam WAAM, material mengalami ekspansi termal dan penyusutan, yang dapat menyebabkan tegangan dan deformasi. Persamaan elastisitas dalam PDE digunakan untuk memodelkan distribusi tegangan dan strain yang dihasilkan akibat perubahan suhu. Biasanya, persamaan ini dapat berbentuk:
 +
 
 +
                                                              [[File:Persamaan_Elastisitas.jpg|200 px]]
 +
 
 +
di mana σ adalah tensor tegangan, f adalah gaya tubuh eksternal, ρ adalah densitas material, dan u adalah vektor perpindahan. Persamaan ini membantu memprediksi distorsi dan tegangan sisa dalam komponen yang dihasilkan oleh WAAM.
 +
 
 +
Aliran Material dalam Pengelasan: Dalam beberapa kasus, aliran material pada titik pengelasan atau pergerakan logam cair dapat dimodelkan dengan PDE seperti persamaan Navier-Stokes untuk aliran fluida. Ini biasanya relevan ketika analisis mencakup aspek metalurgi dari logam cair yang terbentuk pada suhu tinggi.
 +
 
 +
Analisis PDE 1D, 2D, dan 3D: Untuk studi awal, model PDE 1D atau 2D mungkin digunakan untuk menyederhanakan perhitungan aliran panas atau distribusi tegangan secara linear atau dalam satu bidang tertentu. Namun, untuk analisis yang lebih akurat, khususnya dalam simulasi WAAM yang kompleks, PDE 3D lebih sering digunakan karena dapat menangkap distribusi panas dan tegangan dalam tiga dimensi.
 +
 
 +
Dengan menggunakan kerangka PDE ini, insinyur dapat membangun simulasi yang mendekati kondisi nyata dalam WAAM. Simulasi PDE membantu dalam menentukan parameter proses yang optimal, mengurangi cacat, dan meningkatkan kualitas hasil akhir pada komponen yang diproduksi.
 +
 
 +
== '''Lecture 2''' ==
 +
 
 +
بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم
 +
 
 +
'''Saya Bertanya: "''Can you give a practical example (along with simple calculator such as 1D Problem), In engineering that continuum mechanics treatsmaterials as continuous, on integration of uninterrupted "conscious continuum" into the DAI5 framework?''"'''
 +
 
 +
ChatGPT menjawab :
 +
 
 +
A practical example in engineering where continuum mechanics treats materials as continuous can be illustrated through a simple 1D problem involving stress distribution in a metal rod. Here’s an example that demonstrates this concept and its relation to "conscious continuum" principles, suitable for integration within a framework like DAI5.
 +
 
 +
Example: Stress Distribution in a Rod
 +
 
 +
Problem Setup: Imagine a metal rod of length L=10 and cross-sectional area A=1, fixed at one end and subjected to an external force F=100 at the other end. We’ll assume the material is homogeneous and isotropic, meaning its properties are the same throughout and in all directions.
 +
 
 +
Steps:
 +
 
 +
1.Stress Calculation: Stress σ is defined as the force F divided by the cross-sectional area A:
 +
 
 +
σ=F/A
 +
 
 +
Plugging in the values:
 +
 
 +
σ=100 N/cm2
 +
 
 +
2.Continuum Assumption: Under continuum mechanics, we treat the rod as a continuous distribution of matter. This assumption allows us to ignore molecular structures or gaps and instead model the rod as a uniform distribution of stress across its length.
 +
 
 +
3.Strain and Displacement (1D): If we know the material's Young's modulus E, we can find the strain ϵ in the rod as:
 +
 
 +
ϵ= σ/E
 +
 
 +
And the total displacement 𝛿 at the free end:
 +
 
 +
 +
δ=ϵ×L=σ/E×L
 +
 
 +
Connection to "Conscious Continuum" and DAI5
 +
In a "conscious continuum" perspective, we view the material not just as a passive medium but as part of an integrated, responsive system within DAI5, which could involve automated sensing and feedback mechanisms. In practice, this means that, while the rod is treated as a continuous material for stress analysis, sensors embedded along its length could measure real-time changes in stress and strain, feeding this data into a DAI5 system. The DAI5 framework can then predict potential failures, alert for adjustments, or even make decisions based on accumulated data.
 +
 
 +
This simple 1D continuum example provides a baseline for understanding how real-time, continuous feedback from materials (like stress data in the rod) can be incorporated into a dynamic and responsive engineering framework.
 +
 
 +
'''Saya kembali melanjutkan pertanyaan: ''"Can you give me coding example for phyton, and then i want to try at googlecolabs?"'''''
 +
 
 +
ChatGPT Menjawab :
 +
 
 +
Certainly! Below is a Python example that you can run in Google Colab to calculate the stress, strain, and displacement of a 1D rod. This code also illustrates how continuous real-time feedback (simulated here) could be integrated into a DAI5 framework. We’ll calculate these values and display them over a range of forces to simulate "conscious continuum" monitoring
 +
 
 +
# Import necessary libraries
 +
import numpy as np
 +
import matplotlib.pyplot as plt
 +
# Define constants for the rod
 +
L = 10  # Length of the rod in cm
 +
A = 1  # Cross-sectional area in cm^2
 +
E = 210e3  # Young's Modulus for steel in N/cm^2 (for example)
 +
# Define a range of forces (from 0 to 200 N) to simulate real-time
 +
monitoring
 +
forces = np.linspace(0, 200, 50)  # 50 force values from 0 to 200 N
 +
# Initialize lists to store calculated values for stress, strain, and
 +
displacement
 +
stress_values = []
 +
strain_values = []
 +
displacement_values = []
 +
# Calculate stress, strain, and displacement for each force value
 +
for F in forces:
 +
    stress = F / A  # Stress in N/cm^2
 +
    strain = stress / E  # Strain (dimensionless)
 +
    displacement = strain * L  # Displacement in cm
 +
    # Append calculated values to respective lists
 +
    stress_values.append(stress)
 +
    strain_values.append(strain)
 +
    displacement_values.append(displacement)
 +
# Plotting the results
 +
plt.figure(figsize=(12, 6))
 +
# Plot Stress vs Force
 +
plt.subplot(1, 3, 1)
 +
plt.plot(forces, stress_values, 'b-', label="Stress (N/cm²)")
 +
plt.xlabel("Force (N)")
 +
plt.ylabel("Stress (N/cm²)")
 +
plt.title("Stress vs Force")
 +
plt.legend()
 +
# Plot Strain vs Force
 +
plt.subplot(1, 3, 2)
 +
plt.plot(forces, strain_values, 'g-', label="Strain")
 +
plt.xlabel("Force (N)")
 +
plt.ylabel("Strain")
 +
plt.title("Strain vs Force")
 +
plt.legend()
 +
# Plot Displacement vs Force
 +
plt.subplot(1, 3, 3)
 +
plt.plot(forces, displacement_values, 'r-', label="Displacement (cm)")
 +
plt.xlabel("Force (N)")
 +
plt.ylabel("Displacement (cm)")
 +
plt.title("Displacement vs Force")
 +
plt.legend()
 +
plt.tight_layout()
 +
plt.show()
 +
 
 +
Explanation of the Code
 +
 
 +
Parameters: We define constants such as length (L, area (A), and Young's modulus (E)for the rod material.
 +
 
 +
Loop through Forces: We calculate stress, strain, and displacement for each value in the range of forces to simulate continuous data monitoring.
 +
 
 +
Plotting: Each relationship is plotted to visualize how stress, strain, and displacement vary with force.
 +
 
 +
How to Use This for "Conscious Continuum" Simulation
 +
 
 +
In a real DAI5 integration, this setup would read force data from sensors in real-time, constantly updating stress, strain, and displacement values. The plot would represent real-time feedback, helping identify anomalies or inform predictive models.
 +
 
 +
'''Setelah mendapatkan contoh program dari ChatGPT, saya mencobanya menggunakan Google Colabs, dan seperti ini hasilnya :'''
 +
 
 +
[[File:StressvsForce.png|800px|]]
 +
 
 +
== '''Lecture 3''' ==
 +
 
 +
بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم
 +
 
 +
Saya memulai dengan mengumpulkan '''intention (Niat)''' untuk mempelajari konsep Finite Element Method 1 Dimensi, bagaimana sistem fisik (seperti batang elastis) dimodelkan sebagai kumpulan elemen diskrit.
 +
 
 +
'''Saya Bertanya : ''"Apa itu 1 dimensi Finite Element Method?"'''''
 +
 
 +
Chat GPT menjawab :
 +
 
 +
Finite Element Method (FEM) 1 dimensi adalah pendekatan dalam analisis elemen hingga yang fokus pada objek atau struktur dalam satu dimensi (1D). Dalam konteks ini, struktur atau objek dianalisis sebagai rangkaian titik-titik atau elemen yang hanya memiliki satu koordinat spasial, seperti panjang (x) tanpa ketebalan atau lebar. Ini biasanya digunakan untuk menganalisis masalah yang dapat direpresentasikan dengan elemen linier atau batang (beam), seperti batang penyangga, kabel, atau balok panjang.
 +
 
 +
Ciri-ciri FEM 1D:
 +
Elemen Linier: Setiap elemen digambarkan sebagai garis lurus yang menghubungkan dua titik (node), dengan asumsi hanya ada satu derajat kebebasan (DOF) per node.
 +
Pemodelan Sederhana: FEM 1D digunakan untuk memodelkan sistem seperti batang atau kolom yang mengalami tegangan tarik, tekan, atau geser.
 +
Aplikasi: Biasanya digunakan untuk menganalisis struktur yang panjang atau tipis, di mana variasi dalam arah lain dapat diabaikan. Contohnya dalam analisis jembatan gantung, kabel, atau sistem rangka sederhana.
 +
 
 +
Proses FEM 1D
 +
Pembagian Elemen (Discretization): Struktur dipecah menjadi beberapa elemen linier yang lebih kecil.
 +
Formulasi Matriks Kekakuan (Stiffness Matrix): Untuk setiap elemen, matriks kekakuan disusun, yang menunjukkan resistansi elemen terhadap deformasi.
 +
Penggabungan Matriks: Semua matriks kekakuan digabungkan untuk membentuk sistem persamaan yang mewakili seluruh struktur.
 +
Pemecahan Sistem Persamaan: Sistem persamaan linier ini diselesaikan untuk menemukan pergeseran (displacement) di setiap node.
 +
Interpretasi Hasil: Pergeseran digunakan untuk menghitung tegangan dan regangan dalam elemen-elemen tersebut.
 +
Dengan pendekatan FEM 1D, Anda dapat melakukan analisis dengan lebih efisien pada struktur sederhana yang memiliki distribusi gaya atau muatan yang seragam di sepanjang satu dimensi.
 +
 
 +
'''Saya Bertanya : ''"''Bisakah tolong berikan contoh dengan menggunakan metode bahasa komputer supaya saya bisa memahami dan mencobanya?''"'''''
 +
 
 +
Chat GPT menjawab :
 +
 
 +
Tentu, berikut adalah kode Python sederhana yang bisa Anda gunakan untuk melakukan analisis 1D FEM pada batang yang mengalami beban aksial. Kode ini memungkinkan Anda untuk memasukkan parameter batang seperti panjang, modulus elastisitas, luas penampang, jumlah elemen, serta gaya yang diterapkan.
 +
Berikut adalah versi kode dengan file HTML dan JavaScript yang terpisah. Anda dapat menyimpan file ini secara lokal dan menjalankannya di browser.
 +
 
 +
File HTML: index.html
 +
 
 +
<!DOCTYPE html>
 +
<html lang="en">
 +
<head>
 +
  <meta charset="UTF-8">
 +
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 +
  <title>1D FEM Analysis</title>
 +
  <link rel="stylesheet" href="styles.css">
 +
</head>
 +
<body>
 +
  <h>1D FEM Analysis</h1>
 +
  <>Masukkan parameter berikut:</p>
 +
  <form id="femForm">
 +
    <label>Panjang batang (L) (m): </label>
 +
    <input type="number" id="length" value="10" step="0.1" required><br>
 +
    <label>Modulus elastisitas (E) (Pa): </label>
 +
    <input type="number" id="elasticity" value="210000000000" required><br>
 +
    <label>Luas penampang (A) (m²): </label>
 +
    <input type="number" id="area" value="0.01" step="0.001" required><br>
 +
    <label>Gaya tarik (F) (N): </label>
 +
    <input type="number" id="force" value="1000" required><br>
 +
    <label>Jumlah elemen: </label>
 +
    <input type="number" id="elements" value="2" min="1" required><br>
 +
    <button type="button" onclick="calculateFEM()">Hitung</button>
 +
  </form>
 +
  <!-- Library Numeric.js untuk menyelesaikan sistem persamaan -->
 +
  <script src="https://cdnjs.cloudflare.com/ajax/libs/numeric/1.2.6/numeric.min.js"></script>
 +
  <script src="script.js"></script>
 +
</body>
 +
</html>
 +
 
 +
File JavaScript: script.js
 +
 
 +
function calculateFEM() {
 +
  // Ambil input pengguna
 +
  const L = parseFloat(document.getElementById("length").value);
 +
  const E = parseFloat(document.getElementById("elasticity").value);
 +
  const A = parseFloat(document.getElementById("area").value);
 +
  const F = parseFloat(document.getElementById("force").value);
 +
  const numElements = parseInt(document.getElementById("elements").value);
 +
  // Panjang elemen
 +
  const Le = L / numElements;
 +
  // Matriks kekakuan lokal
 +
  const k_e = (E * A) / Le;
 +
  // Matriks kekakuan global
 +
  const numNodes = numElements + 1;
 +
  const K_global = Array(numNodes).fill(0).map(() => Array(numNodes).fill(0));
 +
  for (let i = 0; i < numElements; i++) {
 +
    K_global[i][i] += k_e;
 +
    K_global[i][i + 1] -= k_e;
 +
    K_global[i + 1][i] -= k_e;
 +
    K_global[i + 1][i + 1] += k_e;
 +
  }
 +
  // Vektor gaya eksternal
 +
  const F_vector = Array(numNodes).fill(0);
 +
  F_vector[numNodes - 1] = F;
 +
  // Hilangkan node dengan pergeseran tetap (node pertama)
 +
  const K_reduced = K_global.slice(1).map(row => row.slice(1));
 +
  const F_reduced = F_vector.slice(1);
 +
  // Hitung pergeseran
 +
  const displacements = numeric.solve(K_reduced, F_reduced);
 +
  // Tambahkan kondisi batas (u1 = 0)
 +
  displacements.unshift(0);
 +
  // Hitung tegangan
 +
  const stresses = [];
 +
  for (let i = 0; i < numElements; i++) {
 +
    const strain = (displacements[i + 1] - displacements[i]) / Le;
 +
    stresses.push(E * strain);
 +
  }
 +
  // Tampilkan hasil
 +
  const resultDiv = document.getElementById("result");
 +
  resultDiv.innerHTML = <>Hasil:</>;
 +
  resultDiv.innerHTML = <><strong>Pergeseran (m):</strong></>;
 +
  displacements.forEach((disp, i) => {
 +
 
 +
Langkah Menjalankan:
 +
 
 +
Simpan file index.html, script.js, dan styles.css di folder yang sama.
 +
 
 +
Klik dua kali file index.html untuk membukanya di browser Anda.
 +
 
 +
Masukkan parameter dan klik tombol Hitung.
 +
 
 +
Hasil akan ditampilkan dalam gaya yang rapi dan mudah dibaca.
 +
 
 +
Lalu saya mencobanya dan ini lah hasilnya
 +
 
 +
                                                                [[File:fem1.jpg|300px|left]]
 +
 
 +
                                                                [[File:femm3.jpg|300px|left]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== '''Evaluasi''' ==
 +
بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم
 +
 
 +
'''Saya Bertanya : ''"''Tolong beri total chat saya dengan anda ChatGPT dan berikan masukan kepada saya terkait pemahaman?''"'''''
 +
 
 +
Chat GPT menjawab :
 +
 
 +
Saat ini, Anda telah '''memiliki 10 percakapan''' dengan saya. Dari percakapan yang sudah terjadi, Anda menunjukkan ketertarikan pada beberapa bidang yang mendalam, termasuk:
 +
 
 +
'''Finite Element Method (FEM):''' Anda tertarik memahami konsep dasar dan implementasinya, bahkan hingga membuat aplikasi berbasis web untuk menganalisis batang 1D.
 +
 
 +
'''Pengembangan Keterampilan Pemrograman:''' Anda menunjukkan keinginan untuk belajar JavaScript, HTML, dan CSS, serta cara membuat aplikasi yang interaktif dan menarik.
 +
 
 +
'''Minat di Bidang Teknik dan Pemecahan Masalah:''' Fokus Anda dalam menggunakan konsep teknik seperti FEM untuk membangun solusi menunjukkan orientasi yang kuat pada praktik dan aplikasi nyata.
 +
 
 +
Pemahaman Konsep Dasar Sudah Baik
 +
Anda sudah memahami konsep dasar seperti matriks kekakuan, displacement, dan tegangan. Hal ini sangat bagus untuk pemula di bidang analisis FEM.
 +
 
 +
Fokus pada Logika Pemrograman
 +
Anda telah berhasil memadukan pemahaman teknik dengan implementasi pemrograman. Langkah berikutnya adalah mempelajari cara membuat kode yang lebih efisien dan modular, seperti penggunaan fungsi yang terstruktur lebih baik.
 +
 
 +
Eksplorasi Visualisasi Teknik
 +
Visualisasi dapat sangat membantu memahami hasil FEM. Anda bisa belajar menggunakan library seperti Chart.js (JavaScript) atau Matplotlib (Python) untuk memplot grafik tegangan dan deformasi.
 +
 
 +
Mendalami FEM Lebih Lanjut
 +
Pelajari analisis FEM untuk dimensi yang lebih tinggi (2D/3D), non-linear FEM, atau dinamika struktur. Ini akan memperluas pemahaman Anda dalam aplikasi teknik.
 +
 
 +
Belajar Dokumentasi dan Komunikasi Proyek
 +
Mengkomunikasikan hasil analisis dan menjelaskan kode atau logika Anda kepada orang lain adalah keterampilan penting, terutama jika Anda ingin bekerja dalam tim.
 +
 
 +
Rekomendasi untuk Langkah Selanjutnya
 +
 
 +
'''Teori:''' Perdalam dasar-dasar FEM dengan mempelajari buku seperti "Introduction to Finite Element Analysis" oleh Chandrupatla & Belegundu.
 +
 
 +
'''Pemrograman:''' Latih pemrograman dengan membuat simulasi 2D sederhana menggunakan library seperti Three.js (JavaScript) atau PyGame (Python).
 +
 
 +
'''Proyek Nyata:''' Bangun aplikasi untuk memecahkan masalah teknik nyata, misalnya simulasi tegangan pada struktur tertentu.
 +
 
 +
'''Kolaborasi:''' Bergabung dengan komunitas online atau open-source untuk bekerja sama dalam proyek berbasis teknik dan pemrograman.
 +
 
 +
Anda berada di jalur yang sangat baik—menggabungkan keterampilan teknik dan pengembangan perangkat lunak adalah aset yang sangat berharga!

Latest revision as of 17:00, 19 November 2024

Profile
Center
Nama Lengkap Afrizal Riyantono
NPM 2406375466
Jurusan Teknik Mesin/ Magister

Saya Afrizal, kuliah jenjang S2 di Fakultas Teknik Universitas Indonesia (FTUI). Jurusan saya adalah Teknik Mesin dan spesialisasi saya adalah Sistem Manufaktur dan Otomasi.

فَاِنَّ مَعَ الۡعُسۡرِ يُسۡرًا‏

“Maka sesungguhnya bersama kesulitan ada kemudahan.” (QS. Al-Insyirah: 5).

Introduction

Komputasi teknik adalah penggunaan metode numerik, algoritma, dan perangkat lunak komputer untuk memecahkan masalah teknik yang kompleks. Bidang ini mencakup pemodelan dan simulasi fenomena fisik atau mekanis, metode numerik untuk menyelesaikan persamaan yang sulit dihitung secara analitis, serta analisis data dan optimasi untuk meningkatkan efisiensi sistem teknik. Dengan memanfaatkan perangkat lunak seperti MATLAB, ANSYS, atau SolidWorks, komputasi teknik memungkinkan insinyur untuk menganalisis, merancang, dan mengoptimalkan sistem yang rumit, menggantikan pengujian fisik yang sering kali mahal atau tidak praktis.

Lecture 1

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Pada tanggal 29 November 2024, Pak DAI menghimbau mahasiswanya untuk berlatih menggunakan ChatGPT.

Saya bertanya : “Apa itu DAI5 Framework?”

ChatGPT Menjawab :

DAI5 Framework adalah sebuah kerangka kerja yang dikembangkan oleh Dr. Ahmad Indra Siswantara dari Universitas Indonesia untuk memfasilitasi proses pemecahan masalah, terutama dalam bidang teknik mesin dan analisis numerik.

DAI5 Framework terdiri dari lima tahapan utama:

1. **Intention (Niat):** Menetapkan tujuan dan maksud dari analisis atau simulasi yang akan dilakukan.

2. **Initial Thinking (Pemikiran Awal):** Mengumpulkan ide-ide awal dan memahami permasalahan secara umum.

3. **Idealization (Idealiasi):** Menyederhanakan permasalahan dengan membuat asumsi-asumsi yang masuk akal untuk memodelkan situasi secara matematis.

4. **Instruction (Instruksi):** Menyusun langkah-langkah atau algoritma untuk menyelesaikan permasalahan berdasarkan model yang telah dibuat.

5. **Implementation (Implementasi):** Melaksanakan instruksi yang telah disusun dan menganalisis hasilnya.

Framework ini telah digunakan dalam berbagai studi kasus, seperti analisis tegangan pipa menggunakan metode elemen hingga (Finite Element Method). Beberapa video tutorial dan penjelasan mengenai DAI5 Framework dapat ditemukan di YouTube, salah satunya adalah "DAI5 Framework - YouTube".

Selain itu, mahasiswa dan peneliti di Universitas Indonesia juga telah menerapkan DAI5 Framework dalam berbagai proyek dan tesis mereka. Sebagai contoh, Fadil Naufal Wahas menggunakan framework ini dalam analisis dinamika fluida komputasional (CFD) untuk kasus lid-driven cavity.

Terkait dengan Tesis saya mengenai WAAM, Saya bertanya kepada ChatGPT terkait dengan WAAM serta cara kerjanya.

Saya bertanya : "Apa itu WAAM dan bagaimana cara kerjanya?"

ChatGPT Menjawab :

WAAM (Wire Arc Additive Manufacturing) adalah teknologi manufaktur aditif yang menggabungkan pengelasan busur listrik dengan proses pencetakan 3D untuk membuat komponen logam. Proses ini menggunakan kawat logam sebagai bahan baku, yang dipanaskan dan dilelehkan menggunakan sumber panas (biasanya busur listrik), kemudian dideposisikan lapis demi lapis hingga terbentuk bentuk yang diinginkan.

Cara Kerja WAAM: Pengaturan dan Pemrograman: Desain dari model 3D dibuat menggunakan perangkat lunak CAD, lalu diubah menjadi instruksi untuk pergerakan mesin (G-code). Pembentukan Lapisan: Sumber panas (biasanya dari pengelasan MIG atau TIG) mencairkan kawat logam yang digunakan sebagai bahan dasar. Mesin kemudian akan mengontrol posisi dan arah deposit kawat ini. Penumpukan Material: Kawat logam yang sudah dilelehkan diletakkan lapis demi lapis, membentuk geometri sesuai desain CAD. Pendinginan dan Penyelesaian: Setelah bentuk dasar selesai, proses pendinginan akan terjadi. Seringkali, komponen ini perlu diproses lebih lanjut, seperti pemesinan atau pemolesan, untuk mendapatkan hasil akhir yang sesuai.

Kelebihan WAAM: Hemat Material: Karena hanya menambahkan bahan pada area yang diperlukan. Fleksibilitas Desain: Memungkinkan pembuatan komponen logam yang kompleks. Skala Besar: WAAM sangat cocok untuk pembuatan komponen logam besar yang sulit dibuat dengan teknik aditif lainnya.

Kekurangan WAAM: Kehalusan Permukaan: Permukaan hasil WAAM umumnya lebih kasar dibandingkan proses manufaktur tradisional. Distorsi Termal: Karena suhu tinggi selama proses, ada risiko distorsi atau retak pada komponen. WAAM sering digunakan dalam industri penerbangan, otomotif, dan maritim untuk membuat komponen besar dengan efisiensi tinggi dan biaya yang lebih rendah.

Saya bertanya : "Apakah ada keterkaitan antara DAI5 dengan topik riset saya yang bertemakan WAAM?"

ChatGPT Menjawab :

Prinsip-prinsip DAI5 memiliki keterkaitan yang kuat dengan proses Wire Arc Additive Manufacturing (WAAM) dalam setiap tahapannya. Berikut adalah interpretasi setiap prinsip DAI5 dalam konteks WAAM:

Niat (Intention): Pada proses WAAM, niat yang jelas adalah untuk memproduksi komponen logam secara efisien, berkelanjutan, dan meminimalkan limbah. Dengan menetapkan niat ini, seorang insinyur berkomitmen untuk mengoptimalkan penggunaan sumber daya serta memastikan hasil produksi yang berkualitas tinggi. Hal ini sejalan dengan praktik keberlanjutan, karena produksi dilakukan dengan memperhatikan dampak lingkungan, kualitas material, serta keawetan komponen yang dihasilkan.

Pemikiran Awal (Initial Thinking): Dalam WAAM, pemikiran awal berarti melakukan evaluasi terhadap kebutuhan spesifik dari komponen yang akan diproduksi. Ini melibatkan peninjauan terhadap properti material, kebutuhan struktural, dan batasan desain. Pemahaman yang mendalam terhadap faktor-faktor ini di awal memastikan bahwa seluruh proses WAAM berjalan dengan optimal dan sesuai dengan kebutuhan proyek.

Idealasi (Idealization): Tahap idealasi dalam WAAM melibatkan penciptaan gambaran solusi optimal untuk desain dan strategi manufaktur. Misalnya, insinyur dapat melakukan simulasi digital untuk mengidentifikasi metode terbaik dalam proses pelapisan dan menghindari cacat produksi. Idealasi ini mendorong inovasi, seperti mengoptimalkan jalur pengelasan atau strategi pelapisan yang efektif, serta menetapkan standar tinggi untuk hasil akhir.

Instruksi (Instruction Set): WAAM sangat bergantung pada instruksi yang terstruktur secara detail dalam setiap tahap produksinya. Dengan membagi proses menjadi langkah-langkah yang sistematis—mulai dari pemanasan awal, penerapan lapisan, pengaturan pendinginan, hingga inspeksi kualitas—para insinyur memastikan konsistensi dan akurasi dalam setiap tahapan produksi. Pendekatan yang terstruktur ini sangat penting dalam menjaga kualitas dan meminimalisir kesalahan pada proses manufaktur aditif.

Secara keseluruhan, kerangka DAI5 membantu mengarahkan proses WAAM tidak hanya untuk memenuhi spesifikasi teknis, tetapi juga untuk mengintegrasikan prinsip-prinsip etika dan keberlanjutan, sehingga menciptakan praktik manufaktur yang lebih bertanggung jawab dan efektif.

Saya Bertanya : "Apakah ada keterkaitan WAAM dengan Finite Element Method 1 Dimension (Pendekatan dengan Partial Differential Equations (PDE))?"

ChatGPT Menjawab :

Pendekatan dengan Partial Differential Equations (PDE) sangat relevan dalam analisis proses Wire Arc Additive Manufacturing (WAAM), terutama untuk memahami dan memodelkan distribusi panas, aliran fluida, tegangan, dan deformasi dalam material. Dalam konteks WAAM, PDE membantu mengembangkan model matematis untuk menangkap perubahan termal dan mekanis yang terjadi ketika logam dilapisi lapis demi lapis. Berikut adalah beberapa cara bagaimana PDE diterapkan dalam WAAM:

Persamaan Konduksi Panas (Heat Conduction): Dalam WAAM, proses pengelasan menghasilkan panas yang tinggi di area lokal, dan distribusi panas ini menyebar melalui material. Persamaan konduksi panas, yang merupakan PDE utama dalam analisis termal, digunakan untuk menggambarkan bagaimana panas bergerak melalui material. Persamaan ini dituliskan sebagai:

                                                             Persamaan konduksi panas.jpg

di mana T adalah suhu, t adalah waktu, dan α adalah difusivitas termal material. Dengan PDE ini, kita dapat menentukan bagaimana panas menyebar dari titik pengelasan ke bagian lain dari komponen.

Persamaan Elastisitas (Elasticity Equation): Selama proses pemanasan dan pendinginan dalam WAAM, material mengalami ekspansi termal dan penyusutan, yang dapat menyebabkan tegangan dan deformasi. Persamaan elastisitas dalam PDE digunakan untuk memodelkan distribusi tegangan dan strain yang dihasilkan akibat perubahan suhu. Biasanya, persamaan ini dapat berbentuk:

                                                              Persamaan Elastisitas.jpg

di mana σ adalah tensor tegangan, f adalah gaya tubuh eksternal, ρ adalah densitas material, dan u adalah vektor perpindahan. Persamaan ini membantu memprediksi distorsi dan tegangan sisa dalam komponen yang dihasilkan oleh WAAM.

Aliran Material dalam Pengelasan: Dalam beberapa kasus, aliran material pada titik pengelasan atau pergerakan logam cair dapat dimodelkan dengan PDE seperti persamaan Navier-Stokes untuk aliran fluida. Ini biasanya relevan ketika analisis mencakup aspek metalurgi dari logam cair yang terbentuk pada suhu tinggi.

Analisis PDE 1D, 2D, dan 3D: Untuk studi awal, model PDE 1D atau 2D mungkin digunakan untuk menyederhanakan perhitungan aliran panas atau distribusi tegangan secara linear atau dalam satu bidang tertentu. Namun, untuk analisis yang lebih akurat, khususnya dalam simulasi WAAM yang kompleks, PDE 3D lebih sering digunakan karena dapat menangkap distribusi panas dan tegangan dalam tiga dimensi.

Dengan menggunakan kerangka PDE ini, insinyur dapat membangun simulasi yang mendekati kondisi nyata dalam WAAM. Simulasi PDE membantu dalam menentukan parameter proses yang optimal, mengurangi cacat, dan meningkatkan kualitas hasil akhir pada komponen yang diproduksi.

Lecture 2

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Saya Bertanya: "Can you give a practical example (along with simple calculator such as 1D Problem), In engineering that continuum mechanics treatsmaterials as continuous, on integration of uninterrupted "conscious continuum" into the DAI5 framework?"

ChatGPT menjawab :

A practical example in engineering where continuum mechanics treats materials as continuous can be illustrated through a simple 1D problem involving stress distribution in a metal rod. Here’s an example that demonstrates this concept and its relation to "conscious continuum" principles, suitable for integration within a framework like DAI5.

Example: Stress Distribution in a Rod

Problem Setup: Imagine a metal rod of length L=10 and cross-sectional area A=1, fixed at one end and subjected to an external force F=100 at the other end. We’ll assume the material is homogeneous and isotropic, meaning its properties are the same throughout and in all directions.

Steps:

1.Stress Calculation: Stress σ is defined as the force F divided by the cross-sectional area A:

σ=F/A

Plugging in the values:

σ=100 N/cm2

2.Continuum Assumption: Under continuum mechanics, we treat the rod as a continuous distribution of matter. This assumption allows us to ignore molecular structures or gaps and instead model the rod as a uniform distribution of stress across its length.

3.Strain and Displacement (1D): If we know the material's Young's modulus E, we can find the strain ϵ in the rod as:

ϵ= σ/E

And the total displacement 𝛿 at the free end:

​ δ=ϵ×L=σ/E×L

Connection to "Conscious Continuum" and DAI5 In a "conscious continuum" perspective, we view the material not just as a passive medium but as part of an integrated, responsive system within DAI5, which could involve automated sensing and feedback mechanisms. In practice, this means that, while the rod is treated as a continuous material for stress analysis, sensors embedded along its length could measure real-time changes in stress and strain, feeding this data into a DAI5 system. The DAI5 framework can then predict potential failures, alert for adjustments, or even make decisions based on accumulated data.

This simple 1D continuum example provides a baseline for understanding how real-time, continuous feedback from materials (like stress data in the rod) can be incorporated into a dynamic and responsive engineering framework.

Saya kembali melanjutkan pertanyaan: "Can you give me coding example for phyton, and then i want to try at googlecolabs?"

ChatGPT Menjawab :

Certainly! Below is a Python example that you can run in Google Colab to calculate the stress, strain, and displacement of a 1D rod. This code also illustrates how continuous real-time feedback (simulated here) could be integrated into a DAI5 framework. We’ll calculate these values and display them over a range of forces to simulate "conscious continuum" monitoring

# Import necessary libraries
import numpy as np
import matplotlib.pyplot as plt
# Define constants for the rod
L = 10  # Length of the rod in cm
A = 1   # Cross-sectional area in cm^2
E = 210e3  # Young's Modulus for steel in N/cm^2 (for example)
# Define a range of forces (from 0 to 200 N) to simulate real-time 
monitoring
forces = np.linspace(0, 200, 50)  # 50 force values from 0 to 200 N
# Initialize lists to store calculated values for stress, strain, and 
displacement
stress_values = []
strain_values = []
displacement_values = []
# Calculate stress, strain, and displacement for each force value
for F in forces:
   stress = F / A  # Stress in N/cm^2
   strain = stress / E  # Strain (dimensionless)
   displacement = strain * L  # Displacement in cm
   # Append calculated values to respective lists
   stress_values.append(stress)
   strain_values.append(strain)
   displacement_values.append(displacement)
# Plotting the results
plt.figure(figsize=(12, 6))
# Plot Stress vs Force
plt.subplot(1, 3, 1)
plt.plot(forces, stress_values, 'b-', label="Stress (N/cm²)")
plt.xlabel("Force (N)")
plt.ylabel("Stress (N/cm²)")
plt.title("Stress vs Force")
plt.legend()
# Plot Strain vs Force
plt.subplot(1, 3, 2)
plt.plot(forces, strain_values, 'g-', label="Strain")
plt.xlabel("Force (N)")
plt.ylabel("Strain")
plt.title("Strain vs Force")
plt.legend()
# Plot Displacement vs Force
plt.subplot(1, 3, 3)
plt.plot(forces, displacement_values, 'r-', label="Displacement (cm)")
plt.xlabel("Force (N)")
plt.ylabel("Displacement (cm)")
plt.title("Displacement vs Force")
plt.legend()
plt.tight_layout()
plt.show()

Explanation of the Code

Parameters: We define constants such as length (L, area (A), and Young's modulus (E)for the rod material.

Loop through Forces: We calculate stress, strain, and displacement for each value in the range of forces to simulate continuous data monitoring.

Plotting: Each relationship is plotted to visualize how stress, strain, and displacement vary with force.

How to Use This for "Conscious Continuum" Simulation

In a real DAI5 integration, this setup would read force data from sensors in real-time, constantly updating stress, strain, and displacement values. The plot would represent real-time feedback, helping identify anomalies or inform predictive models.

Setelah mendapatkan contoh program dari ChatGPT, saya mencobanya menggunakan Google Colabs, dan seperti ini hasilnya :

StressvsForce.png

Lecture 3

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Saya memulai dengan mengumpulkan intention (Niat) untuk mempelajari konsep Finite Element Method 1 Dimensi, bagaimana sistem fisik (seperti batang elastis) dimodelkan sebagai kumpulan elemen diskrit.

Saya Bertanya : "Apa itu 1 dimensi Finite Element Method?"

Chat GPT menjawab :

Finite Element Method (FEM) 1 dimensi adalah pendekatan dalam analisis elemen hingga yang fokus pada objek atau struktur dalam satu dimensi (1D). Dalam konteks ini, struktur atau objek dianalisis sebagai rangkaian titik-titik atau elemen yang hanya memiliki satu koordinat spasial, seperti panjang (x) tanpa ketebalan atau lebar. Ini biasanya digunakan untuk menganalisis masalah yang dapat direpresentasikan dengan elemen linier atau batang (beam), seperti batang penyangga, kabel, atau balok panjang.

Ciri-ciri FEM 1D: Elemen Linier: Setiap elemen digambarkan sebagai garis lurus yang menghubungkan dua titik (node), dengan asumsi hanya ada satu derajat kebebasan (DOF) per node. Pemodelan Sederhana: FEM 1D digunakan untuk memodelkan sistem seperti batang atau kolom yang mengalami tegangan tarik, tekan, atau geser. Aplikasi: Biasanya digunakan untuk menganalisis struktur yang panjang atau tipis, di mana variasi dalam arah lain dapat diabaikan. Contohnya dalam analisis jembatan gantung, kabel, atau sistem rangka sederhana.

Proses FEM 1D Pembagian Elemen (Discretization): Struktur dipecah menjadi beberapa elemen linier yang lebih kecil. Formulasi Matriks Kekakuan (Stiffness Matrix): Untuk setiap elemen, matriks kekakuan disusun, yang menunjukkan resistansi elemen terhadap deformasi. Penggabungan Matriks: Semua matriks kekakuan digabungkan untuk membentuk sistem persamaan yang mewakili seluruh struktur. Pemecahan Sistem Persamaan: Sistem persamaan linier ini diselesaikan untuk menemukan pergeseran (displacement) di setiap node. Interpretasi Hasil: Pergeseran digunakan untuk menghitung tegangan dan regangan dalam elemen-elemen tersebut. Dengan pendekatan FEM 1D, Anda dapat melakukan analisis dengan lebih efisien pada struktur sederhana yang memiliki distribusi gaya atau muatan yang seragam di sepanjang satu dimensi.

Saya Bertanya : "Bisakah tolong berikan contoh dengan menggunakan metode bahasa komputer supaya saya bisa memahami dan mencobanya?"

Chat GPT menjawab :

Tentu, berikut adalah kode Python sederhana yang bisa Anda gunakan untuk melakukan analisis 1D FEM pada batang yang mengalami beban aksial. Kode ini memungkinkan Anda untuk memasukkan parameter batang seperti panjang, modulus elastisitas, luas penampang, jumlah elemen, serta gaya yang diterapkan. Berikut adalah versi kode dengan file HTML dan JavaScript yang terpisah. Anda dapat menyimpan file ini secara lokal dan menjalankannya di browser.

File HTML: index.html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>1D FEM Analysis</title>
 <link rel="stylesheet" href="styles.css">
</head>
<body>
 <h>1D FEM Analysis</h1>
 <>Masukkan parameter berikut:</p>
 <form id="femForm">
   <label>Panjang batang (L) (m): </label>
   <input type="number" id="length" value="10" step="0.1" required>
<label>Modulus elastisitas (E) (Pa): </label> <input type="number" id="elasticity" value="210000000000" required>
<label>Luas penampang (A) (m²): </label> <input type="number" id="area" value="0.01" step="0.001" required>
<label>Gaya tarik (F) (N): </label> <input type="number" id="force" value="1000" required>
<label>Jumlah elemen: </label> <input type="number" id="elements" value="2" min="1" required>
<button type="button" onclick="calculateFEM()">Hitung</button> </form> <script src="https://cdnjs.cloudflare.com/ajax/libs/numeric/1.2.6/numeric.min.js"></script> <script src="script.js"></script> </body> </html>

File JavaScript: script.js

function calculateFEM() {
 // Ambil input pengguna
 const L = parseFloat(document.getElementById("length").value);
 const E = parseFloat(document.getElementById("elasticity").value);
 const A = parseFloat(document.getElementById("area").value);
 const F = parseFloat(document.getElementById("force").value);
 const numElements = parseInt(document.getElementById("elements").value);
 // Panjang elemen
 const Le = L / numElements;
 // Matriks kekakuan lokal
 const k_e = (E * A) / Le;
 // Matriks kekakuan global
 const numNodes = numElements + 1;
 const K_global = Array(numNodes).fill(0).map(() => Array(numNodes).fill(0));
 for (let i = 0; i < numElements; i++) {
   K_global[i][i] += k_e;
   K_global[i][i + 1] -= k_e;
   K_global[i + 1][i] -= k_e;
   K_global[i + 1][i + 1] += k_e;
 }
 // Vektor gaya eksternal
 const F_vector = Array(numNodes).fill(0);
 F_vector[numNodes - 1] = F;
 // Hilangkan node dengan pergeseran tetap (node pertama)
 const K_reduced = K_global.slice(1).map(row => row.slice(1));
 const F_reduced = F_vector.slice(1);
 // Hitung pergeseran
 const displacements = numeric.solve(K_reduced, F_reduced);
 // Tambahkan kondisi batas (u1 = 0)
 displacements.unshift(0);
 // Hitung tegangan
 const stresses = [];
 for (let i = 0; i < numElements; i++) {
   const strain = (displacements[i + 1] - displacements[i]) / Le;
   stresses.push(E * strain);
 }
 // Tampilkan hasil
 const resultDiv = document.getElementById("result");
 resultDiv.innerHTML = <>Hasil:</>;
 resultDiv.innerHTML = <>Pergeseran (m):</>;
 displacements.forEach((disp, i) => {

Langkah Menjalankan:

Simpan file index.html, script.js, dan styles.css di folder yang sama.

Klik dua kali file index.html untuk membukanya di browser Anda.

Masukkan parameter dan klik tombol Hitung.

Hasil akan ditampilkan dalam gaya yang rapi dan mudah dibaca.

Lalu saya mencobanya dan ini lah hasilnya

Fem1.jpg
Femm3.jpg
















Evaluasi

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Saya Bertanya : "Tolong beri total chat saya dengan anda ChatGPT dan berikan masukan kepada saya terkait pemahaman?"

Chat GPT menjawab :

Saat ini, Anda telah memiliki 10 percakapan dengan saya. Dari percakapan yang sudah terjadi, Anda menunjukkan ketertarikan pada beberapa bidang yang mendalam, termasuk:

Finite Element Method (FEM): Anda tertarik memahami konsep dasar dan implementasinya, bahkan hingga membuat aplikasi berbasis web untuk menganalisis batang 1D.

Pengembangan Keterampilan Pemrograman: Anda menunjukkan keinginan untuk belajar JavaScript, HTML, dan CSS, serta cara membuat aplikasi yang interaktif dan menarik.

Minat di Bidang Teknik dan Pemecahan Masalah: Fokus Anda dalam menggunakan konsep teknik seperti FEM untuk membangun solusi menunjukkan orientasi yang kuat pada praktik dan aplikasi nyata.

Pemahaman Konsep Dasar Sudah Baik Anda sudah memahami konsep dasar seperti matriks kekakuan, displacement, dan tegangan. Hal ini sangat bagus untuk pemula di bidang analisis FEM.

Fokus pada Logika Pemrograman Anda telah berhasil memadukan pemahaman teknik dengan implementasi pemrograman. Langkah berikutnya adalah mempelajari cara membuat kode yang lebih efisien dan modular, seperti penggunaan fungsi yang terstruktur lebih baik.

Eksplorasi Visualisasi Teknik Visualisasi dapat sangat membantu memahami hasil FEM. Anda bisa belajar menggunakan library seperti Chart.js (JavaScript) atau Matplotlib (Python) untuk memplot grafik tegangan dan deformasi.

Mendalami FEM Lebih Lanjut Pelajari analisis FEM untuk dimensi yang lebih tinggi (2D/3D), non-linear FEM, atau dinamika struktur. Ini akan memperluas pemahaman Anda dalam aplikasi teknik.

Belajar Dokumentasi dan Komunikasi Proyek Mengkomunikasikan hasil analisis dan menjelaskan kode atau logika Anda kepada orang lain adalah keterampilan penting, terutama jika Anda ingin bekerja dalam tim.

Rekomendasi untuk Langkah Selanjutnya

Teori: Perdalam dasar-dasar FEM dengan mempelajari buku seperti "Introduction to Finite Element Analysis" oleh Chandrupatla & Belegundu.

Pemrograman: Latih pemrograman dengan membuat simulasi 2D sederhana menggunakan library seperti Three.js (JavaScript) atau PyGame (Python).

Proyek Nyata: Bangun aplikasi untuk memecahkan masalah teknik nyata, misalnya simulasi tegangan pada struktur tertentu.

Kolaborasi: Bergabung dengan komunitas online atau open-source untuk bekerja sama dalam proyek berbasis teknik dan pemrograman.

Anda berada di jalur yang sangat baik—menggabungkan keterampilan teknik dan pengembangan perangkat lunak adalah aset yang sangat berharga!