Pendekatan Computational Thinking memberikan kerangka sistematis untuk memahami dan menyelesaikan persoalan teknik yang kompleks. DalamTugas Besar Mata Kuliah Komputasi Teknik ini, pendekatan tersebut digunakan untuk mengkaji fenomena perpindahan panas pada sistem sirip (fin) dalam sebuah fin-and-tube heat exchanger, hingga akhirnya menghasilkan model matematis untuk menganalisis distribusi suhu pada plat fin secara konduksi. Proses berpikir komputasional dilakukan melalui tahapan dekomposisi, pengenalan pola, abstraksi dan Desain Algoritma.
1. Dekomposisi (Decomposition)
Tahap dekomposisi dilakukan dengan memecah fenomena perpindahan panas pada heat exchanger ke dalam elemen-elemen fundamentalnya. Perpindahan panas dalam sistem ini terjadi melalui tiga mekanisme utama: konduksi, konveksi, dan radiasi.

Dari ketiga mekanisme tersebut, yang menjadi perhatian utama adalah konduksi panas di dalam fin, karena fin berperan memperluas area perpindahan panas dari tube ke lingkungan.
Selanjutnya, fenomena tersebut ditempatkan dalam konteks perangkat teknik yang memanfaatkannya, yakni heat exchanger. Walaupun terdapat berbagai jenis heat exchanger seperti shell-and-tube, plate heat exchanger, dan double pipe heat exchanger, analisis diarahkan secara bertahap dan khusus ke jenis fin-and-tube heat exchanger, karena konfigurasi ini memanfaatkan fin sebagai elemen peningkat luas permukaan perpindahan panas.

Dari struktur fin-and-tube, beberapa komponen penting diurai lebih lanjut:
- material fin,
- ketebalan dan panjang fin,
- jarak antar fin (fin spacing),
- diameter tube,
- jarak antar tube,
- pola susunan tube.
Tahap dekomposisi ini memberikan gambaran jelas mengenai bagian-bagian sistem yang relevan dan mekanisme konduksi termal yang menjadi fokus analisis pada elemen fin.
2. Pengenalan Pola (Pattern Recognition)
Tahap selanjutnya adalah mengidentifikasi pola-pola berulang yang muncul pada konfigurasi fin-and-tube heat exchanger. Pada aspek geometri, terdapat pola konsisten seperti:
- fin yang tersusun dengan jarak seragam,
- panjang dan ketebalan fin yang konstan,
- diameter tube yang sama, serta
- susunan tube yang berulang (in-line atau staggered).
Pola geometri yang teratur tersebut menghasilkan pola perilaku termal yang relatif serupa. Pada plat fin, suhu cenderung tinggi di pangkal finโkarena terhubung langsung dengan tubeโdan kemudian menurun secara bertahap menuju ujung fin. Secara umum pola ini bersifat monoton turun, dan dalam kondisi tertentu mendekati pola penurunan yang hampir linear.

Meskipun pola ini muncul berulang pada fin-fin yang identik, laju penurunan suhu tetap dipengaruhi oleh parameter konduktif material, panjang fin, ketebalan fin. Pengenalan pola ini menjadi dasar penyederhanaan sistem pada tahap selanjutnya.
3. Abstraksi (Abstraction)
Tahap abstraksi dilakukan dengan menyaring bagian-bagian penting dari sistem dan menyederhanakannya menjadi model yang lebih ideal. Pada tahap inilah fokus analisis diarahkan secara eksplisit pada Analisis Distribusi Suhu Secara Konduksi 1-Dimensi pada Plat Fin.
Dari struktur fin-and-tube yang kompleks, beberapa aspek dieliminasi karena tidak berpengaruh langsung terhadap tujuan analisis, seperti turbulensi udara, interaksi antar baris tube, maupun variasi tiga dimensi sepanjang permukaan. Sistem kemudian direduksi menjadi sebuah plat fin sederhana dengan asumsi berikut:
- Konduksi panas dominan terjadi sepanjang panjang fin (1-D conduction).
- Material fin bersifat homogen dan konduktivitas termal konstan.
- Ketebalan fin seragam.
Dengan abstraksi ini, model matematis dasar berupa persamaan diferensial konduksi 1-dimensi dapat digunakan untuk memperoleh distribusi suhu sepanjang fin. Penyederhanaan ini memungkinkan analisis dilakukan secara numerik atau analitik pada tahap perancangan algoritma komputasi.
4. Desain Algoritma
Desain algoritma dilakukan berdasarkan alur proses penyelesaian masalah yang digambarkan pada flow chart.

