Kamis, 29 Maret 2012

Eliminasi Gauss Pada Aplikasi Konduksi Pada Batang 1 Dimensi

Komputasi teknik merupakan suatu metode numerik untuk menyelesaikan persamaan matematika. Berbagai fenomena alam yang terjadi di sekitar kita tanpa disadari ternyata mampu dituliskan ke dalam persamaan matematika. Konduksi adalah salah satu fenomena alam yang sering terjadi di sekitar kita.

Konduksi adalah suatu fenomena perpindahan panas pada benda padat. Apabila pada suatu ujung batang kita panaskan sehingga memiliki temperatur yang lebih tinggi dari ujung batang yang lainnya, maka secara alamiah panas akan berpindah dari temperatur tinggi menuju temperatur yang lebih rendah.

Ternyata fenomena konduksi tersebut mampu diselesaikan menggunakan metode numerik sehingga kita mampu mengetahui distribusi temperatur di sepanjang batang. Berikut adalah contoh permasalahan yang ingin kita selesaikan

Pada batang terjadi perbedaan temperatur di mana pada titik B, Tb = 500 oC dan pada ujung batang A, Ta = 100 oC. Panjang batang adalah 0.5 m.

Komputasi teknik hanya dapat dilakukan jika persamaan aljabar telah diketahui, dari persoalan di atas diketahui ada 5 persamaan aljabar sebagai berikut :

300 T1 = 100 T2 + 200 Ta
200 T2 = 100 T1 + 100 T3
200 T3 = 100 T2 + 100 T4
200 T4 = 100 T3 + 100 T5
300 T5 = 100 T4 + 200 Tb

Dimana apabila kita atur, maka persamaan-persamaan di atas juga dapat ditulis sebagai berikut :

300 T1 + (-100) T2 + 0 T3 + 0 T4 + 0 T5                             = 200 Ta
(-100) T1 + 200 T2 + (-100) T3 + 0 T4 + 0 T5                      = 0
0 T1 + (-100) T2 + 200 T3 + (-100) T4 + 0 T5                      = 0
0 T1 + 0 T2 + (-100) T3 + 200 T4 + (-100) T5                      = 0
0 T1 + 0 T2 + 0 T3 + (-100) T4 + 300 T5                             = 200 Tb

Dengan metode eliminasi gauss, maka berikut langkah-langkah untuk mencari distribusi temperatur di sepanjang batang :

  1. Buat pivot u sebagai faktor pengali sehingga eliminasi dapat dilakukan
  2. Eliminasi dilakukan sampai baris paling bawah hanya tersisa 2 angka yang bukan nol, yaitu koefisien di depan T5 dan angka di ruas kanan.
  3. Lakukan substitusi balik sehingga nilai T5, T4, T3, T2, dan T1 dapat diselesaikan
Untuk langkah-langkah di visual basic, berikut langkah-langkahnya :

1. Buat userform seperti di bawah ini


2. Buatlah program pada commandbutton sebagai berikut :

Private Sub CommandButton1_Click()

'Menyelesaikan aplikasi CFD menggunakan Eliminasi Gauss
'Arandityo Narutomo 1106107782
'Komputasi Teknik

Dim a11, a12, a13, a14, a15, a16, a21, a22, a23, a24, a25, a26 As Double
Dim a31, a32, a33, a34, a35, a36, a41, a42, a43, a44, a45, a46 As Double
Dim a51, a52, a53, a54, a55, a56, Ta, Tb As Double
Dim u1, u2, u3, u4, u5, u6, u7, u8, u9, u10 As Double
Dim b21, b22, b23, b24, b25, b26, c31, c32, c33, c34, c35, c36 As Double
Dim d41, d42, d43, d44, d45, d46, e51, e52, e53, e54, e55, e56 As Double
Dim f31, f32, f33, f34, f35, f36, g41, g42, g43, g44, g45, g46 As Double
Dim h51, h52, h53, h54, h55, h56, i41, i42, i43, i44, i45, i46 As Double
Dim j51, j52, j53, j54, j55, j56, k51, k52, k53, k54, k55, k56 As Double
Dim T1, T2, T3, T4, T5 As Double


