OTHeR CHARACTERE


Metode Gauss-Siedle menggunakan Pascal
13 January 2012, 2:01 pm
Filed under: Pemrograman Pascal

Sekedar Sharing buat kawan-kawan yang sedang belajar pascal… (mohon komengnya)

Diketahui persamaan sebagai berikut:

setelah diurutkan menjadi:

Ketentuan untuk mengurutkannya:
1. Persamaan yang memiliki nilai x1 yang tertinggi adalah berada yang paling atas
2. Persamaan yang memiliki nilai x2 yang tertinggi adalah berada di tengah
3. Persamaan yang memiliki nilai x3 yang tertinggi adalah yang paling bawah

Dari yang telah diurutkan ditas kita dapat menyimpukan:
a11=4, a12=-2, a13=-1, b1:=40
a21=-1, a22=6, a23=-2, b2:=28
a31=1, a32=-2, a33:=12, b3:=-86
(pernyataan a11,a12….. di dapat dari buku yang dipelajari)

Berikut Kode-kodenya pada pascal:

Program Metode_gauss_siedle;
Uses crt;
var
cetak:string[15];
i:integer;
ite,tol:real;
a11,a12,a13,a21,a22,a23,a31,a32,a33,b1,b2,b3:real;
p,q,r,x1,x2,x3,er1,er2,er3,pros:real;
BEGIN
clrscr;
TextColor(7);
writeln(‘PROGRAM GAUSS-SIDLE’);
WRITELN(‘==================================================’);
WRITELN;
a11:=4;a12:=-2;a13:=-1;b1:=40;
a21:=-1;a22:=6;a23:=-2;b2:=28;
a31:=1;a32:=-2;a33:=12;b3:=-86;
ite:=20;tol:=0.000000001;
writeln(‘Bentuk Persamaan:’);
writeln(a11:2:0,’x',a12:2:0,’y',a13:2:0,’z=’,b1:2:0);
writeln(a21:2:0,’x+’,a22:2:0,’y',a23:2:0,’z=’,b2:2:0);
writeln(a31:2:0,’x',a32:2:0,’y+’,a33:2:0,’z=’,b3:2:0);
writeln;
writeln(‘TABEL PENYELESAIAN:’);
writeln( ‘i | x1 | x2 | x3 | Ket ‘);
writeln(‘===========================================================’);
x1:=0;
x2:=0;
x3:=0;

repeat
i:=i+1;
p:=x1;
x1:=(b1-(a12*x2)-(a13*x3))/a11;
q:=x2;
x2:=(b2-(a21*x1)-(a23*x3))/a22;
r:=x3;
x3:=(b3-(a31*x1)-(a32*x2))/a33;
if (i=1) then
begin
er1:=1;er2:=1;er3:=1;
end
else
begin
er1:=abs((x1-p)/x1)*1;
er2:=abs((x2-q)/x2)*1;
er3:=abs((x3-r)/x3)*1;
end;
if (i>=ite) or ((er1<tol) and (er2<tol) and (er3<tol)) then
cetak:=’Proses Stop’
else
cetak:=’Proses Lanjut’;
gotoxy(2,11+i);
writeln(i);
gotoxy(8,11+i);
writeln(x1:2:8);
gotoxy(22,11+i);
writeln(x2:2:8);
gotoxy(36,11+i);
writeln(x3:2:8);
gotoxy(50,11+i);
writeln(cetak);

until (cetak=’Proses Stop’);
writeln;
writeln(‘Hasil :’);
write(‘x1 = ‘,x1:2:6);
write(‘ x2 = ‘,x2:2:6);
writeln(‘ x3 = ‘,x3:2:6);
writeln;
writeln(‘Pembuktian Hasil Persamaan’);
writeln(a11:2:0,’[',x1:2:6,']‘,a12:2:0,’[',x2:2:6,']‘,a13:2:0,’[',x3:2:6,']=’,b1:2:0);
writeln(a21:2:0,’[',x1:2:6,']+’,a22:2:0,’[',x2:2:6,']‘,a23:2:0,’[',x3:2:6,']=’,b2:2:0);
writeln(a31:2:0,’[',x1:2:6,']‘,a32:2:0,’[',x2:2:6,']+’,a33:2:0,’[',x3:2:6,']=’,b3:2:0);

readkey;
end.

hasil program:

Untuk mendownload file .pas, .exe dan sebagai hasil perbandingannya .xls silahkan download di sini


Leave a Comment so far
Leave a comment



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s



Follow

Get every new post delivered to your Inbox.