Pendahuluan
Ilmu pengetahuan adalah anugerah dari Allah yang membantu manusia memahami keteraturan alam semesta. Salah satu bidang yang berkembang pesat dalam ilmu komputasi adalah Physics-Informed Neural Networks (PINN), yang menggabungkan pemodelan fisika dengan kecerdasan buatan. Dalam tulisan ini, kita akan membahas bagaimana PINN diterapkan pada permasalahan konduksi panas 1D, menggunakan framework DAI5 yang dikembangkan oleh Dr. Ahmad Indra (DAI). Framework ini menuntun kita dalam berpikir sistematis dan terstruktur, dengan mengintegrasikan kesadaran spiritual, niat yang kuat, pemikiran awal, idealisasi, dan eksekusi solusi.
Dalam dunia metode numerik, pendekatan konvensional sering kali menghadapi tantangan dalam menyelesaikan persamaan diferensial parsial (PDE). Seiring dengan perkembangan kecerdasan buatan, Physics-Informed Neural Networks (PINN) telah menjadi solusi inovatif yang mengintegrasikan hukum fisika ke dalam arsitektur jaringan saraf tiruan. Artikel ini akan membahas bagaimana PINN diterapkan untuk menyelesaikan permasalahan steady-state heat conduction satu dimensi (1D) menggunakan pendekatan DAI5 Framework, yang tidak hanya mengedepankan akurasi, tetapi juga pendekatan berbasis data dan pembelajaran mesin yang islami.
1. Deep Awareness of I (Kesadaran Diri yang Mendalam)
Langkah pertama dalam framework DAI5 adalah kesadaran mendalam akan diri sendiri, yaitu kesadaran bahwa ilmu dan segala sesuatu di alam semesta berasal dari Allah. Dalam konteks PINN untuk konduksi panas 1D, kita menyadari bahwa hukum fisika adalah tanda kebesaran-Nya, yang dapat kita pelajari dan manfaatkan untuk kemaslahatan umat manusia.
Dalam kajian ini, kita menggunakan hukum Fourier untuk memahami bagaimana panas berpindah melalui suatu material. Kita juga menyadari bahwa setiap variabel dalam simulasi memiliki makna mendalam: panas adalah bentuk energi yang mengalir sesuai ketetapan-Nya, dan model matematis kita hanyalah pendekatan manusia untuk memahami ketetapan tersebut.
Konsep Dasar Heat Conduction 1D
Konduksi panas merupakan salah satu mekanisme utama perpindahan panas. Untuk kasus satu dimensi dengan konduktivitas termal konstan dan tanpa sumber panas internal, hukum Fourier menyatakan bahwa distribusi suhu dalam suatu bahan padat memenuhi persamaan diferensial parsial:

Namun, dalam dunia nyata, penyelesaian numerik menjadi kebutuhan ketika geometri atau parameter yang lebih kompleks diperhitungkan. Di sinilah PINN berperan.
2. Intention (Niat yang Jelas dan Benar)
Setiap ilmu yang kita pelajari harus memiliki niat yang benar. Dalam studi ini, niat kita adalah memahami dan menerapkan PINN untuk menyelesaikan masalah konduksi panas 1D, dengan tujuan mendapatkan solusi yang lebih akurat dan efisien. Framework DAI5 mengajarkan kita untuk memastikan bahwa niat ini sesuai dengan nilai-nilai Islam, seperti menggunakan ilmu untuk kebaikan, berbagi dengan orang lain, dan tidak merusak keseimbangan alam.
Dalam konteks kode PINN yang telah dibuat, niat ini terwujud dalam:
- Menyusun solusi yang berbasis pada hukum fisika.
- Menggunakan pendekatan kecerdasan buatan untuk meningkatkan akurasi.
- Membantu mahasiswa dan peneliti memahami serta mengembangkan metode baru dalam simulasi perpindahan panas.
Physics-Informed Neural Network (PINN)
PINN adalah pendekatan berbasis jaringan saraf tiruan (NN) yang tidak hanya menyesuaikan data pelatihan tetapi juga mematuhi hukum fisika melalui fungsi loss yang mempertimbangkan diferensial dari sistem. Dalam kasus konduksi panas 1D, jaringan saraf dioptimalkan untuk meminimalkan kesalahan terhadap:

