Assalamu’alaikum Warahmatullahi Wabarakatuh
Puji syukur ke hadirat Allah SWT yang selalu memberikan kita nikmat iman, ihsan, serta sehat wal-‘afiat sehingga saya bisa berkesempatan untuk mengerjakan tugas Metode Numerik ini
Shalawat serta salam tak pernah lupa dihaturkan kepada Nabi Muhammad S.A.W yang telah membawa evolusi dari zaman jahiliyyah menuju ke zaman yang terang benderang ini.
Pada hari Minggu, 16 Maret 2025 saya memulai untuk melakukan iterasi terkait apa yang dibahas minggu lalu dan menuangkannya disini untuk memenuhi tugas Metode Numerik yang diberikan oleh Pak DAI.
Book of Framework DAI5 (Deep Awareness of I, Intention, Initial Thinking, Idealization, Instruction-Set) yang dikembangkan oleh Prof. Ir. Ahmad Indra Siswantara, Ph.D., menawarkan pendekatan holistik untuk pemecahan masalah dengan mengintegrasikan kesadaran spiritual, niat yang jelas, dan proses berpikir sistematis.
Dalam konteks memahami masalah grafik curve fitting dan integrasi numerik—dua elemen penting dalam analisis data dan simulasi numerik—evaluasi berdasarkan 33 kriteria DAI5 dapat memberikan panduan yang mendalam dan terstruktur. Saya akan menguraikan bagaimana setiap tahapan DAI5 dan kriterianya diterapkan untuk memahami serta menyelesaikan masalah tersebut, dengan tujuan menghasilkan solusi yang tidak hanya akurat secara teknis tetapi juga bermakna secara spiritual dan praktis.
I. Deep Awareness of I (Kesadaran Mendalam tentang Diri)
Tahap ini membangun fondasi spiritual dengan merenungkan peran diri dalam memahami alam melalui rumus-rumus tersebut.
- Consciousness of Purpose: Saya memulai dengan bertanya pada diri sendiri: apa tujuan saya menggunakan rumus ini? T(x) memungkinkan saya memodelkan temperatur, q mengukur perpindahan panas, dan Q menghitung energi yang relevan dalam sistem. Ini bukan hanya soal matematika, tetapi juga tentang mengenali keteraturan ciptaan Allah melalui data yang didapat dari simulasi CFD, seperti pola simetris pada visualisasi grafik curve fitting yang dihasilkan.
- Self-awareness: Saya menyadari keterbatasan saya dalam memilih metode fitting untuk T(x) atau menentukan turunan dT/dx untuk q. Misalnya, apakah saya cukup kompeten untuk memastikan koefisien (An) benar? Ini mendorong saya untuk lebih teliti dan rendah hati dalam sebuah proses.
- Ethical Considerations: Saya berkomitmen menerapkan rumus ini dengan jujur. Misalnya, jika q atau Q dihitung dengan data yang dimanipulasi, hasilnya bisa menyesatkan pengguna seperti insinyur atau peneliti. Integritas adalah prinsip yang saya pegang di sini.
- Integration of CCIT: Saya melihat hukum Fourier dalam q=−(k)dT/dx sebagai bagian dari Sunnatullah—hukum alam yang konsisten dan teratur. Ini mengingatkan saya bahwa ilmu pengetahuan adalah sarana untuk mendekat kepada Sang Pencipta.
- Critical Reflection: Ketika memikirkan Q=q⋅A, saya merefleksikan bagaimana hasil ini bisa bermanfaat—mungkin untuk desain sistem yang lebih efisien atau hemat energi. Ini memperdalam rasa syukur saya atas ciptaan Allah yang bisa dipahami melalui rumus sederhana.
- Continuum of Awareness: Kesadaran ini tidak boleh hilang. Sepanjang proses—dari melihat data hingga menghitung q—saya terus mengingatkan diri bahwa ini adalah eksplorasi makna yang lebih besar, bukan sekadar kebiasaan.
II. Intention (Niat)
Niat adalah landasan yang mengarahkan penggunaan rumus-rumus ini ke tujuan yang bermakna.
- Clarity of Intent: Saya memiliki niat yang jelas: menggunakan T(x) untuk memetakan temperatur pada data J-2, lalu menghitung q dan Q untuk memahami perpindahan panas secara akurat. Niat ini bukan hanya teknis, tetapi juga spiritual—sebagai bentuk ibadah melalui pencarian kebenaran.
- Alignment of Objectives: Saya menyelaraskan dua tujuan: akurasi teknis dalam menentukan An ntuk T(x) atau dT/dx untuk q, dan nilai keimanan untuk mengagumi hukum alam seperti yang tercermin dalam rumus-rumus ini. Keduanya saling mendukung, bukan bertentangan.
- Relevance of Intent: Niat saya relevan karena rumus-rumus ini sering digunakan dalam analisis CFD—misalnya, untuk mengevaluasi performa heat exchanger atau simulasi aliran fluida. Ini adalah kebutuhan nyata di dunia teknik yang saya coba penuhi.
- Sustainability Focus: Saya ingin hasil Q—daya perpindahan panas—bisa digunakan untuk mendukung solusi berkelanjutan, seperti sistem yang mengurangi konsumsi energi. Ini sejalan dengan tanggung jawab kita menjaga alam sebagai amanah dari Allah.
- Focus on Quality: Saya bertekad memastikan bahwa koefisien dalam T(x) dihitung dengan cermat, q mencerminkan gradien yang realistis, dan Q akurat. Kualitas adalah cerminan usaha maksimal saya dalam menerapkan rumus ini.
III. Initial Thinking (Pemikiran Awal tentang Masalah)
Sebelum menghitung, saya menganalisis data dan rumus secara mendalam untuk memahami konteksnya.
- Problem Understanding: Saya perhatikan data J-2: temperatur naik dari 322.778 K di x=0.1 ke 355.714 K di x=0.5, lalu turun ke 273 K di x=1.0. Pola simetris ini menunjukkan bahwa T(x)=ax²+bx+c cocok, dan turunannya akan jadi dasar q serta Q.
- Stakeholder Awareness: Saya membayangkan siapa yang akan memanfaatkan hasil ini—mungkin insinyur yang merancang sistem termal atau peneliti yang memvalidasi simulasi CFD. Mereka mengandalkan q dan Q yang saya hitung, jadi saya harus teliti.
- Contextual Analysis: Data ini berasal dari simulasi CFD pada grid 12×12—mungkin mewakili dinding yang dipanaskan atau fluida yang mengalir. Konteks ini membantu saya memahami bahwa q=−(k)dT/dx relevan untuk mengukur gradien panas di sepanjang posisi.
- Root Cause Analysis: Dalam benak saya bertanya: mengapa temperatur berubah? Pasti ada sumber panas atau pendingin yang menciptakan gradien, yang akan terdeteksi melalui dT/dx dalam rumus q. Ini adalah inti dari fenomena yang saya analisis.
- Relevance of Analysis: Menghitung Q=q⋅A sangat penting untuk aplikasi praktis, seperti menentukan kebutuhan daya dalam sistem pendingin atau pemanas. Ini membuat analisis saya tidak hanya teoritis, tetapi juga bermanfaat secara nyata.
- Use of Data and Evidence: Saya bandingkan data asli (misalnya, 322.778 K di x=0.1 dengan data fit (320.469 K) untuk memastikan T(x) sesuai sebelum melangkah ke q dan Q. Data adalah fondasi yang saya andalkan.
IV. Idealization (Penyederhanaan Masalah)
Saya menyederhanakan masalah agar rumus-rumus ini bisa diterapkan secara efektif, tapi tetap realistis.
- Assumption Clarity: Saya berasumsi bahwa data plot2.csv kontinu dan simetris, jadi T(x) = ax² + bx + c cukup untuk curve fitting. Untuk Q, saya asumsikan A=0.01 m^2 berdasarkan grid 12×12 (misalnya, setiap sel 0.1 m)—asumsi yang perlu divalidasi nanti.
- Creativity and Innovation: Saya pertimbangkan opsi lain, seperti metode spline untuk T(x) agar lebih presisi, tapi saya pilih polinomial derajat dua karena lebih sederhana untuk menghitung dT/dx dan q. Ini adalah keseimbangan antara inovasi dan kepraktisan.
- Physical Realism: Rumus q=−(k)dT/dx harus mencerminkan arah aliran panas yang benar—negatif saat temperatur turun, positif saat naik. Ini memastikan model saya sesuai dengan hukum fisika yang mendasari simulasi CFD.
- Alignment with Intent: Model T(x) yang sederhana ini mendukung niat saya untuk mendapatkan q dan Q yang akurat, tanpa mengorbankan makna fisik atau spiritual dari proses ini.
- Scalability and Adaptability: Jika model T(x) ini berhasil untuk plot2.csv, saya bisa menerapkannya ke plot lain (plot3.csv hingga plot11.csv) dengan penyesuaian koefisien. Rumus q dan Q juga fleksibel untuk skenario berbeda.
- Simplicity and Elegance: Saya aproksimasi T(x) = -122.36x² + 122.36x + 298.56 berdasarkan data fit plot2.csv. Persamaan ini sederhana, elegan, dan cukup menangkap pola simetris yang saya amati.
V. Instruction-Set (Panduan Penyelesaian)
Tahap ini adalah langkah praktis untuk menerapkan rumus dan mengevaluasi hasilnya secara sistematis.
- Clarity of Steps: Saya susun prosesnya dengan jelas: (1) Fit data J-2 hingga J-11 dengan mengganggap J-1 sama dengan J-2 dan J-12 sama dengan J-11 ke dalam persamaan curve fitting yaitu T(x)=ax²+bx+c, (2) Hitung turunan dT/dx, (3) Terapkan q=−(k)dT/dx dengan k=16.2 W/mK untuk pers. flux panas, (4) Kalikan q dengan A untuk mendapatkan pers. daya -> Q, (5) Validasi dengan data asli. Setiap langkah punya peran yang cukup teliti dan spesifik.
- Comprehensiveness: Saya pastikan semua elemen tercakup: T(x) untuk model temperatur, q untuk fluks panas, dan Q untuk daya. Tidak ada aspek yang terlewat, dari data awal hingga hasil akhir.
- Physical Interpretation: Saya tafsirkan hasilnya secara fisik: T(x) menunjukkan profil panas sepanjang posisi, q adalah intensitas perpindahan panas (dalam W/m²), dan Q adalah total energi yang berpindah (dalam W)—semua relevan untuk CFD.
- Error Minimization: Saya cek kesalahan dengan membandingkan T(x) pada titik tertentu—misalnya, di x=0.1, T(x)=320.469 (fit) vs 322.778 (asli). Selisih kecil ini menunjukkan model cukup akurat untuk q dan Q.
- Verification and Validation: Saya validasi q q q dengan memastikan tanda gradien sesuai (negatif di x>0.5 , dan Q realistis untuk skala grid 12×12. Jika ada data analitik, saya akan bandingkan lebih lanjut.
- Iterative Approach: Jika q atau Q terlihat tidak wajar—misalnya terlalu besar—saya siap ulang perhitungan dengan menyesuaikan T(x) ke polinomial derajat lebih tinggi. Tapi derajat dua sudah cukup untuk data ini.
- Sustainability Integration: Proses ini saya buat efisien—tidak memakan banyak komputasi—sehingga cocok untuk simulasi CFD skala besar yang hemat sumber daya, mendukung prinsip keberlanjutan.
- Communication Effectiveness: Saya sajikan hasil dengan jelas: T(x)=−122.36x²+122.36x+298.56, q=1982.23 W/m² (di x=0.5), dan Q=19.82 W. Grafik Plotly juga bisa melengkapi presentasi ini.
Curve Fitting (Data J-2 to J-11)
32. Alignment with DAI5: Proses saya sejalan dengan lima tahap DAI5: dari kesadaran spiritual hingga eksekusi teknis, semua terintegrasi dengan harmonis dalam penerapan rumus-rumus ini.
33. Documentation Quality: Saya catat dan lampirkan juga detailnya: 1)dT/dx=−244.72x+122.36, 2)di x=0.5, 3)dT/dx=−122.36 -> maka q=−16.2⋅(−122.36)=1982.23 W/m², dan 3)Q=1982.23⋅0.01=19.82 W,Q=1982.23⋅0.01=19.82W (dengan A=0.01 m²).
Ini adalah kode untuk menampilkan heatmaps dengan google colab
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.interpolate import griddata
# Temperature data (12x12 grid with boundaries)
data = np.array([
[303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303], # J-1
[303, 338, 351, 357, 361, 360, 357, 351, 338, 303, 303, 303], # J-2
[303, 324, 337, 345, 349, 349, 345, 337, 324, 303, 303, 303], # J-3
[303, 317, 329, 336, 340, 341, 340, 336, 329, 303, 303, 303], # J-4
[303, 314, 324, 331, 335, 336, 335, 331, 324, 303, 303, 303], # J-5
[303, 313, 321, 328, 332, 333, 332, 328, 321, 303, 303, 303], # J-6
[303, 313, 321, 328, 331, 333, 331, 328, 321, 303, 303, 303], # J-7
[303, 314, 324, 330, 334, 335, 334, 330, 324, 303, 303, 303], # J-8
[303, 317, 329, 335, 338, 339, 338, 335, 329, 303, 303, 303], # J-9
[303, 328, 338, 343, 345, 345, 345, 343, 338, 303, 303, 303], # J-10
[328, 353, 353, 353, 353, 353, 353, 353, 353, 328, 328, 328], # J-11
[328, 353, 353, 353, 353, 353, 353, 353, 353, 328, 328, 328], # J-12
])
# Create grid for interpolation
x = np.linspace(0, 1, 12)
y = np.linspace(0, 1, 12)
X, Y = np.meshgrid(x, y)
points = np.vstack((X.ravel(), Y.ravel())).T
values = data.ravel()
# Interpolate for smooth heatmap
xi = np.linspace(0, 1, 100)
yi = np.linspace(0, 1, 100)
Xi, Yi = np.meshgrid(xi, yi)
Zi = griddata(points, values, (Xi, Yi), method='cubic')
# Plot the heatmap
%matplotlib inline
plt.figure(figsize=(8, 8))
# Heatmap subplot
ax = plt.subplot(111)
sns.heatmap(Zi, cmap='plasma', cbar=True, vmin=300, vmax=370, xticklabels=False, yticklabels=False, ax=ax) # _r untuk reverse (merah di tinggi)
cbar = ax.collections[0].colorbar
cbar.set_label('Temperature (K)')
plt.title('Distribusi Energi Panas (W)')
plt.xlabel('X (m)')
# Remove Y-axis label and ticks
ax.set_ylabel('') # Remove "Y (m)" label
ax.set_yticks([]) # Remove Y-axis tick marks and labels
# Adjust X-axis labels
ax.set_xticks(np.linspace(0, 100, 12)) # 12 ticks sesuai grid
ax.set_xticklabels(['0', '', '0.2', '', '0.4', '', '0.6', '', '0.8', '', '1.0', '']) # Tampilkan beberapa aja biar rapi
# Overlay numerical values with adjusted spacing
for i in range(12):
for j in range(12):
x_pos = j * (100 / 12) + 4 # Shift slightly right for spacing
y_pos = i * (100 / 12) + 4 # Shift slightly up for spacing
plt.text(x_pos, y_pos, f'{data[i, j]:.0f}', color='black', ha='center', va='center', fontsize=8)
plt.text(0.95, 0.05, 'Marvin-Metnum02', color='gray', fontsize=8, ha='right', va='bottom', alpha=0.5, transform=ax.transAxes)
# Create table data for heat flow values
table_data = [
["Sisi Atas", "0 W"],
["Sisi Bawah", "0 W"],
["Sisi Kiri", "-2380,16 W"],
["Sisi Kanan", "2380,16 W"],
["TOTAL", "0.000000019999999494757503 W"]
]
# Add table below the heatmap
table = plt.table(cellText=table_data, colWidths=[0.3, 0.3], loc='bottom', cellLoc='center', bbox=[0, -0.35, 1, 0.25])
table.auto_set_font_size(False)
table.set_fontsize(10)
table.scale(1, 1.5)
# Adjust layout to prevent overlap
plt.subplots_adjust(bottom=0.25, left=0.1) # Increased bottom margin to give more space between X (m) and table
plt.show()