'Mendefinisikan variable

a11 = araa11.Text
a12 = araa12.Text
a13 = araa13.Text
a14 = araa14.Text
a15 = araa15.Text

a21 = arab21.Text
a22 = arab22.Text
a23 = arab23.Text
a24 = arab24.Text
a25 = arab25.Text
a26 = arab26.Text

a31 = arac31.Text
a32 = arac32.Text
a33 = arac33.Text
a34 = arac34.Text
a35 = arac35.Text
a36 = arac36.Text

a41 = arad41.Text
a42 = arad42.Text
a43 = arad43.Text
a44 = arad44.Text
a45 = arad45.Text
a46 = arad46.Text

a51 = arae51.Text
a52 = arae52.Text
a53 = arae53.Text
a54 = arae54.Text
a55 = arae55.Text

Ta = arata.Text
Tb = aratb.Text


'Masukkan Nilai a16

a16 = 200 * Ta

araa16.Caption = a16

'Masukkan Nilai a56

a56 = 200 * Tb

arae56.Caption = a56

'Lakukan Eliminasi Gauss terhadap nilai koefisien T

'Eliminasi Pertama
u1 = a21 / a11
b21 = a21 - (u1 * a11)
b22 = a22 - (u1 * a12)
b23 = a23 - (u1 * a13)
b24 = a24 - (u1 * a14)
b25 = a25 - (u1 * a15)
b26 = a26 - (u1 * a16)

'Eliminasi Kedua
u2 = a31 / a11
c31 = a31 - (u2 * a11)
c32 = a32 - (u2 * a12)
c33 = a33 - (u2 * a13)
c34 = a34 - (u2 * a14)
c35 = a35 - (u2 * a15)
c36 = a36 - (u2 * a16)

'Eliminasi Ketiga
u3 = a41 / a11
d41 = a41 - (u3 * a11)
d42 = a42 - (u3 * a12)
d43 = a43 - (u3 * a13)
d44 = a44 - (u3 * a14)
d45 = a45 - (u3 * a15)
d46 = a46 - (u3 * a16)

'Eliminasi Keempat
u4 = a51 / a11
e51 = a51 - (u4 * a11)
e52 = a52 - (u4 * a12)
e53 = a53 - (u4 * a13)
e54 = a54 - (u4 * a14)
e55 = a55 - (u4 * a15)
e56 = a56 - (u4 * a16)

'Eliminasi Kelima
u5 = c32 / b22
f31 = c31 - (u5 * b21)
f32 = c32 - (u5 * b22)
f33 = c33 - (u5 * b23)
f34 = c34 - (u5 * b24)
f35 = c35 - (u5 * b25)
f36 = c36 - (u5 * b26)

'Eliminasi Keenam
u6 = d42 / b22
g41 = d41 - (u6 * b21)
g42 = d42 - (u6 * b22)
g43 = d43 - (u6 * b23)
g44 = d44 - (u6 * b24)
g45 = d45 - (u6 * b25)
g46 = d46 - (u6 * b26)

'Eliminasi Ketujuh
u7 = e52 / b22
h51 = e51 - (u7 * b21)
h52 = e52 - (u7 * b22)
h53 = e53 - (u7 * b23)
h54 = e54 - (u7 * b24)
h55 = e55 - (u7 * b25)
h56 = e56 - (u7 * b26)

'Eliminasi Kedelapan
u8 = g42 / f33
i41 = g41 - (u8 * f31)
i42 = g42 - (u8 * f32)
i43 = g43 - (u8 * f33)
i44 = g44 - (u8 * f34)
i45 = g45 - (u8 * f35)
i46 = g46 - (u8 * f36)

'Eliminasi Kesembilan
u9 = h53 / f33
j51 = h51 - (u9 * f31)
j52 = h52 - (u9 * f32)
j53 = h53 - (u9 * f33)
j54 = h54 - (u9 * f34)
j55 = h55 - (u9 * f35)
j56 = h56 - (u9 * f36)