Tujuan utama algoritma adalah menghitung distribusi suhu sepanjang plat fin menggunakan model konduksi 1-dimensi melalui pendekatan analitis dan numerik, kemudian membandingkan hasil keduanya. Beberapa tahapan utama algoritma dijelaskan sebagai berikut.
4.1 Input Parameter
Algoritma dimulai dengan memasukkan seluruh parameter fisik plat fin dan parameter numerik metode iteratif.
Parameter fisik yang dibutuhkan meliputi:
- panjang plat (L),
- lebar plat (B),
- ketebalan plat (t),
- konduktivitas termal material (k),
- suhu pangkal fin (T_awal),
- suhu ujung fin (T_akhir).
Parameter numerik untuk metode iteratif yang digunakan mencakup:
- jumlah node diskretisasi (N_nodes),
- toleransi konvergensi (ฮต),
- jumlah iterasi maksimum (max_it).
Input ini menjadi dasar pembentukan model konduksi 1D yang akan dianalisis menggunakan dua pendekatan.
4.2 Perhitungan Solusi Analitis
Solusi analitis digunakan sebagai acuan dalam menilai tingkat akurasi hasil metode numerik.
Distribusi suhu analitis 1-dimensi diturunkan dari persamaan steady-state konduksi tanpa sumber panas, sehingga distribusi suhu bersifat linear:

Selain itu, fluks panas konduksi dihitung melalui hukum Fourier:

Perhitungan ini menghasilkan profil dasar yang digunakan sebagai pembanding terhadap solusi numerik.
4.3 Pembuatan Grid dan Nilai Awal
Selanjutnya, domain 1D sepanjang plat dibagi menjadi sejumlah node berdasarkan jumlah diskretisasi (N_nodes). Jarak antar node (ฮx) dihitung sebagai:

Setiap node diberi tebakan awal suhu (Tโ). Node batas (boundary nodes) diberi suhu tetap sesuai kondisi batas:
- Node 1 โ T = T_awal
- Node N โ T = T_akhir
Node-node di antaranya diberi nilai awal acak atau nilai rata-rata.
4.4 Iterasi Numerik Metode GaussโSeidel
Untuk menyelesaikan distribusi suhu secara numerik, digunakan metode iteratif GaussโSeidel.
Pada setiap iterasi, nilai suhu pada node interior diperbarui berdasarkan persamaan diskretisasi konduksi 1D steady-state:

4.5 Pemeriksaan Konvergensi
Setelah setiap iterasi, dihitung perubahan nilai suhu untuk mengukur apakah solusi sudah konvergen:

