Apabila kita harus meneyelesaikan lebih dari satu persamaan linear, maka kita dapat menggunakan berbagai macam cara. Kita bisa menggunakan substitusi maupun menggunakan eliminasi. Untuk kasus ini, kita akan menyelesaikan himpunan penyelesaian dari 3 buah persamaan linear menggunakan visual basic setelah pada posting sebelumnya diselesaikan menggunakan microsoft excel.
Misalkan ada persamaan sebagai berikut :
a11. x1 + a12. x2 + a13. x3 = a14 ...........................(1)
a21. x1 + a22. x2 + a23. x3 = a24 ...........................(2)
a31. x1 + a32. x2 + a33. x3 = a34 ...........................(3)
maka untuk mencari nilai x1, x2, dan x3 dapat diselesaikan dengan metode eliminasi Gauss sebagai berikut :
Tentukan nilai U1 = a21/a11 maka :
i j
2 1 a21 = a21 - U1. a11 = 0
2 2 a22 = a22 - U1. a12
2 3 a23 = a23 - U1. a13
2 4 a24 = a24 - U1. a14
kemudian tentukan nilai U2 = a31/a11
i j
3 1 a31 = a31 - U2. a11 = 0
3 2 a32 = a32 - U2. a12
3 3 a33 = a33 - U2. a13
3 4 a34 = a34 - U2. a14
Persamaan kemudian menjadi :
a11. x1 + a12. x2 + a13. x3 = a14 ...........................(1.1)
a22. x2 + a23. x3 = a24 ...........................(2.1)
a32. x2 + a33. x3 = a34 ...........................(3.1)
Untuk eliminasi x2 dari persamaan 3.1 maka berikut adalah langkah-langkahnya :
Tentukan U3 = a32/a22
i j
3 2 a32 = a32 - U3. a22
3 3 a33 = a33 - U3. a23
3 4 a34 = a34 - U4. a24
Sehingga persamaan sekarang menjadi :
a11. x1 + a12. x2 + a13. x3 = a14 ...........................(1.2)
a22. x2 + a23. x3 = a24 ...........................(2.2)
a33. x3 = a34 ...........................(3.3)
Maka untuk mendapatkan nilai x1, x2, dan x3 adalah :
x1 = a34/a33
x2 = (a24 - (a23. x3)) / a22
x3 = (a14 - (a12. x2 + a13. x3)) / a11
Berikut adalah langkah di visual basic jika persamaan adalah :
2 x1 + 3 x2 + 5 x3 = 23 ......................................... (1)
3 x1 + 4 x2 + x3 = 14 .............................................(2)
6 x1 + 7 x2 + 2 x3 = 26 ..........................................(3)
1. Membuat Userform
2. Kemudian tulis program pada commandbutton seperti di bawah ini :
Private Sub CommandButton1_Click()
'Metode Eliminasi Gauss 3 Buah Persamaan
Dim a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33,
a34 As Integer
Dim b21, b22, b23, b24, c31, c32, c33, c34, d31, d32, d33,
d34 As Integer
Dim u1, u2, u3, x1, x2, x3 As Integer
'Definisikan Variable
a11 = ara11.Text
a12 = ara12.Text
a13 = ara13.Text
a14 = ara14.Text
a21 = ara21.Text
a22 = ara22.Text
a23 = ara23.Text
a24 = ara24.Text
a31 = ara31.Text
a32 = ara32.Text
a33 = ara33.Text
a34 = ara34.Text
'Mencari Nilai x1, x2, x3
'Eliminasi pertama
u1 = a21 / a11
b21 = a21 - (u1 * a11)
b22 = a22 - (u1 * a12)
b23 = a23 - (u1 * a13)
b24 = a24 - (u1 * a14)
'Eliminasi kedua
u2 = a31 / a11
c31 = a31 - (u2 * a11)
c32 = a32 - (u2 * a12)
c33 = a33 - (u2 * a13)
c34 = a34 - (u2 * a14)
'Eliminasi ketiga
u3 = c32 / b22
d31 = c31 - (u3 * b21)
d32 = c32 - (u3 * b22)
d33 = c33 - (u3 * b23)
d34 = c34 - (u3 * b24)
x3 = d34 / d33
x2 = (b24 - (b23 * x3)) / b22
x1 = (a14 - (a13 * x3) - (a12 * x2)) / a11
hasilx1.Caption = x1
hasilx2.Caption = x2
hasilx3.Caption = x3
End Sub
3. Hasil setelah program di jalankan adalah
Himpunan penyelesaian dari persamaan-persamaan tersebut adalah X1 = 1; X2 = 2 ; X3 = 3
alow bang rantot, sudha berhasil nie, apa kuncinya? kok kemarin hasilnya masih kacau?
BalasHapusIya nih mas, kemerin itu ada kesalahan pada rumus U3, harusnya kan U3 = c32 / b22, tapi kemaren itu saya nulisnya U3 = a32/b22, makanya kemaren ngaco hasilnya..Emang butuh ketelitian nih bang kalo eliminasi gauss..
HapusSalam hangat
saran nih mas rantot.. biar pas ngeliat designya gak bingung.. disusun tiap baris persamaannya..
BalasHapusterima kasih..
Iya sama sama ya mas gerry, semoga bermanfaat..
Hapussalam hangat
Mas Rantot, mau nanya neyh, apa alasan Mas Rantot menggunakan tipe data intejer ketimbang menggunkan tipe double??
BalasHapusterima kasih..
Pemakaian double atau integer hampir sama, hanya ada di perbedaan ketelitian saja. Untuk Integer ketelitiannya 2 byte,dan memiliki jangkauan = -32.768 s.d 32.767. Kalau double memiliki ketelitian 8 byte serta memiliki jangkauan = -1.79769313486232 E+308 s.d -4.94065645841247 E-324 untuk bilangan negatif dan 4.94065645841247 E-324 s.d 1.79769313486232 E+308 untuk bilangan positif..
HapusBahasa pemograman sangat mudah dibuat dan digunakan jika mengerti akan konsep pemikirannya..Lanjutkan Bro
BalasHapusWah iya sama sama mas eko..semoga dapat membantu..
Hapussalam hangat
wah Randy akhirnya berhasil yaa. jadi bagaimana Ran, kemarin itu kesalahan ada dimana? kan bisa dijadikan pegangan ketika sewaktu-waktu saya salah ;)
BalasHapusTerima Kasih
Mantap bung, penjelasannya sangat jelas dan membantu buat newbie kyk ane, keep posting yaa...
BalasHapusBang rantot udah coba yang metode listbox?jika sudah, berikan komparasi dong,hehehe
BalasHapussalam hangat, Maulana Farhan
Salam hangat..saya baru ada tugas
BalasHapusSoalnya
7x1 8x2 -9x3 = 28
-x1 9x2 -7x3 = 8
-3x1 3x2 1x3 = -2
Sistem 3 variabel dengan 3 metode..yaitu substitusi.eleminasi dan gaus