'Eliminasi Kesepuluh
u10 = j53 / i44
k51 = j51 - (u10 * i41)
k52 = j52 - (u10 * i42)
k53 = j53 - (u10 * i43)
k54 = j54 - (u10 * i44)
k55 = j55 - (u10 * i45)
k56 = j56 - (u10 * i46)

'Substitusi Balik

T5 = k56 / k55
T4 = (i46 - (i45 * T5)) / i44
T3 = (f36 - ((f35 * T5) + (f34 * T4))) / f33
T2 = (b26 - ((b25 * T5) + (b24 * T4) + (b23 * T3))) / b22
T1 = (a16 - ((a15 * T5) + (a14 * T4) + (a13 * T3) + (a12 * T2))) / a11

'Tampilkan hasil T1, T2, T3, T4, T5
hasilt1.Caption = T1
hasilt2.Caption = T2
hasilt3.Caption = T3
hasilt4.Caption = T4
hasilt5.Caption = T5


End Sub

3. Jalankan program lalu masukkan nilai koefisien di depat nilai T1, T2, T3, T4, T5 dan masukkan nilai Ta dan Tb sehingga berikut hasilnya :



Dari hasil visual basic dapat terlihat distribusi temperatur di sepanjang batang. Semakin menuju ke arah titik A, temperatur semakin menurun dan itu menunjukkan fenomena konduksi terjadi secara alamiah yaitu panas berpindah dari temperatur yang tinggi menuju temperatur yang lebih rendah. Sekarang kita mengetahui bahwa persebaran temperatur adalah sebagai berikut :

Ta = 100 oC
T1 = 109.5 oC
T2 = 128.5 oC
T3 = 147.6 oC
T4 = 166.7 oC
T5 = 333.3 oC
Tb = 500 oC

Dengan menggunakan metode numerik terlihat bahwa permasalahan fisika mampu diselesaikan sehingga kita dapat mengetahui sebaran distribusi temperatur di sepanjang batang.

9 komentar:

  1. kenapa ini hasilnya tidak sama dengan yang dibuku?? dan saya mencoba dengan cara yang sama seperti diatas juga hasilnya jadi aneh, apakah ada penjelasan mengenai hal tersebut?? mungkin bisa membantu masalah saya jg.

    BalasHapus
  2. oh iya yaa berbeda ini dengan code seperti emliminasi 3x3 tp sekarang jadi 5x5. coba ditelusuri codingnya, terkadang jika diinput angka 0 hasilnya jd berbeda. thq

    BalasHapus
  3. Iya nih ragil dan almer saya juga udah coba teliti satu demi satu, tapi hasilnya berbeda sama di buku..Sepertinya ada yang komputer salah melakukan perhitungan akibat salah membaca algoritma..Tapi semoga bisa ketemu salahnya di mana atau ada teman-teman lain yang bisa membantu..

    Salam hangat

    BalasHapus
  4. bang rantot, saya juga kurang jelas, kenapa kadang hasilnya berbeda, namun sy rasa itu karena pengaruh tipe varibel yang digunakan, coba aj ganti tipe variabelnya. saya gunakan sebagai fungsi hasilnya sama persis dengan di buku

    disini nie
    http://bloghasnan.blogspot.com/2012/03/contoh-hasil-persamaan-simultan-gaus.html

    BalasHapus
  5. mantap, ditunggu perbaikannya ya.. terima kasih

    BalasHapus
  6. coba cek lagi konstanta yang digunakan dalam persamaan...

    BalasHapus
  7. Mas Randy, Coba pake syntax deh, Hasilnya beda.,btw nice posting.

    BalasHapus
  8. wah bagus Ran tampilan interfacenya, tiap persamaan ya masuk2in inputnya, jadi lbh mudah.
    nice post ;)

    BalasHapus
  9. Pendekatan sljabar yang unik, Bung Randi.
    Salam.

    BalasHapus