Jika error < ฮต, maka solusi dianggap konvergen dan iterasi dihentikan.
Jika belum konvergen, iterasi dilanjutkan hingga mencapai batas iterasi maksimum.
Jika iterasi telah mencapai max_it, tetapi toleransi belum terpenuhi, algoritma tetap menghentikan proses dan mencatat bahwa solusi belum sepenuhnya konvergen.
4.6 Penyimpanan Hasil Akhir
Setelah solusi numerik dinyatakan konvergen, algoritma menyimpan:
- distribusi suhu numerik tiap node,
- jumlah iterasi yang diperlukan,
- tingkat error akhir,
- fluks panas numerik (jika diperlukan).
4.7 Pembuatan Tabel Perbandingan
Langkah berikutnya adalah membuat tabel yang memuat:
- suhu analitis pada setiap posisi x,
- suhu numerik hasil iterasi,
- nilai error (selisih analitisโnumerik),
- error relatif dalam persen.
Tabel ini digunakan untuk mengevaluasi akurasi metode numerik.
4.8 Visualisasi Grafik
Algoritma kemudian menghasilkan berbagai grafik untuk mendukung analisis visual, meliputi:
- Grafik distribusi suhu analitis vs numerik
- Grafik error distribusi suhu
- Grafik penurunan error terhadap jumlah iterasi
Visualisasi ini memudahkan interpretasi kinerja metode numerik.
4.9 Penyelesaian
Algoritma berakhir setelah seluruh output (hasil numerik, analitis, tabel, dan grafik) dihasilkan. Proses ini memberikan gambaran lengkap mengenai perilaku distribusi suhu 1D secara konduksi pada plat fin serta tingkat akurasi metode numerik yang digunakan.
5. Hasil Prompting Menggunakan Dai 5
5.1 Prompt
Saya meminta Anda untuk membuat kode Python lengkap untuk menganalisis **Distribusi Suhu pada Batang 1 Dimensi (1D) yang Terisolasi Sepanjang Sisinya(model konduksi murni). Asumsi yang digunakan adalah Konduksi Steady-State, di mana suhu di kedua ujung batang diketahui (Dirichlet Boundary Conditions).
Analisis harus membandingkan hasil dari *Solusi Analitis (Linier Eksak) dan Metode Numerik (FDM) yang diselesaikan menggunakan Gauss-Seidel Iteratif.
PERINTAH UTAMA UNTUK AI:
1.PENJELASAN: Jelaskan secara singkat bahwa model ini menggunakan Persamaan Laplace ({d^2T}/{dx^2} = 0) yang menghasilkan distribusi suhu Linier secara analitis.
- FUNGSI PYTHON: Buat dua fungsi Python yang terpisah dan terintegrasi:
-Satu fungsi untuk menghitung solusi analitis $T(x)$ dan laju panas $q$.
-Satu fungsi untuk menjalankan Metode Iteratif Gauss-Seidel. Fungsi ini harus menggunakan parameter numerik yang didefinisikan di bawahN_nodes,epsilon_toleransi, danmax_iterasi) untuk kontrol komputasi. Fungsi ini harus menyimpan data suhu pada iterasi-iterasi kunci (misalnya Iterasi 0, 5, 15, dan hasil akhir) untuk visualisasi konvergensi. - OUTPUT TABEL: Hasilkan Tabel Perbandingan yang mencakup: Posisi (x), Suhu Analitis (T_{analitis}), Suhu Numerik Akhir (T_{numerik}), dan Error Relatif (%) antara kedua solusi.
- OUTPUT GRAFIK: Hasilkan satu grafik (menggunakan
matplotlib) yang memvisualisasikan:
-Kurva Solusi Analitis (garis linier mulus).
-Kurva Solusi Numerik Akhir (titik diskret).
-Kurva dari minimal tiga Iterasi Awal (untuk menunjukkan proses konvergensi Gauss-Seidel).
STEP 1: RUMUSAN PERSAMAAN
Sebutkan secara formal:
-Persamaan Solusi Analitis Linier:T_{analitis}(x) = T_{base} + (T_{tip} – T_{base}){x}/{L}
-Persamaan Nodal Gauss-Seidel (Sederhana):T_i^{k+1} =({T_{i-1}^{k+1} + T_{i+1}^k})/{2}
STEP 2: DATA INPUT KASUS (Harap Ubah Nilai di Bawah Ini)
Ganti teks dalam kurung siku [ ] dengan nilai sesuai kasus yang ingin Anda analisis:
DATA FISIK BATANG:
-Panjang batang (L_batang): [0.20] meter
-Lebar batang (W_batang): [0.10] meter
-Tebal batang (t_batang): [0.003] meter
-Konduktivitas termal (k_batang): [200] W/mยทK
-Suhu pangkal (T_base_batang): [150.0] ยฐC
-Suhu ujung (T_tip_batang): [80.0] ยฐC
**PARAMETER NUMERIK DAN KONTROL ITERASI:
*JUMLAH MAKSIMUM ITERASI (max_iterasi): [50] STEP 3: EKSEKUSI Tuliskan kode Python yang mendefinisikan variabel dari STEP 2 dan gunakan variabel-variabel tersebut untuk menjalankan semua fungsi yang telah didefinisikan di PERINTAH UTAMA, lalu tampilkan semua output (Kode, Tabel, dan Grafik) sesuai instruksi.
Jumlah node diskretisasi (N_nodes): [11]
Toleransi konvergensi Gauss-Seidel (epsilon_toleransi): [1e-4]
5.2 Hasil Kode Phyton
Kode :
import numpy as np
import matplotlib.pyplot as plt
PENJELASAN:
Model ini menggunakan Persamaan Laplace (d^2T/dx^2 = 0) yang menghasilkan distribusi suhu Linier secara analitis.
STEP 2: DATA INPUT KASUS
L_batang = 0.20 # meter
T_base_batang = 150.0 # ยฐC
T_tip_batang = 80.0 # ยฐC
N_nodes = 11
epsilon_toleransi = 1e-4
max_iterasi = 50
Fungsi untuk menghitung solusi analitis
def solusi_analitis(x, T_base, T_tip, L):
“””Menghitung distribusi suhu analitis.”””
return T_base + (T_tip – T_base) * x / L
Fungsi untuk menjalankan metode Gauss-Seidel
def gauss_seidel(L, T_base, T_tip, N, epsilon, max_iter):
“””Menjalankan metode Gauss-Seidel untuk menyelesaikan Persamaan Laplace.”””
x = np.linspace(0, L, N)
T = np.zeros(N)
T[0] = T_base
T[-1] = T_tip
data_iterasi = []
for iterasi in range(max_iter):
T_lama = np.copy(T)
for i in range(1, N - 1):
T[i] = (T[i-1] + T[i+1]) / 2
if np.max(np.abs(T - T_lama)) < epsilon:
break
data_iterasi.append(np.copy(T))
return T, data_iterasi
Menghitung solusi analitis
x = np.linspace(0, L_batang, 100)
T_analitis = solusi_analitis(x, T_base_batang, T_tip_batang, L_batang)
Menjalankan metode Gauss-Seidel
T_numerik, data_iterasi = gauss_seidel(L_batang, T_base_batang, T_tip_batang, N_nodes, epsilon_toleransi, max_iterasi)
STEP 3: OUTPUT TABEL
print(“Tabel Perbandingan:”)
print(“——————————————————————“)
print(“Posisi (x) | Suhu Analitis (T_analitis) | Suhu Numerik Akhir (T_numerik) | Error Relatif (%)”)
print(“——————————————————————“)
for i in range(N_nodes):
x_pos = i * L_batang / (N_nodes – 1)
T_num = T_numerik[i]
T_ana = solusi_analitis(x_pos, T_base_batang, T_tip_batang, L_batang)
error_relatif = abs((T_num – T_ana) / T_ana) * 100
print(f”{x_pos:.2f} | {T_ana:.2f} | {T_num:.2f} | {error_relatif:.2f}”)
print(“——————————————————————“)
STEP 3: OUTPUT GRAFIK
plt.figure(figsize=(10, 6))
plt.plot(x, T_analitis, label=’Solusi Analitis’, color=’blue’)
plt.plot(np.linspace(0, L_batang, N_nodes), T_numerik, ‘o’, label=’Solusi Numerik (Akhir)’, color=’red’)
Menambahkan kurva dari beberapa iterasi awal
if len(data_iterasi) > 0:
plt.plot(np.linspace(0, L_batang, N_nodes), data_iterasi[0], ‘–‘, label=f’Iterasi {0}’)
if len(data_iterasi) > 5:
plt.plot(np.linspace(0, L_batang, N_nodes), data_iterasi[5], ‘–‘, label=f’Iterasi {5}’)
if len(data_iterasi) > 15:
plt.plot(np.linspace(0, L_batang, N_nodes), data_iterasi[15], ‘–‘, label=f’Iterasi {15}’)
plt.xlabel(‘Posisi (x)’)
plt.ylabel(‘Suhu (T)’)
plt.title(‘Distribusi Suhu pada Batang 1D’)
plt.legend()
plt.grid(True)
plt.show()
5.3 Hasil Tabel dan Grafik
- Tabel:

- Grafik:
