metode newton-cotes tertutup

19
PUTU RUSDI ARIAWAN METODE NEWTON-COTES TERTUTUP ANALISA NUMERIK OLEH : PUTU RUSDI ARIAWAN (0804405050) JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS UDAYANA DENPASAR 2010

Upload: rusdi-ariawan

Post on 10-Apr-2015

352 views

Category:

Documents


2 download

DESCRIPTION

Metode Newton-cotes Tertutup

TRANSCRIPT

Page 1: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

METODE NEWTON-COTES TERTUTUP

ANALISA NUMERIK

OLEH :

PUTU RUSDI ARIAWAN (0804405050)

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK UNIVERSITAS UDAYANA

DENPASAR

2010

Page 2: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

METODE NEWTON-COTES TERTUTUP

A. Rumus Newton Cotes

Rumus trapesium dan Simpson sebetulnya merupakan dua buah rumus pertama dari

rumus Newton Cotes.

Untuk n 1, h =(b – a) /n, xj = a + jh untuk j = 0, 1, 2, 3, …, n. didefinisikan In (f)

dengan mengganti f(x) dengan polynomial pn (x) pada titik – titik x0, x1, …, xn :

b

a

b

a

n dxxpdxxffI )()()(

Dengan interpolasi Lagrange untuk pn(x), maka

b

a

n

j

jnjj

n

j

njn xfxWdxxfxIfI0

,

0

, )()()()()(

Dengan

b

a

njnj dxxIW )(,, j = 0, 1, 2, …,n

Untuk nilai n = 1 dan 2 telah disajikan sebagai rumus trapezium dan Simpson. Sekarang untuk

n = 3, contoh untuk menghitung 0w adalah :

dxxxxxxx

xxxxxxW

b

a))()((

))()((

302010

3210

Jika x = x0 + µh, 0 ≤ µ ≤ 3, maka:

1

0

))()((6

132130

x

x

dxxxxxxxh

w

hhdhhh

w )3()2()1(6

13

0

30

3

0

08

3)3)(2)(1(

6

hd

hw

Page 3: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

Jika W1, W2, W3 dihitung dengan cara diatas, akhirnya akan didapat untuk n = 3

)](3)(3)(3([8

3)( 32103 xfxfxfxf

hfI

Kesalahan pada In(f) dinyatakan sebagai berikut:

a) Untuk n genap :

],[)()( )2(3 bafhCfE nn

nn

Dengan

n

n dnn

C0

2 ))...(1()!2(

1

b) Untuk n gasal :

],[)()( )1(2 bafhCfE nn

nn

Dengan

n

n dnn

C0

2 ))...(1()!1(

1

rumus Newton – Cotes tertutup

n = 1, rumus trapesium

)12

)]()([2

)( ''3

fh

bfafh

dxxf

b

a

n = 2, rumus Simpson

)(90

)]()2

(4)([3

)( )4(3b

a

fh

bfba

fafh

dxxf

n = 3

b

a

fh

bfhbfhaFafh

dxxf )(80

3)]()()(3)([

8

3)( )4(

5

n = 4, Rumus Boole

)(945

8)](7)](32)

