>Metode Bolzano
>Program mencari akar-akar persamaan numerik dengan metode bolzano dalam bahasa Quick Basic, ubahlah fungsi sesuai dengan kebutuhan masing-masing..
CLS
‘METODE BOLZANO
DEF FNF(X) = EXP(X)-4*X
PRINT “MASUKKAN BATAS INTERVAL KIRI A = “: INPUT A
PRINT “MASUKKAN BATAS INTERVAL KANAN B = “: INPUT B
E = .00001
ULANG:
T = (A+B)/2
IF FNF(A)*FNF(T)
Semoga bermanfaat. . .
>Program Lokalisasi Akar
>Program lokalisasi akar adalah program yang digunakan untuk mengklasifikasikan akar-akar pada permasalahan numerik, ubahlah fungsi sesuai dengan kebutuhan masing-masing..
CLS
PRINT “PROGRAM LOKALISASI AKAR”
DEF FNF (X) = EXP(-X)-X
PRINT ” X”,”F(X)”
PRINT “____________”
FOR X = .5669 TO .5679 STEP .0001
PRINT X, FNF(X)
NEXT X
END
Semoga bermanfaat. . .
>Program Galat
>Buat yang lagi belajar metode numerik ini ada coding program perhitungan galat dalam bahasa Quick Basic, program ini masih sangat sederhana silahkan kembangkan untuk mendapatkan hasil yang lebih sempurna
CLS
‘Program Galat
PRINT “Masukkan Nilai a = “:INPUT a
PRINT “Masukkan Nilai a1 = “:INPUT a1
e = a1 – a
PRINT e
e1 = e/a
PEINT e1
end
semoga bermanfaat…
>Menulis pangkat pada pascal
>
Pada artikel ini akan dibahas tentang bagaimana membuat program Pascal untuk menghitung pangkat bilangan.
Seperti yang kita ketahui bahwa dalam Pascal tidak ada suatu function atau perintah tertentu untuk menghitung pangkat bilangan secara langsung. Dengan demikian kita harus membuat function sendiri untuk menghitung pangkat bilangan tersebut.
Dalam pembahasan ini akan dibedakan dua jenis pangkat a^b, yaitu untuk b berupa bilangan bulat non negatif dan a berupa bilangan riil.
Untuk a^b dengan b bilangan bulat non negatif, tentu saja berlaku: a^b = a x a x … x a dengan jumlah perkalian a sebanyak b kali. Apabila untuk kasus pertama ini diimplementasikan dengan program Pascal, maka kasus ini dapat teratasi dengan perulangan. Berikut ini adalah function untuk menghitung pangkat berupa bilangan bulat non negatif dengan Pascal: Jika Anda perhatikan pada function di atas, maka terdapat perintah temp := temp * a; Proses ini dilakukan b kali, dengan nilai awal temp adalah 1. Mengapa demikian? Untuk menjawab ini kita ambil contoh kasus. Sebagai contoh misalkan akan dicari 3^4 (a = 3 dan b = 4). Hasil perpangkatan ini akan diperoleh dari perkalian 3 x 3 x 3 x 3. Berikut ini adalah proses perhitungannya dengan menggunakan algoritma yang diambil dari program di atas: Nah.. dari hasil di atas benar bahwa hasil perhitungan 3^4 = 81. Dengan algoritma ini, bisa diimplementasikan pada sebarang nilai a dan b (a riil dan b bulat non negatif). Selanjutnya bagaimana dengan b yang berbentuk bilangan riil? misalnya 4^1.5? Hmmm… kalau yang ini gak bisa pakai algoritma sebelumnya karena kesulitan mengimplementasikan ke bentuk perulangan. Lantas bagaimana? OK… untuk menjawab ini mari kita ingat kembali pelajaran di SMA mengenai konsep Ln atau Log dan juga eksponen. Sekarang kita gunakan konsep Ln ini ke masalah kita. Dalam hal ini kita akan mencari nilai y = a^b. Perhatikan: y = a^b Dari langkah di atas, kita sudah dapatkan formulasi baru untuk mencari y = a^b dengan b adalah riil. Dalam Pascal telah tersedia function exp() untuk mencari nilai eksponensial, serta function Ln() untuk mencari nilai logaritma bilangan natural. Sehingga implementasinya ke Pascal adalah: Selanjutnya akan kita implementasikan function-function di atas di program Pascal: OK… mudah-mudahan penjelasan di atas dapat bermanfaat.function pangkatBulat(a : real, b : integer) : real;
var i : integer; temp : real;
begin
temp := 1;
for i := 1 to b do
begin
temp := temp * a;
end;
pangkat := temp;
end;temp = 1
perulangan pertama (i = 1)
temp = temp x a = 1 x 3 = 3
perulangan kedua (i = 2)
temp = temp x a = 3 x 3 = 9
perulangan ketiga (i = 3)
temp = temp x a = 9 x 3 = 27
perulangan keempat (i = 4)
temp = temp x a = 27 x 3 = 81
Ln y = Ln (a^b)
Ln y = b Ln(a)
e^(Ln y) = e^(b Ln(a))
y = e^(b Ln(a))function pangkatRiil(a : real, b : real) : real;
begin
pangkatRiil := exp(b * ln(a));
end;Program MencariPangkat;
Var x : real; y : integer; z : real;
function pangkatBulat(a : real, b : integer) : real;
var i : integer; temp : real;
begin
temp := 1;
for i := 1 to b do
begin
temp := temp * a;
end;
pangkat := temp;
end;
function pangkatRiil(a : real, b : real) : real;
begin
pangkatRiil := exp(b * ln(a));
end;
Begin
x := 5;
y := 3;
z := 3.5;
Write(’Nilai ‘,x,’ pangkat ‘,y,’ adalah ‘,
pangkatBulat(x,y):3:0);
Write(’Nilai ‘,x,’ pangkat ‘,z,’ adalah ‘,
pangkatRiil(x,z):3:4);
End.
>Metode Newton Raphson
>Berikut ini adalah coding program mencari akar dengan metode Newton Raphson dengan menggunakan bahasa Turbo Pascal…
PROGRAM NEWTONRAPHSON;
USES CRT;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=EXP(X)-4*X;
END;
FUNCTION G(X:REAL):REAL;
BEGIN
G:=EXP(X)-4;
END;
VAR XL,XB,E,M : REAL;
X : INTEGER;
BEGIN
CLRSCR;
WRITELN(‘PROGRAM METODE NEWTON RAPHSON’);
WRITELN(‘=============================’);
E:=0.0001;
WRITE(‘MASUKKAN X : ‘);READLN(XL);WRITELN;
X:=0;
REPEAT
XB:=XL-(F(XL)/G(XL));
M:= ABS(XL-XB);
XL:=XB;
X:=X+1;
WRITELN (‘ITERASI KE ‘,X,’= ‘,XB:0:8);
UNTIL M
WRITELN;
WRITELN (‘AKARNYA ADALAH = ‘,XB:0:6);
READLN;
END.
Ubahlah fungsi sesuai dengan kebutuhan anda…
Thank’s By Joel
>Metode Secant
>Program mencari akar dengan metode Secant…
PROGRAM SECANT;
USES CRT;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=EXP(X)-4*X;
END;
VAR E,X0,X1,X2,M : REAL;
X :INTEGER;
BEGIN
CLRSCR;
WRITELN(‘PROGRAM METODE SECANT’);
WRITELN(‘=====================’);
E:=0.0001;
WRITE(‘MASUKKAN X0 = ‘);READLN(X0);
WRITE(‘MASUKKAN X1 = ‘);READLN(X1);
WRITELN;
X:=0;
REPEAT
X2:=X1-F(X1)*(X1-X0)/(F(X1)-F(X0));
M:=ABS((X2-X1)/X2);
X0:=X1;
X1:=X2;
X:=X+1;
WRITELN(‘ITERASI KE ‘,X,’= ‘,X2:0:8);
UNTIL M
WRITELN;
WRITELN(‘AKARNYA ADALAH = ‘,X2:0:6);
READLN;
END.
Ubahlah fungsi sesuai dengan kebutuhan…
Thank’s by Joel
>Metode Bolzano
>
Coding Program Mencati akar dengan metode bolzano dalam bahasa turbo pascal…
PROGRAM BOLZANO;
USES CRT;
FUNCTION F(X:REAL):REAL;
BEGIN
F:=EXP(X)-4*X;
END;
VAR X,A,B,E,T : REAL;
BEGIN
CLRSCR;
WRITE(‘MASUKKAN A=’);READLN(A);
WRITE(‘MASUKKAN B=’);READLN(B);
E := 0.0001;
REPEAT
T := (A+B)/2;
IF F(A)*F(T)
writeln;
WRITE (‘Akarnya adalah = ‘,T:0:7);
READLN;
END.