Arsitektur jaringan saraf yang digunakan terdiri dari beberapa lapisan tersembunyi dengan aktivasi Tanh, dan optimasi dilakukan dengan algoritma Adam. Dengan ini, PINN belajar menemukan solusi yang memenuhi hukum fisika.
3. Initial Thinking (Pemikiran Awal tentang Masalah)
Langkah berikutnya adalah menganalisis masalah dengan mendalam. Dalam kasus ini, kita ingin menyelesaikan persamaan konduksi panas satu dimensi steady-state:
Dengan kondisi batas:
- T(0) = 100ยฐC (suhu pada x = 0)
- T(1) = 0ยฐC (suhu pada x = 1)
Pendekatan numerik biasanya menggunakan metode Finite Difference Method (FDM) atau Finite Element Method (FEM). Namun, dalam kajian ini, kita menggunakan Physics-Informed Neural Network (PINN), yang memanfaatkan jaringan saraf tiruan untuk menyelesaikan persamaan diferensial tanpa perlu diskretisasi eksplisit.
Pemikiran awal ini juga mencakup pemilihan perangkat lunak yang digunakan, yaitu Python, PyTorch, NumPy, Matplotlib, dan Tkinter untuk antarmuka grafis.
4. Idealization (Membayangkan Solusi Ideal)
Tahap ini melibatkan perancangan solusi terbaik tanpa terikat oleh keterbatasan teknis yang ada. Dalam konteks PINN, kita mengidealkan solusi dengan cara:
- Memodelkan jaringan saraf tiruan yang mampu menyelesaikan persamaan diferensial.
- Menggunakan loss function yang mempertimbangkan hukum fisika dan kondisi batas.
- Mengoptimalkan parameter jaringan agar solusi mendekati solusi analitik.
dan berikut adalah codingan yang telah dibuat untuk idealization:
import torch
import torch.nn as nn
import numpy as np
import matplotlib.pyplot as plt
import tkinter as tk
from tkinter import ttk
# Define the PINN neural network
class PINN(nn.Module):
def __init__(self):
super(PINN, self).__init__()
self.net = nn.Sequential(
nn.Linear(1, 20),
nn.Tanh(),
nn.Linear(20, 20),
nn.Tanh(),
nn.Linear(20, 1)
)
def forward(self, x):
return self.net(x)
# Function to compute the loss
def compute_loss(model, x, T0, T1):
x = x.requires_grad_(True)
T = model(x)
# Compute derivatives
dT_dx = torch.autograd.grad(T, x, grad_outputs=torch.ones_like(T), create_graph=True)[0]
d2T_dx2 = torch.autograd.grad(dT_dx, x, grad_outputs=torch.ones_like(dT_dx), create_graph=True)[0]
# Physics loss (d^2T/dx^2 = 0)
physics_loss = torch.mean(d2T_dx2**2)
# Boundary conditions
T_left = model(torch.tensor([[0.0]], dtype=torch.float32))
T_right = model(torch.tensor([[1.0]], dtype=torch.float32))
bc_loss = (T_left - T0)**2 + (T_right - T1)**2
return physics_loss + bc_loss
# Training function
def train_pinn(T0, T1, epochs=1000):
model = PINN()
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
x = torch.linspace(0, 1, 100).reshape(-1, 1).float()
for epoch in range(epochs):
optimizer.zero_grad()
loss = compute_loss(model, x, T0, T1)
loss.backward()
optimizer.step()
if epoch % 100 == 0:
print(f"Epoch {epoch}, Loss: {loss.item():.6f}")
return model
# Function to plot results
def plot_results(model, T0, T1):
x = torch.linspace(0, 1, 100).reshape(-1, 1).float()
with torch.no_grad():
T_pred = model(x).numpy()
x = x.numpy()
T_analytical = T0 + (T1 - T0) * x
plt.figure(figsize=(8, 6))
plt.plot(x, T_pred, label="PINN Solution")
plt.plot(x, T_analytical, '--', label="Analytical Solution")
plt.xlabel("x")
plt.ylabel("Temperature")
plt.title("1D Steady-State Heat Conduction")
plt.legend()
plt.grid(True)
plt.show()
# GUI Application
class PINNApp:
def __init__(self, root):
self.root = root
self.root.title("PINN 1D Heat Conduction Solver")
# Labels and Entries
ttk.Label(root, text="T0 (Left Boundary, ยฐC):").grid(row=0, column=0, padx=5, pady=5)
self.T0_entry = ttk.Entry(root)
self.T0_entry.grid(row=0, column=1, padx=5, pady=5)
self.T0_entry.insert(0, "100")
ttk.Label(root, text="T1 (Right Boundary, ยฐC):").grid(row=1, column=0, padx=5, pady=5)
self.T1_entry = ttk.Entry(root)
self.T1_entry.grid(row=1, column=1, padx=5, pady=5)
self.T1_entry.insert(0, "0")
ttk.Label(root, text="Epochs:").grid(row=2, column=0, padx=5, pady=5)
self.epochs_entry = ttk.Entry(root)
self.epochs_entry.grid(row=2, column=1, padx=5, pady=5)
self.epochs_entry.insert(0, "1000")
# Solve Button
self.solve_button = ttk.Button(root, text="Solve & Plot", command=self.solve)
self.solve_button.grid(row=3, column=0, columnspan=2, pady=10)
def solve(self):
try:
T0 = float(self.T0_entry.get())
T1 = float(self.T1_entry.get())
epochs = int(self.epochs_entry.get())
model = train_pinn(T0, T1, epochs)
plot_results(model, T0, T1)
except ValueError:
tk.messagebox.showerror("Error", "Please enter valid numerical values.")
# Run the GUI
if __name__ == "__main__":
root = tk.Tk()
app = PINNApp(root)
root.mainloop()
Dalam kode yang telah dibuat, kita melihat bahwa solusi ideal menggunakan sebuah neural network dengan tiga lapisan tersembunyi, fungsi aktivasi tanh, serta optimasi dengan Adam. Harapan idealnya adalah agar solusi yang dihasilkan mendekati solusi analitik dari persamaan konduksi panas.
Namun, idealisasi ini tetap perlu diuji dalam realitas. Oleh karena itu, kita perlu beralih ke tahap berikutnya.
5. Instruction-Set (Eksekusi dan Implementasi Solusi)
Langkah terakhir dalam framework DAI5 adalah implementasi solusi yang telah dirancang. Kita mengeksekusi kode PINN yang telah dibuat, melatih model dengan 1000 epoch, dan membandingkan hasilnya dengan solusi analitik.
berikut ini adalah input yang dimasukkan:
persamaan konduksi panas satu dimensi steady-state
Dengan kondisi batas:
T(1) = 0ยฐC (suhu pada x = 1)
T(0) = 100ยฐC (suhu pada x = 0)