Peta panas ini memvisualisasikan distribusi suhu di atas pelat berukuran 1m x 1m, yang dibagi ke dalam kisi-kisi 12×12. Berikut ini penjelasan sederhananya:
- Warna: Skala warna (hijau ke merah) menunjukkan suhu, mulai dari 300 K (hijau) hingga 370 K (merah). Piring memanas dari 303 K di bagian atas hingga 353 K di bagian tengah, kemudian turun hingga 328 K di bagian bawah.
- Pola: Area terpanas (merah, ~360 K) berada di dekat bagian tengah (x=0,5, y=0,5), menunjukkan puncak panas. Suhu menurun ke arah tepi, terutama di bagian atas dan samping (303 K) dan bawah (328 K).
- Tujuannya adalah untuk membantu mengidentifikasi aliran panas. Tabel menunjukkan energi pada batas-batas: 0 W (atas), 0 W (bawah), -2380,16 W (kiri), 2380,16 W (kanan), dengan total 0,000000019999999494757503 W, yang mengindikasikan adanya kehilangan panas atau ketidaksesuaian perhitungan.
- Kehalusan: Gradiennya halus karena interpolasi, sehingga mudah untuk melihat perubahan suhu di seluruh pelat.
Peta panas ini hanya menyederhanakan bentuk dan visualisasi tentang distribusi panas. Jadi, simulasi ini dapat lebih mudah dipahami.
Demikian yang saya kerjakan, apabila ada kesalahan mohon kritik dan sarannya. Terima kasih
Wassalamu’alaikum Warahmatullahi Wabarakatuh.