2(12)(32)(7[

45

2)( )6(

7b

a

fh

bfhbfba

fhaFafh

dxxf

Definisi : integrasi numeric )(~

fI yang mendekati )(~

fI disebut mempunyai derajat ketepatan

m jika : (a) )()(~

fIfI untuk semua polynomial f(x) derajat m, (b) )()(~

fIfI untuk

beberapa polynomial f(x) derajat.

Contoh:

Page 4: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

Pada rumus Newton.Cotes untuk n = 1,3 dikatakan mempunyai derajat ketepatan m =

1,3. sedangkan untuk n = 2,4 mempunyai derajat ketepatan m = n + 1 = 3,5. tampak bahwa

rumus Newton-Cotes dengan n genap menghasilkan derajat ketepatan ekstra dibandingkan

dengan n gasal.

B. Kode Program

{Integrasi Numeris Dengan Metode Newton & Cotes Tertutup}

Program Integrasi;

Uses WinCrt;

Var

Koef : Array [0..10] of Real;

n, i,i2, i3, Pilih, P, code, j: Integer;

sig, x0, sum, h, a, b, fa, fb, fc, Int : Real;

Trapesium, Simpson, Simpson3, Boole : Real;

ulang :char;

ps, koefs, as, bs, pilihs : string;

Function Pangkat(pkt:Integer;Basis:Real):Real;

var sum1 : real;

Begin

Sum1 := 1;

For i2:=pkt downto 1 do

sum1 := Basis*sum1;

Pangkat := sum1;

end;

Function Suku(koef, Basis:Real; P:integer) : real;

Begin

Suku := koef * Pangkat(P, basis) ;

End;

Procedure delay1;

Var

Wkt : longint;

Begin

For Wkt := 1 to 1250000 do

Write('');

End;

Procedure delay2;

Var

Wkt : longint;

Begin

For Wkt := 1 to 1000000 do

Write('');

End;

procedure judul1;

begin

Page 5: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

GotoXY (29,9);WriteLn (' *');

GotoXY (28,10);WriteLn (' * * *');

GotoXY (27,11);WriteLn (' ');GotoXY (55,11);WriteLn (' ');

GotoXY (24,12);WriteLn (' ');GotoXY (56,12);WriteLn ('* ');

GotoXY (24,13);WriteLn (' *');GotoXY (56,13);WriteLn (' * ');

GotoXY (27,14);WriteLn (' ');GotoXY (55,14);WriteLn (' ');

GotoXY (28,15);WriteLn (' * * ');

GotoXY (29,16);WriteLn (' * * ');

GotoXY (33,12);writeLn ('M E N S');

GotoXY (37,13);writeLn (' ');

delay1;

GotoXY (29,9);WriteLn ('* * * *');

GotoXY (28,10);WriteLn (' * * *');

GotoXY (27,11);WriteLn (' ');GotoXY (55,11);WriteLn (' ');

GotoXY (24,12);WriteLn ('* ');GotoXY (56,12);WriteLn ('* *');

GotoXY (24,13);WriteLn (' * *');GotoXY (56,13);WriteLn (' ** ');

GotoXY (27,14);WriteLn (' *');GotoXY (55,14);WriteLn (' ');

GotoXY (28,15);WriteLn (' * * * * ');

GotoXY (29,16);WriteLn (' * * * * ');

GotoXY (33,12);writeLn ('M O E E N S');

GotoXY (37,13);writeLn ('( )');

delay1;

GotoXY (29,9);WriteLn ('* *** * ** * * *');

GotoXY (28,10);WriteLn (' *** * * *** *');

GotoXY (27,11);WriteLn (' *');GotoXY (55,11);WriteLn (' *');

GotoXY (24,12);WriteLn ('** ');GotoXY (56,12);WriteLn ('* **');

GotoXY (24,13);WriteLn (' ***');GotoXY (56,13);WriteLn (' ** ');

GotoXY (27,14);WriteLn (' *');GotoXY (55,14);WriteLn (' ');

GotoXY (28,15);WriteLn (' * * *** * * * *');

GotoXY (29,16);WriteLn (' * * * * * * ');

GotoXY (33,12);writeLn ('M O E E N ES');

GotoXY (37,13);writeLn ('(T P)');

delay1;

GotoXY (29,9);WriteLn ('* *** ** * ** * ** **');

GotoXY (28,10);WriteLn (' *** *** * ** *** * *');

GotoXY (27,11);WriteLn (' *');GotoXY (55,11);WriteLn (' *');

GotoXY (24,12);WriteLn ('** ');GotoXY (56,12);WriteLn ('* **');

GotoXY (24,13);WriteLn (' ***');GotoXY (56,13);WriteLn (' ** ');

GotoXY (27,14);WriteLn (' *');GotoXY (55,14);WriteLn (' ');

GotoXY (28,15);WriteLn (' * ** * *** ** * * * *');

GotoXY (29,16);WriteLn (' * * * * * * ** * *');

GotoXY (33,12);writeLn ('ME ODE E N ES');

GotoXY (37,13);writeLn ('(TE P)');

delay1;

GotoXY (29,9);WriteLn ('***** *** * *** * ** **');

GotoXY (28,10);WriteLn ('* *** *** ** ** *** ** *');

GotoXY (27,11);WriteLn (' *');GotoXY (55,11);WriteLn (' *');

GotoXY (24,12);WriteLn ('** *');GotoXY (56,12);WriteLn ('****');

GotoXY (24,13);WriteLn (' ***');GotoXY (56,13);WriteLn (' ***');

GotoXY (27,14);WriteLn (' *');GotoXY (55,14);WriteLn (' ');

GotoXY (28,15);WriteLn ('** **** *** ** ** * * *');

GotoXY (29,16);WriteLn ('** * * ** * * ** ****');

GotoXY (33,12);writeLn ('ME ODE E N- OTES');

GotoXY (37,13);writeLn ('(TE T P)');

delay1;

GotoXY (29,9);WriteLn ('********* * *** ** ** **');

GotoXY (28,10);WriteLn ('* **** *** ** ** *** ****');

GotoXY (27,11);WriteLn (' *');GotoXY (55,11);WriteLn ('**');

GotoXY (24,12);WriteLn ('** *');GotoXY (56,12);WriteLn ('****');

GotoXY (24,13);WriteLn (' ***');GotoXY (56,13);WriteLn (' ***');

GotoXY (27,14);WriteLn (' *');GotoXY (55,14);WriteLn (' ');

GotoXY (28,15);WriteLn ('******* *** ** ** ** ** *');

GotoXY (29,16);WriteLn ('** **** ** *** ** ****');

GotoXY (33,12);writeLn ('METODE E ON- OTES');

Page 6: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

GotoXY (37,13);writeLn ('(TE TUP)');

delay1;

GotoXY (29,9);WriteLn ('********* ** ****** *****');

GotoXY (28,10);WriteLn ('****** *** * ** ****** ****');

GotoXY (27,11);WriteLn ('**');GotoXY (55,11);WriteLn ('**');

GotoXY (24,12);WriteLn ('** *');GotoXY (56,12);WriteLn ('****');

GotoXY (24,13);WriteLn ('****');GotoXY (56,13);WriteLn (' ***');

GotoXY (27,14);WriteLn (' *');GotoXY (55,14);WriteLn ('* ');

GotoXY (28,15);WriteLn ('*********** ** ** *******');

GotoXY (29,16);WriteLn ('******* ** **** ** *****');

GotoXY (33,12);writeLn ('METODE NE ON-COTES');

GotoXY (37,13);writeLn ('(TE T TUP)');

delay1;

GotoXY (29,9);WriteLn ('******************* *****');

GotoXY (28,10);WriteLn ('********** * **************');

GotoXY (27,11);WriteLn ('**');GotoXY (55,11);WriteLn ('**');

GotoXY (24,12);WriteLn ('****');GotoXY (56,12);WriteLn ('****');

GotoXY (24,13);WriteLn ('****');GotoXY (56,13);WriteLn ('****');

GotoXY (27,14);WriteLn (' *');GotoXY (55,14);WriteLn ('**');

GotoXY (28,15);WriteLn ('*********** ** ** *******');

GotoXY (29,16);WriteLn ('******* ** ***** ********');

GotoXY (33,12);writeLn ('METODE NEW ON-COTES');

GotoXY (37,13);writeLn ('(TERT TUP)');

delay1;

GotoXY (29,9);WriteLn ('**************************');

GotoXY (28,10);WriteLn ('***************************');

GotoXY (27,11);WriteLn ('**');GotoXY (55,11);WriteLn ('**');

GotoXY (24,12);WriteLn ('****');GotoXY (56,12);WriteLn ('****');

GotoXY (24,13);WriteLn ('****');GotoXY (56,13);WriteLn ('****');

GotoXY (27,14);WriteLn ('**');GotoXY (55,14);WriteLn ('**');

GotoXY (28,15);WriteLn ('*********** ** ** *******');

GotoXY (29,16);WriteLn ('**************** ********');

GotoXY (33,12);writeLn ('METODE NEW ON-COTES');

GotoXY (37,13);writeLn ('(TERT TUP)');

delay1;

GotoXY (29,9);WriteLn ('**************************');

GotoXY (28,10);WriteLn ('***************************');

GotoXY (27,11);WriteLn ('**');GotoXY (55,11);WriteLn ('**');

GotoXY (24,12);WriteLn ('****');GotoXY (56,12);WriteLn ('****');

GotoXY (24,13);WriteLn ('****');GotoXY (56,13);WriteLn ('****');

GotoXY (27,14);WriteLn ('**');GotoXY (55,14);WriteLn ('**');

GotoXY (28,15);WriteLn ('**************************');

GotoXY (29,16);WriteLn ('*************************');

GotoXY (33,12);writeLn ('METODE NEWTON-COTES');

GotoXY (37,13);writeLn ('(TERTUTUP)');

delay1;

GotoXY (29,9);WriteLn ('**************************');

GotoXY (28,10);WriteLn ('****************************');

GotoXY (27,11);WriteLn ('**');GotoXY (55,11);WriteLn ('**');

GotoXY (24,12);WriteLn ('****');GotoXY (56,12);WriteLn ('****');

GotoXY (24,13);WriteLn ('****');GotoXY (56,13);WriteLn ('****');

GotoXY (27,14);WriteLn ('**');GotoXY (55,14);WriteLn ('**');

GotoXY (28,15);WriteLn ('****************************');

GotoXY (29,16);WriteLn ('**************************');

GotoXY (33,12);writeLn ('METODE NEWTON-COTES');

GotoXY (37,13);writeLn ('(TERTUTUP)');

delay1;

END;

procedure judul2;

begin

GotoXY (70,2);writeLn (' OADING');DELAY1;

GotoXY (70,2);writeLn ('L ADING');DELAY1;

GotoXY (70,2);writeLn ('LO DING');DELAY1;

Page 7: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

GotoXY (70,2);writeLn ('LOA ING');DELAY1;

GotoXY (70,2);writeLn ('LOAD NG');DELAY1;

GotoXY (70,2);writeLn ('LOADI G');DELAY1;

GotoXY (70,2);writeLn ('LOADIN ');DELAY1;

GotoXY (70,2);writeLn ('LOADING');DELAY1;

END;

procedure stop;

begin

clrscr;

GotoXY (30,10);WriteLn ('***************************');

GotoXY (29,11);WriteLn ('**');GotoXY (56,11);WriteLn ('**');

GotoXY (25,12);WriteLn ('*****');GotoXY (57,12);WriteLn

('*****');

GotoXY (29,13);WriteLn ('**');GotoXY (56,13);WriteLn ('**');

GotoXY (30,14);WriteLn ('***************************');

GotoXY (38,12);WriteLn ('TERIMA KASIH');

GotoXY (75,2);writeLn ('5');DELAY1;DELAY1;DELAY1;DELAY1;DELAY1;

GotoXY (75,2);writeLn ('4');DELAY1;DELAY1;DELAY1;DELAY1;DELAY1;

GotoXY (75,2);writeLn ('3');DELAY1;DELAY1;DELAY1;DELAY1;DELAY1;

GotoXY (75,2);writeLn ('2');DELAY1;DELAY1;DELAY1;DELAY1;DELAY1;

GotoXY (75,2);writeLn ('1');DELAY1;DELAY1;DELAY1;DELAY1;DELAY1;

GotoXY (75,2);writeLn ('0');DELAY1;DELAY1;DELAY1;DELAY1;DELAY1;

delay2;

clrscr;

GotoXY (30,7);WriteLn ('***************************');

GotoXY (29,11);WriteLn ('**');GotoXY (56,11);WriteLn ('**');

GotoXY (25,12);WriteLn ('*****');GotoXY (57,12);WriteLn

('*****');

GotoXY (29,13);WriteLn ('**');GotoXY (56,13);WriteLn ('**');

GotoXY (30,17);WriteLn ('***************************');

GotoXY (38,12);WriteLn ('TERIMA KASIH');

delay2;

clrscr;

GotoXY (30,4);

WriteLn ('***************************');

GotoXY (20,8);WriteLn ('**');GotoXY (65,8);WriteLn ('**');

GotoXY (25,12);WriteLn ('*****');GotoXY (57,12);WriteLn

('*****');

GotoXY (20,16);WriteLn ('**');GotoXY (65,16);WriteLn ('**');

GotoXY (30,20);WriteLn ('***************************');

GotoXY (38,12);WriteLn ('TERIMA KASIH');

delay2;

clrscr;

GotoXY (11,4);WriteLn ('**');GotoXY (74,4);WriteLn ('**');

GotoXY (16,12);WriteLn ('*****');GotoXY (65,12);WriteLn

('*****');

GotoXY (11,20);WriteLn ('**');GotoXY (74,20);WriteLn ('**');

GotoXY (38,12);WriteLn ('TERIMA KASIH');

delay2;

clrscr;

GotoXY (8,12);WriteLn ('*****');GotoXY (73,12);WriteLn

('*****');

GotoXY (38,12);WriteLn ('TERIMA KASIH');

delay2;

clrscr;

GotoXY (38,12);WriteLn (' ERIMA KASI ');delay2;

GotoXY (38,12);WriteLn (' RIMA KAS ');delay2;

GotoXY (38,12);WriteLn (' IMA KA ');delay2;

GotoXY (38,12);WriteLn (' MA K ');delay2;

GotoXY (38,12);WriteLn (' A ');delay2;

GotoXY (38,12);WriteLn (' ');delay2;

end;

Page 8: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

procedure input1;

begin

val (ps, p, code);

if (code <> 0)then

begin

GotoXY (10,6);

Writeln ('Maaf, Input Harus Berupa Angka');

j := 0;

end

else

if (p < 0) or (p > 5)then

begin

GotoXY (10,6);

writeln(' Masukkan Nilai Dari 0-5');

j := 0;

end

else

j:=1;

end;

procedure input2;

begin

val(koefs,koef[i],code);

if (code <> 0) then

begin

gotoxy (10,6);

writeln('Maaf, Input Harus Berupa Angka ');

j := 0;

end

else

if (koef[i]<-20) or (koef[i] >20) then

begin

gotoxy (10,6);

writeln(' Masukkan nilai harus antara -20 s/d 20');

j := 0;

end

else

j :=1;

end;

procedure input3;

begin

val(as,a,code);

if (code <> 0) then

begin

gotoxy (10,6);

writeln('Maaf, Input Harus Berupa Angka ');

j := 0;

end

else

if (a<0) or (a >5) then

begin

gotoxy (10,6);

writeln(' Masukkan nilai harus antara 0-5');

j := 0;

end

else

j :=1;

end;

procedure input4;

begin

Page 9: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

val(bs,b,code);

if (code <> 0) then

begin

gotoxy (10,6);

writeln('Maaf, Input Harus Berupa Angka ');

j := 0;

end

else

if (b<0) or (b >5) then

begin

gotoxy (10,6);

writeln(' Masukkan nilai harus antara 0-5');

j := 0;

end

else

j :=1;

end;

procedure input5;

begin

val(pilihs,pilih,code);

if (code <> 0) then

begin

gotoxy (10,12);

writeln('Maaf, Input Harus Berupa Pilihan Yang Sudah

Tertera');

j := 0;

end

else

if (pilih<0) or (pilih >4) then

begin

gotoxy (10,12);

writeln('Maaf, Input Harus Berupa Pilihan Yang Sudah

Tertera');

j := 0;

end

else

j :=1;

end;

{program utama}

Begin

judul1;

judul2;judul2;judul2;judul2;judul2;

clrscr;

Repeat

repeat

gotoxy(5,4);

Write('Masukkan Pangkat Tertinggi Dari Persamaan! ');Readln(Ps);

clrscr;

input1;

until j = 1;

For i:= P Downto 0 do

begin

repeat

gotoxy (5,4);

Write ('Masukkan Pangkat Ke-',i,' : ');

Page 10: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

Readln(Koefs);

clrscr;

input2;

until j = 1;

end;

repeat

gotoxy (5,4);

Write('Batas Awal Integral (a) : ');Readln(as);

clrscr;

input3;

until j =1;

repeat

gotoxy (5,4);

Write('Batas Akhir Integral (b) : ');Readln(bs);

clrscr;

input4;

until j =1;

repeat

gotoxy (5,4);

Writeln ('Pilih penyelesaian Dengan Metode Berikut :(n)');

gotoxy (5,5);

Writeln ('1. Metoda Trapesium');

gotoxy (5,6);

Writeln ('2. Metoda 1/3 Simpson');

gotoxy (5,7);

Writeln ('3. Metoda 3/8 Simpson');

gotoxy (5,8);

Writeln ('4. Metoda Boole');

gotoxy (5,10);

Write ('PILIHAN ANDA : ');

Readln (Pilihs);

clrscr;

input5;

until j=1;

{PROSES !!!!!!!!!}

fa := 0;

fb := 0;

For i := P downto 1 do

begin

fa := Suku(Koef[i], a, i) + fa;

fb := Suku(Koef[i], b, i) + fb;

end;

fa := fa + koef[0];

fb := fb + koef[0];

Int := fa + fb;

{Metode Trapesium}

If Pilih = 1 Then

Begin

h := (b-a);

n := 1;

sig := 0;

x0 := 0;

For i :=1 to n-1 do

begin

x0 := x0 + h;

Page 11: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

if i mod 3 =1 then

begin

fa := 0;

for i3 := P downto 1 do

fa := Suku(Koef[i3], x0, i3) + fa;

fa := fa+koef[0];

sig := sig + fa;

end;

end;

Trapesium := h/2 * (Int+sig);

writeln;writeln;writeln;writeln;

writeln(' PANGKAT TERTINGGI PERSAMAAN : ',P);WRITELN;

For i:= P Downto 0 do

Writeln(' KOEFISIEN PANGKAT KE-',i,' : ',Koef[I]

:0:2);WRITELN;

Writeln(' BATAS AWAL INTEGRAL (a) : ',a:0:2);WRITELN;

Writeln(' BATAS AKHIR INTEGRAL (b) : ',b:0:2);WRITELN;

Writeln(' PILIHAN KE : ',pilih);WRITELN;

Writeln(' DENGAN METODE TRAPESIUM (N = 1)');

WRITELN(' MENGHASILKAN : ',Trapesium:0:2);

end;

{metode 1/3 Simpson}

If Pilih = 2 Then

Begin

h := (b-a)/2;

n := 2;

x0 := 0;

sig := 0;

for i:= 1 to n-1 do

Begin

x0 := x0 +h;

If i mod 2 =1 then

begin

fa := 0;

for i3 := P downto 1 do

fa := Suku(Koef[i3], x0, i3) + fa;

fa := fa+koef[0];

sig := sig + 4*fa;

end

else

begin

fa := 0;

for i3 := P downto 1 do

fa := Suku(Koef[i3], x0, i3) + fa;

fa := fa+koef[0];

sig := sig + 2*fa;

end;

end;

Simpson := h/3 * (Int + Sig);

writeln;writeln;writeln;writeln;

writeln(' PANGKAT TERTINGGI PERSAMAAN : ',P);WRITELN;

For i:= P Downto 0 do

Writeln(' KOEFISIEN PANGKAT KE-',i,' : ',Koef[I]

:0:2);WRITELN;

Writeln(' BATAS AWAL INTEGRAL (a) : ',a:0:2);WRITELN;

Page 12: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

Writeln(' BATAS AKHIR INTEGRAL (b) : ',b:0:2);WRITELN;

Writeln(' PILIHAN KE : ',pilih);WRITELN;

Writeln(' DENGAN METODE 1/3 SIMPSON (N = 2)');

WRITELN(' MENGHASILKAN : ',Simpson:0:2);

end;

{metode 3/8 simpson}

If Pilih = 3 Then

Begin

h := (b-a)/3;

n := 3;

sig := 0;

x0 := 0;

for i:= 1 to n-1 do

Begin

x0 := x0 +h;

If i mod 3 =1 then

begin

fa := 0;

for i3 := P downto 1 do

fa := Suku(Koef[i3], x0, i3) + fa;

fa := fa+koef[0];

sig := sig + 2*fa;

end

else

begin

fa := 0;

for i3 := P downto 1 do

fa := Suku(Koef[i3], x0, i3) + fa;

fa := fa+koef[0];

sig := sig + 3*fa;

end;

end;

Simpson3 := (Int + Sig) * h * 3/8;

writeln;writeln;writeln;writeln;

writeln(' PANGKAT TERTINGGI PERSAMAAN : ',P);WRITELN;

For i:= P Downto 0 do

Writeln(' KOEFISIEN PANGKAT KE-',i,' : ',Koef[I]

:0:2);WRITELN;

Writeln(' BATAS AWAL INTEGRAL (a) : ',a:0:2);WRITELN;

Writeln(' BATAS AKHIR INTEGRAL (b) : ',b:0:2);WRITELN;

Writeln(' PILIHAN KE : ',pilih);WRITELN;

Writeln(' DENGAN METODE 3/8 SIMPSON (N = 3)');

WRITELN(' MENGHASILKAN : ',Simpson:0:2);

end;

{metode boole}

If Pilih = 4 Then

Begin

h := (b-a)/4;

n := 4;

sig := 0;

x0 := 0;

for i:= 1 to n-1 do

Begin

x0 := x0 +h;

Page 13: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

If i mod 2 =1 then

begin

fa := 0;

for i3 := P downto 1 do

fa := Suku(Koef[i3], x0, i3) + fa;

fa := fa+koef[0];

sig := sig + 32*fa;

end

else

begin

fa := 0;

for i3 := P downto 1 do

fa := Suku(Koef[i3], x0, i3) + fa;

fa := fa+koef[0];

sig := sig + 12*fa;

end;

end;

Boole := (7 * Int + sig) * h * 2/45;

writeln;writeln;writeln;writeln;

writeln(' PANGKAT TERTINGGI PERSAMAAN : ',P);WRITELN;

For i:= P Downto 0 do

Writeln(' KOEFISIEN PANGKAT KE-',i,' : ',Koef[I]

:0:2);WRITELN;

Writeln(' BATAS AWAL INTEGRAL (a) : ',a:0:2);WRITELN;

Writeln(' BATAS AKHIR INTEGRAL (b) : ',b:0:2);WRITELN;

Writeln(' PILIHAN KE : ',pilih);WRITELN;

Writeln(' DENGAN METODE BOOLE (N = 4)');

WRITELN(' MENGHASILKAN : ',boole:0:2);

end;

writeln;writeln;

Write(' ANDA INGIN MENGULANG (Y/T) ? ');

ULANG := readkey;

clrscr;

Until upcase (ULANG) <>'Y';

stop;

DoneWinCrt;

End.

C. Kegunaan Fungsi dan Prosedur Dalam Program

1. Fungsi pangkat

Function Pangkat(pkt:Integer;Basis:Real):Real;

var sum1 : real;

Begin

Sum1 := 1;

For i2:=pkt downto 1 do

sum1 := Basis*sum1;

Pangkat := sum1;

end;

Page 14: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

Fungsi ini digunakan untuk menentukan pangkat dan perhitungan pangkat yang akan

diinputkan ke dalam program, mulai dari pangkat tertingi hingga terendah. Fungsi ini akan

dipanggil pada Fungsi suku.

2. Fungsi suku

Function Suku(koef, Basis:Real; P:integer) : real;

Begin

Suku := koef * Pangkat(P, basis) ;

End;

Fungsi ini digunakan untuk menentukan besar koefisien dan perhitungannya dari masing –

masing pangkat dalam suatu persamaan yang telah diinputkan. Fungsi ini akan dipanggil

pada program utama

3. Procedure

Pada program diatas terdapat beberapa procedure yaitu :

Procedure delay1 dan delay2

Kedua procedure ini digunakan untuk menyisipkan waktu jeda pada program.

Procedure ini digunakan pada procedure judul1 dan judul2 untuk memberikan jeda

waktu pada procedure tersebut.

Procedure judul1 dan procedure judul2

Kedua procedure diatas digunakan untuk membuat tampilan pembuka awal

program. Procedure ini akan dipanggil pada awal dari program utama.

Procedure stop

Procedure ini digunakan untuk memberikan tampilan penutup pada akhir

program. Procedure ini akan dipanggil pada akhir dari program utama.

Procedure input1 sampai Procedure input5

Procedure ini digunakan untuk memberikan batasan kepada penguna program

agar tidak salah di dalam memasukkan nilai - nilai input pada saat program

dijalankan. Procedure ini dipanggil pada program utama.

Page 15: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

D. Running Program

Sebelum menjalankan program, kita harus menyiapkan persamaan yang akan

dikerjakan. Misalkan saja persamaan itu sebagai berikut :

X3

+ 3X2

+ 5X - 10 = 0

Pada saat program dijalankan sebelum pemasukkan nilai program akan menampilkan gambar

sebagai berikut :

Proses pemasukkan datanya yaitu sebagai berikut ini :

1. Tentukan besar pangkat tertinggi dari persamaan diatas, kemudian masukkan ke dalam

program. Pada persamaan diatas pangkat tertinggi adalah 3 maka kita harus

memasukkan angka 3, seperti dibawah ini :

Page 16: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

2. Masukkan besar koefisien dari persamaan diatas dimulai dari pangkat terbesar hingga

pangkat terkecil secara berurutan. Seperti terlihat dibawah ini :

3. Kemudian masukkan batas awal integral dari persamaan tersebut. Misalkan saja batas

awalnya adalah 1 yang seperti terlihat pada gambar dibawah ini :

4. Masukkan batas akhir integral dari persamaan tersebut. Misalkan saja batas akhirnya

adalah 2 yang seperti terlihat pada gambar dibawah ini :

Page 17: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

5. Kemudian pilihlah metode yang akan digunakan untuk menyelesaikan persamaan

tersebut. Misalnya dengan metode Trapesium, kemudian pilih nomor urutan dari

metode Trapesium tersebut. Seperti terlihat pada gambar dibawah ini :

6. Jika pengguna ingin mengulang lagi mengunakan program diatas dapat langsung

menekan huruf “Y” dan bila tidak dapat langsung menekan huruf “T” dan keluar dari

program. Hasilnya langsung di dapat seperti pada gambar di bawah ini :

Page 18: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

E. User Interface

Dalam program ini apabila pengguna tanpa sengaja memasukkan nilai input berupa

huruf atau karakter, program akan menampilkan pesan bahwa input yang dimasukkan harus

berupa angka dan program meminta penginputan nilai kembali yang benar, seperti pada

contoh di bawah ini :

Dan apabila pengguna memasukkan nilai yang menurut program diluar dari batasan

nilai yang telah diseting sebelumnya oleh pembuat program maka program akan

menampilkan beberapa pesan berbeda yang mengharuskan pengguna memasukkan nilai

sesuai dengan pesan tersebut dan program meminta penginputan nilai kembali yang benar.

Salah satu contohnya seperti dibawah ini :

Page 19: Metode Newton-cotes Tertutup

PUTU RUSDI ARIAWAN

BIODATA PENULIS

Nama : Putu Rusdi Ariawan

TTL : Denpasar. 19 April 1990

Agama : Hindu

Mahasiswa Teknik Elektro Unv. Udayana

Email : [email protected]

www.facebook.com/turusdi