dan kemudian ini adalah output atau hasil 1D Steady-State Heat Conduction:

Berdasarkan hasil yang telah didapat, kita melihat bahwa solusi PINN masih belum sepenuhnya sesuai dengan solusi analitik
Dari plot yang saya hasilkan, tampaknya solusi dari PINN (garis biru) cukup jauh dari solusi analitik (garis putus-putus oranye). Beberapa kemungkinan penyebab ketidaksesuaian ini:
- Kurang banyak epoch โ 1000 epoch mungkin belum cukup untuk pelatihan yang optimal.
- Learning rate terlalu besar/kecil โ Coba eksperimen dengan
lr=0.0005ataulr=0.005. - Kurang kompleksitas jaringan โ kita bisa menambah jumlah lapisan atau neuron per lapisan, misalnya:
self.net = nn.Sequential(
nn.Linear(1, 40),
nn.Tanh(),
nn.Linear(40, 40),
nn.Tanh(),
nn.Linear(40, 1)
)
4. Distribusi titik pelatihan kurang optimal โ Gunakan lebih banyak titik atau sampling non-uniform untuk meningkatkan resolusi
5. Regularisasi boundary condition perlu diperkuat โ Mungkin boundary loss lebih diperberat dalam loss function.
Coba tingkatkan salah satu atau kombinasi dari faktor di atas dan lihat bagaimana performanya! Jika ingin hasil cepat, bisa mulai dengan menambah jumlah epoch dulu. 🚀
Solusi ini menunjukkan betapa pentingnya eksperimen dan iterasi dalam dunia metode numerik. Dengan memperbaiki model, meningkatkan jumlah epoch, atau mengubah struktur jaringan, kita dapat menghasilkan solusi yang lebih akurat.
Penerapan Framework DAI5 dalam PINN Heat Conduction
Framework DAI5 berfokus pada Data, Algoritma, Integrasi, Implementasi, dan Interpretasi. Dalam konteks PINN untuk heat conduction 1D, penerapan DAI5 dapat dijelaskan sebagai berikut:
1. Data: Representasi Domain
- Dalam PINN, domain dihitung dengan membuat grid dari xx antara 0 dan 1.
- Jaringan saraf dilatih menggunakan titik-titik sampel yang diambil secara seragam atau menggunakan metode collocation.
2. Algoritma: Arsitektur Neural Network
- Model terdiri dari lapisan masukan, beberapa lapisan tersembunyi dengan fungsi aktivasi tanhโก\tanh, dan satu lapisan keluaran yang mewakili suhu.
- Gradien dihitung menggunakan autograd dalam PyTorch untuk memastikan persamaan diferensial terpenuhi.
3. Integrasi: Kombinasi Data dan Hukum Fisika
- PINN mengoptimalkan loss yang mencakup dua aspek: error dari hukum fisika (d2T/dx2 = 0) dan error dari kondisi batas.
- Loss dikombinasikan dalam satu fungsi objektif yang memandu pembelajaran jaringan.
4. Implementasi: Pemrograman dalam Python
- Menggunakan PyTorch untuk membangun jaringan dan Tkinter sebagai antarmuka GUI interaktif.
- Training dilakukan dengan optimasi Adam selama sejumlah iterasi yang telah ditentukan.
- Setelah pelatihan, hasil dibandingkan dengan solusi analitik.
5. Interpretasi: Evaluasi dan Analisis Hasil
- Output dari PINN dibandingkan dengan solusi analitik untuk mengevaluasi akurasi model.
- Hasil divisualisasikan dengan Matplotlib agar lebih mudah dianalisis.
Hasil dan Evaluasi
Pada eksperimen dengan T0 = 100ยฐC dan T1 = 0ยฐC, hasil menunjukkan bahwa solusi PINN masih mengalami deviasi dari solusi analitik. Penyebabnya bisa berasal dari:
- Jumlah epoch yang kurang (model belum cukup lama belajar).
- Pilihan aktivasi dan jumlah neuron yang kurang optimal.
- Learning rate yang mungkin perlu disesuaikan.
Dengan menyesuaikan hiperparameter dan menambah iterasi, performa model dapat ditingkatkan sehingga semakin mendekati solusi eksak.
Kesimpulan
Melalui pendekatan DAI5, kita telah melihat bagaimana kesadaran diri, niat, pemikiran awal, idealisasi, dan eksekusi dapat membantu dalam memahami dan menyelesaikan masalah numerik, khususnya dalam Physics-Informed Neural Networks (PINN) untuk konduksi panas 1D. Framework ini tidak hanya membantu kita berpikir sistematis, tetapi juga menjaga niat dan kesadaran spiritual dalam proses pembelajaran.
Dengan memahami ilmu ini, kita semakin yakin bahwa setiap hukum fisika yang kita pelajari adalah bagian dari tanda-tanda kebesaran Allah. Oleh karena itu, mari kita terus meneliti, belajar, dan berbagi ilmu dengan semangat keikhlasan dan kontribusi yang bermanfaat bagi umat manusia.
Physics-Informed Neural Network (PINN) memberikan pendekatan inovatif dalam menyelesaikan masalah konduksi panas 1D, dengan memanfaatkan kecerdasan buatan untuk secara eksplisit mematuhi hukum fisika. Framework DAI5 memberikan struktur yang sistematis dalam penerapan PINN, mulai dari Data hingga Interpretasi hasil.
Sebagai seorang Muslim, ilmu yang kita pelajari seharusnya mengarahkan kita untuk lebih memahami keteraturan alam yang diciptakan Allah. Seperti dalam Surah Al-Mulk ayat 3:
“Yang telah menciptakan tujuh langit berlapis-lapis. Kamu sekali-kali tidak melihat pada ciptaan Tuhan yang Maha Pemurah sesuatu yang tidak seimbang…” (QS. Al-Mulk: 3)
Dengan PINN, kita menyaksikan keteraturan hukum-hukum Allah dalam ilmu fisika, sekaligus memanfaatkannya untuk menyelesaikan permasalahan dunia nyata. Semoga ilmu ini menjadi bagian dari amal yang bermanfaat, sebagaimana hadis Nabi:
“Apabila manusia meninggal dunia, terputuslah amalnya kecuali tiga perkara: sedekah jariyah, ilmu yang bermanfaat, atau anak shalih yang mendoakannya.” (HR. Muslim)
Semoga tulisan ini bermanfaat dan menginspirasi lebih banyak peneliti untuk menggabungkan kecerdasan buatan dengan hukum-hukum fisika dalam cara yang lebih efisien dan bermakna. Wallahu aโlam. 🚀