Anda di halaman 1dari 64

Latihan Studi Kasus

Disusun untuk :
Memenuhi Tugas mata kuliah
Metode Numerik

Disusun oleh Kelompok V

EKKY APRIANSYAH
03121404042
JAYA KUSUMA
031214040
AHMAD FADIL H
03121404046
ABDUL HAFIZ EKO P
0312140404
FADLY HIDAYAT
031214040
M. KEMAS IRFAN SIRAJUDIN
031214040
JOSEPH KRISTIANTO
031214040
VICTOR BURNADI
031214040
AGUNG ADITYA PUTRA
03121404060
RM RIZKI NUGRAHA
03121404062

DOSEN PENGASUH :

Ir. Antonius Hamdadi, Msc

JURUSAN TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS SRIWIJAYA
STUDI KASUS

Dalam setiap soal studi kasus No. 1 4 . Digunakan Piranti Lunak TURBO
PASCAL Version 7.1.
1. Gunakan piranti lunak anda sendiri ulangi komputasi dari studi kasus dengan
cara metoda :
a. Bagi dua
b. Posisi palsu
c. Secant
2. Lakukan komputasi serupa dalam studi kasus, tetapi dianggap bahwa muatan
yang harga disipasikan sampai 2 % dari harga aslinya dalam 0,04 detik (q/q 0 =
0,02)
3. Lakukan komputasi yang serupa dalam studi kasus, tetapi tentukan waktu
yang dibutuhkan lagi rangkaian agar terdisipasi dalam 10 % dari harga
aslinya, bisa diberikan R = 300 .
C = 10-4 Farad
L=4H
4. Lakukan komputasi yang serupa dalam studi kasus, tetapi tentukan harga L
yang dibutuhkan bagi rangkaian agar terdisipasi sampai 1 % dari harga
aslinya, bila diberikan t = 0,05 detik. R = 300 dan C = 10-4 Farad.
5. Sebuah arus osilasi dalam suatu rangkaian listrik diberikan oleh :
I = 10.e-t.sin (2t), t dalam detik.
Tentukan semua harga t sedemikian agar I = 2 dengan metode N-R.
6. Diketahui suatu fungsi kecepatan penerjun payung dengan persamaan sebagai
berikut :
v t

g.M
. 1 e
C

C
.t
M

. . . (*)

dimana :
M = Massa (Gram)
g = Gravitasi (980 cm/detik)
C = Koefisien tahanan (g/detik)
t = Waktu (Detik)
Bila M = 68.100 gram
C = 12.500 gram/detik
Dalam keadaan diam t = 0, v = 0
Hitung kecepatan tersebut mulai dari t = 0 sampai t = 16 dt dengan t = 2
detik.
7. Dari persamaan (*) dapat ditulis :

g.M
f C
. 1 e
C

C
.t
M

v0

Harga C yang membentuk f(C) = 0 merupakan akar persamaan tersebut. Bila


MM = 68.100 gram, g = 980 cm/dt2.
v = 4.749 cm/detik dalam waktu 12 detik.

Hitung konstanta c.
1. Metode :
a. Bagi dua
Listing :
Program BagiDua;
Uses crt, dos;
Var
a, b, x, fa, fb, fx, Syarat, akar, fakar, Kondisi, Selang, R,
L, C, t, disipasi : Real;
Iterasi : Integer;
Keluaran : Text;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Begin

ClrScr;
Assign (Keluaran, 'Bagidua1.txt');
ReWrite (Keluaran);
WriteLn (Keluaran,'Pencarian akar dengan Metode Bagi dua
untuk fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(R) = e
. Cos \/ --- - (---) .t - ');
WriteLn (Keluaran,'
L.C
2.L
q0
');
{
Input nilai
}
Repeat
ClrScr;
WriteLn (Keluaran,'Selang / range yang akan dicari
akarnya');
WriteLn (Keluaran,'syarat f(a)*f(b) < 0');
WriteLn (Keluaran,'Dari
a = ');
ReadLn (a);
WriteLn (Keluaran,'sampai b = ');
ReadLn (b);
WriteLn (Keluaran,'Nilai induktor (L) = ');
ReadLn (L);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');

ReadLn (C);
WriteLn (Keluaran,'Waktu (t) = ');
ReadLn (t);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
Syarat := fungsi(a, L, C, t, disipasi)*fungsi(b, L, C,
t, disipasi);
If (Syarat > 0) then
Begin
WriteLn (Keluaran,'Tidak ada akar pada selang
ini');
WriteLn (Keluaran,'input kembali selang yang
sesuai');
ReadKey;
End;
Until (Syarat < 0);
{
Proses iterasi berulang sampai selang telah cukup sempit
b - a <= Epsilon
}
Repeat
Iterasi := Iterasi + 1;
fa
:= Fungsi(a, L, C, t, disipasi);
fb
:= Fungsi(b, L, C, t, disipasi);
x
:= ((a + b) / 2);
fx
:= Fungsi(x, L, C, t, disipasi);
kondisi := fa*fx;
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',Iterasi);
WriteLn (Keluaran,'a
= ',a:10:7);
WriteLn (Keluaran,'f(a) = ',fa);
WriteLn (Keluaran,'b
= ',b:10:7);
WriteLn (Keluaran,'f(b) = ',fb);
WriteLn (Keluaran,'x
= (a+b)/2 = ',x:10:7);
WriteLn (Keluaran,'f(x) = ',fx:10:7);
{
Memberikan tiga kondisi pemilihan jika :
1. f(a).f(x) < 0 maka tetapkan b = x
2. f(a).f(x) = 0 maka tetapkan akar = x
3. f(a).f(x) > 0 maka tetapkan a = x
}
If (Kondisi < 0) then
Begin
b := x;
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' < 0');
WriteLn (Keluaran,'nilai b=x = ',x:10:7);
End;
If (Kondisi = 0) then
Begin
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' = 0');
Akar := x;
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
End;
If (Kondisi > 0) then
Begin

a := x;
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' > 0');
WriteLn (Keluaran,'nilai a=x = ',x:10:7);

End;
Selang := b - a;
WriteLn (Keluaran,'Selang pada iterasi ke-',iterasi,'
adalah = ',Selang:11:7);
Until (Selang <= Epsilon);
Akar := x;
fakar := fungsi(x, L, C, t, disipasi);
WriteLn (Keluaran,'Sebab Selang (b-a) = ',Selang,' < Epsilon
maka');
WriteLn (Keluaran);
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
Close(Keluaran);
End.

Output :

Pencarian akar dengan Metode Bagi dua untuk fungsi :


R.t
- --_____________
2.L
_ / 1
R 2
q
f(R) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
syarat f(a)*f(b) < 0
Dari
a = 0
sampai b = 400
Nilai induktor (L) = 5
Nilai kapasitor (C) = 0.0001
Waktu (t) = 0.05
disipasi (q/q0) = 0.01

Iterasi ke-1
a
= 0.0000000
f(a) = -6.2727287646E-01
b
= 400.0000000
f(b) = 6.3121965598E-02
x
= (a+b)/2 = 200.0000000
f(x) = -0.1630919
f(a).f(x) = 1.0230310371E-01 > 0
nilai a=x = 200.0000000
Selang pada iterasi ke-1 adalah = 200.0000000

Iterasi ke-2
a
= 200.0000000
f(a) = -1.6309186568E-01
b
= 400.0000000
f(b) = 6.3121965598E-02
x
= (a+b)/2 = 300.0000000
f(x) = -0.0295026
f(a).f(x) = 4.8116270430E-03 > 0
nilai a=x = 300.0000000
Selang pada iterasi ke-2 adalah = 100.0000000

Iterasi ke-3

a
= 300.0000000
f(a) = -2.9502556875E-02
b
= 400.0000000
f(b) = 6.3121965598E-02
x
= (a+b)/2 = 350.0000000
f(x) = 0.0209149
f(a).f(x) = -6.1704416154E-04 < 0
nilai b=x = 350.0000000
Selang pada iterasi ke-3 adalah = 50.0000000

Iterasi ke-4
a
= 300.0000000
f(a) = -2.9502556875E-02
b
= 350.0000000
f(b) = 2.0914938463E-02
x
= (a+b)/2 = 325.0000000
f(x) = -0.0031546
f(a).f(x) = 9.3069954769E-05 > 0
nilai a=x = 325.0000000
Selang pada iterasi ke-4 adalah = 25.0000000

Iterasi ke-5
a
= 325.0000000
f(a) = -3.1546402965E-03
b
= 350.0000000
f(b) = 2.0914938463E-02
x
= (a+b)/2 = 337.5000000
f(x) = 0.0091500
f(a).f(x) = -2.8864824400E-05 < 0
nilai b=x = 337.5000000
Selang pada iterasi ke-5 adalah = 12.5000000

Iterasi ke-6
a
= 325.0000000
f(a) = -3.1546402965E-03
b
= 337.5000000
f(b) = 9.1499574236E-03
x
= (a+b)/2 = 331.2500000
f(x) = 0.0030669
f(a).f(x) = -9.6750539955E-06 < 0
nilai b=x = 331.2500000
Selang pada iterasi ke-6 adalah =
6.2500000

Iterasi ke-7
a
= 325.0000000
f(a) = -3.1546402965E-03
b
= 331.2500000
f(b) = 3.0669277908E-03
x
= (a+b)/2 = 328.1250000
f(x) = -0.0000263
f(a).f(x) = 8.2988939863E-08 > 0
nilai a=x = 328.1250000
Selang pada iterasi ke-7 adalah =
3.1250000

Iterasi ke-8
a
= 328.1250000

f(a) = -2.6306942175E-05
b
= 331.2500000
f(b) = 3.0669277908E-03
x
= (a+b)/2 = 329.6875000
f(x) = 0.0015247
f(a).f(x) = -4.0109366946E-08 < 0
nilai b=x = 329.6875000
Selang pada iterasi ke-8 adalah =
1.5625000

Iterasi ke-9
a
= 328.1250000
f(a) = -2.6306942175E-05
b
= 329.6875000
f(b) = 1.5246685335E-03
x
= (a+b)/2 = 328.9062500
f(x) = 0.0007503
f(a).f(x) = -1.9737413730E-08 < 0
nilai b=x = 328.9062500
Selang pada iterasi ke-9 adalah =
0.7812500

Iterasi ke-10
a
= 328.1250000
f(a) = -2.6306942175E-05
b
= 328.9062500
f(b) = 7.5027396186E-04
x
= (a+b)/2 = 328.5156250
f(x) = 0.0003623
f(a).f(x) = -9.5298807245E-09 < 0
nilai b=x = 328.5156250
Selang pada iterasi ke-10 adalah =
0.3906250

Iterasi ke-11
a
= 328.1250000
f(a) = -2.6306942175E-05
b
= 328.5156250
f(b) = 3.6225725746E-04
x
= (a+b)/2 = 328.3203125
f(x) = 0.0001680
f(a).f(x) = -4.4207146269E-09 < 0
nilai b=x = 328.3203125
Selang pada iterasi ke-11 adalah =
0.1953125

Iterasi ke-12
a
= 328.1250000
f(a) = -2.6306942175E-05
b
= 328.3203125
f(b) = 1.6804365166E-04
x
= (a+b)/2 = 328.2226563
f(x) = 0.0000709
f(a).f(x) = -1.8647803677E-09 < 0
nilai b=x = 328.2226563
Selang pada iterasi ke-12 adalah =
0.0976563

Iterasi ke-13
a
= 328.1250000
f(a) = -2.6306942175E-05

b
= 328.2226563
f(b) = 7.0885485485E-05
x
= (a+b)/2 = 328.1738281
f(x) = 0.0000223
f(a).f(x) = -5.8647526988E-10 < 0
nilai b=x = 328.1738281
Selang pada iterasi ke-13 adalah =
0.0488281

Iterasi ke-14
a
= 328.1250000
f(a) = -2.6306942175E-05
b
= 328.1738281
f(b) = 2.2293555290E-05
x
= (a+b)/2 = 328.1494141
f(x) = -0.0000020
f(a).f(x) = 5.2761788545E-11 > 0
nilai a=x = 328.1494141
Selang pada iterasi ke-14 adalah =
0.0244141

Iterasi ke-15
a
= 328.1494141
f(a) = -2.0056222496E-06
b
= 328.1738281
f(b) = 2.2293555290E-05
x
= (a+b)/2 = 328.1616211
f(x) = 0.0000101
f(a).f(x) = -2.0345501922E-11 < 0
nilai b=x = 328.1616211
Selang pada iterasi ke-15 adalah =
0.0122070

Iterasi ke-16
a
= 328.1494141
f(a) = -2.0056222496E-06
b
= 328.1616211
f(b) = 1.0144234253E-05
x
= (a+b)/2 = 328.1555176
f(x) = 0.0000041
f(a).f(x) = -8.1616253557E-12 < 0
nilai b=x = 328.1555176
Selang pada iterasi ke-16 adalah =
0.0061035

Iterasi ke-17
a
= 328.1494141
f(a) = -2.0056222496E-06
b
= 328.1555176
f(b) = 4.0693731620E-06
x
= (a+b)/2 = 328.1524658
f(x) = 0.0000010
f(a).f(x) = -2.0695854071E-12 < 0
nilai b=x = 328.1524658
Selang pada iterasi ke-17 adalah =
0.0030518

Iterasi ke-18
a
= 328.1494141
f(a) = -2.0056222496E-06
b
= 328.1524658

f(b) = 1.0318919266E-06
x
= (a+b)/2 = 328.1509399
f(x) = -0.0000005
f(a).f(x) = 9.7645830898E-13 > 0
nilai a=x = 328.1509399
Selang pada iterasi ke-18 adalah =
0.0015259

Iterasi ke-19
a
= 328.1509399
f(a) = -4.8686052878E-07
b
= 328.1524658
f(b) = 1.0318919266E-06
x
= (a+b)/2 = 328.1517029
f(x) = 0.0000003
f(a).f(x) = -1.3267752125E-13 < 0
nilai b=x = 328.1517029
Selang pada iterasi ke-19 adalah =
0.0007629

Iterasi ke-20
a
= 328.1509399
f(a) = -4.8686052878E-07
b
= 328.1517029
f(b) = 2.7251648760E-07
x
= (a+b)/2 = 328.1513214
f(x) = -0.0000001
f(a).f(x) = 5.2177629433E-14 > 0
nilai a=x = 328.1513214
Selang pada iterasi ke-20 adalah =
0.0003815

Iterasi ke-21
a
= 328.1513214
f(a) = -1.0717161558E-07
b
= 328.1517029
f(b) = 2.7251648760E-07
x
= (a+b)/2 = 328.1515121
f(x) = 0.0000001
f(a).f(x) = -8.8601773676E-15 < 0
nilai b=x = 328.1515121
Selang pada iterasi ke-21 adalah =
0.0001907

Iterasi ke-22
a
= 328.1513214
f(a) = -1.0717161558E-07
b
= 328.1515121
f(b) = 8.2672798385E-08
x
= (a+b)/2 = 328.1514168
f(x) = -0.0000000
f(a).f(x) = 1.3128018549E-15 > 0
nilai a=x = 328.1514168
Selang pada iterasi ke-22 adalah =
0.0000954

Iterasi ke-23
a
= 328.1514168
f(a) = -1.2249529391E-08
b
= 328.1515121
f(b) = 8.2672798385E-08

x
= (a+b)/2 = 328.1514645
f(x) = 0.0000000
f(a).f(x) = -4.3132394979E-16 < 0
nilai b=x = 328.1514645
Selang pada iterasi ke-23 adalah =
0.0000477

Iterasi ke-24
a
= 328.1514168
f(a) = -1.2249529391E-08
b
= 328.1514645
f(b) = 3.5211471072E-08
x
= (a+b)/2 = 328.1514406
f(x) = 0.0000000
f(a).f(x) = -1.4063431379E-16 < 0
nilai b=x = 328.1514406
Selang pada iterasi ke-24 adalah =
0.0000238

Iterasi ke-25
a
= 328.1514168
f(a) = -1.2249529391E-08
b
= 328.1514406
f(b) = 1.1480793205E-08
x
= (a+b)/2 = 328.1514287
f(x) = -0.0000000
f(a).f(x) = 4.7084152891E-18 > 0
nilai a=x = 328.1514287
Selang pada iterasi ke-25 adalah =
0.0000119

Iterasi ke-26
a
= 328.1514287
f(a) = -3.8437519834E-10
b
= 328.1514406
f(b) = 1.1480793205E-08
x
= (a+b)/2 = 328.1514347
f(x) = 0.0000000
f(a).f(x) = -2.1326021295E-18 < 0
nilai b=x = 328.1514347
Selang pada iterasi ke-26 adalah =
0.0000060

Iterasi ke-27
a
= 328.1514287
f(a) = -3.8437519834E-10
b
= 328.1514347
f(b) = 5.5482303196E-09
x
= (a+b)/2 = 328.1514317
f(x) = 0.0000000
f(a).f(x) = -9.9249446581E-19 < 0
nilai b=x = 328.1514317
Selang pada iterasi ke-27 adalah =
0.0000030

Iterasi ke-28
a
= 328.1514287
f(a) = -3.8437519834E-10
b
= 328.1514317
f(b) = 2.5820980909E-09
x
= (a+b)/2 = 328.1514302

f(x) = 0.0000000
f(a).f(x) = -4.2224672231E-19 < 0
nilai b=x = 328.1514302
Selang pada iterasi ke-28 adalah =
0.0000015

Iterasi ke-29
a
= 328.1514287
f(a) = -3.8437519834E-10
b
= 328.1514302
f(b) = 1.0985274912E-09
x
= (a+b)/2 = 328.1514294
f(x) = 0.0000000
f(a).f(x) = -1.3731676221E-19 < 0
nilai b=x = 328.1514294
Selang pada iterasi ke-29 adalah =
0.0000007
Sebab Selang (b-a) = 7.4505805969E-07 < Epsilon maka
Akarnya adalah = 328.1514294

b. Posisi palsu
Listing :
Program Posipal;
Uses crt, dos;
Var
a, b, x, xlama, Akar, fakar, fa, fb, fx, Galat, R, L, C, t,
disipasi : Real;
Iterasi : Integer;
Keluaran : Text;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Begin

Assign (Keluaran, 'Posipal1.txt');


ReWrite (Keluaran);
ClrScr;
WriteLn (Keluaran,'Pencarian akar dengan Metode Posisi Palsu
untuk fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(R) = e
. Cos \/ --- - (---) .t - ');
WriteLn (Keluaran,'
L.C
2.L
q0
');
WriteLn (Keluaran,'Selang / range yang akan dicari akarnya');

WriteLn (Keluaran,'Dari
a = ');
ReadLn (a);
WriteLn (Keluaran,'sampai b = ');
ReadLn (b);
WriteLn (Keluaran,'Nilai Induktor (L) = ');
ReadLn (L);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
ReadLn (C);
WriteLn (Keluaran,'Waktu (t) = ');
ReadLn (t);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
Iterasi := 1;
xlama
:= 2*b-a;
Repeat
fa
:= Fungsi(a, L, C, t, disipasi);
fb
:= Fungsi(b, L, C, t, disipasi);
x
:= b - fb*((b-a)/(fb-fa));
fx
:= Fungsi(x, L, C, t, disipasi);
Galat
:= Abs((x - xlama)/(x));
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',Iterasi);
WriteLn (Keluaran,'a
= ',a:10:7);
WriteLn (Keluaran,'f(a) = ',fa:10:7);
WriteLn (Keluaran,'b
= ',b:10:7);
WriteLn (Keluaran,'f(b) = ',fb:10:7);
WriteLn (Keluaran,'x
= ',x:10:7);
WriteLn (Keluaran,'f(x) = ',fx:10:7);
WriteLn (Keluaran,'Galat = ',Galat:10:7);
If ((fa*fx) < 0) then
Begin
b := x;
WriteLn (Keluaran,'Sebab fa*fx = ',fa*fx,' < 0
maka b = x');
end
else
Begin
0 maka a = x');

a := x;
WriteLn (Keluaran,'Sebab fa*fx = ',fa*fx,' >

end;
xlama := x;
Iterasi := Iterasi + 1;
Until (Galat <= Epsilon);
Akar := x;
WriteLn;
WriteLn (Keluaran,'Sebab Galat = ',Galat:11:7,' < Epsilon
maka');
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
Close (Keluaran);
End.

Output :
Pencarian akar dengan Metode Posisi Palsu untuk fungsi :
R.t
- --_____________
2.L
_ / 1
R 2
q
f(R) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
Dari
a = 0
sampai b = 400
Nilai Induktor (L) = 5
Nilai kapasitor (C) = 0.0001
Waktu (t) = 0.05
disipasi (q/q0) = 0.01

Iterasi ke-1
a
= 0.0000000
f(a) = -0.6272729
b
= 400.0000000
f(b) = 0.0631220
x
= 363.4284837
f(x) = 0.0329847
Galat = 1.2012584
Sebab fa*fx = -2.0690432521E-02 < 0 maka b = x

Iterasi ke-2
a
= 0.0000000
f(a) = -0.6272729
b
= 363.4284837
f(b) = 0.0329847
x
= 345.2725493
f(x) = 0.0165271
Galat = 0.0525844
Sebab fa*fx = -1.0366998654E-02 < 0 maka b = x

Iterasi ke-3
a
= 0.0000000
f(a) = -0.6272729
b
= 345.2725493
f(b) = 0.0165271
x
= 336.4090007
f(x) = 0.0080979
Galat = 0.0263475
Sebab fa*fx = -5.0796080549E-03 < 0 maka b = x

Iterasi ke-4
a
= 0.0000000
f(a) = -0.6272729
b
= 336.4090007
f(b) = 0.0080979
x
= 332.1214028
f(x) = 0.0039233
Galat = 0.0129097
Sebab fa*fx = -2.4609658124E-03 < 0 maka b = x

Iterasi ke-5

a
= 0.0000000
f(a) = -0.6272729
b
= 332.1214028
f(b) = 0.0039233
x
= 330.0570611
f(x) = 0.0018902
Galat = 0.0062545
Sebab fa*fx = -1.1856882074E-03 < 0 maka b = x

Iterasi ke-6
a
= 0.0000000
f(a) = -0.6272729
b
= 330.0570611
f(b) = 0.0018902
x
= 329.0654537
f(x) = 0.0009083
Galat = 0.0030134
Sebab fa*fx = -5.6972545755E-04 < 0 maka b = x

Iterasi ke-7
a
= 0.0000000
f(a) = -0.6272729
b
= 329.0654537
f(b) = 0.0009083
x
= 328.5896733
f(x) = 0.0004359
Galat = 0.0014479
Sebab fa*fx = -2.7339885696E-04 < 0 maka b = x

Iterasi ke-8
a
= 0.0000000
f(a) = -0.6272729
b
= 328.5896733
f(b) = 0.0004359
x
= 328.3615152
f(x) = 0.0002090
Galat = 0.0006948
Sebab fa*fx = -1.3111628320E-04 < 0 maka b = x

Iterasi ke-9
a
= 0.0000000
f(a) = -0.6272729
b
= 328.3615152
f(b) = 0.0002090
x
= 328.2521318
f(x) = 0.0001002
Galat = 0.0003332
Sebab fa*fx = -6.2861744995E-05 < 0 maka b = x

Iterasi ke-10
a
= 0.0000000
f(a) = -0.6272729
b
= 328.2521318
f(b) = 0.0001002
x
= 328.1996980
f(x) = 0.0000480

Galat = 0.0001598
Sebab fa*fx = -3.0133794142E-05 < 0 maka b = x

Iterasi ke-11
a
= 0.0000000
f(a) = -0.6272729
b
= 328.1996980
f(b) = 0.0000480
x
= 328.1745649
f(x) = 0.0000230
Galat = 0.0000766
Sebab fa*fx = -1.4444126219E-05 < 0 maka b = x

Iterasi ke-12
a
= 0.0000000
f(a) = -0.6272729
b
= 328.1745649
f(b) = 0.0000230
x
= 328.1625183
f(x) = 0.0000110
Galat = 0.0000367
Sebab fa*fx = -6.9233197167E-06 < 0 maka b = x

Iterasi ke-13
a
= 0.0000000
f(a) = -0.6272729
b
= 328.1625183
f(b) = 0.0000110
x
= 328.1567442
f(x) = 0.0000053
Galat = 0.0000176
Sebab fa*fx = -3.3184144241E-06 < 0 maka b = x

Iterasi ke-14
a
= 0.0000000
f(a) = -0.6272729
b
= 328.1567442
f(b) = 0.0000053
x
= 328.1539766
f(x) = 0.0000025
Galat = 0.0000084
Sebab fa*fx = -1.5905360706E-06 < 0 maka b = x

Iterasi ke-15
a
= 0.0000000
f(a) = -0.6272729
b
= 328.1539766
f(b) = 0.0000025
x
= 328.1526501
f(x) = 0.0000012
Galat = 0.0000040
Sebab fa*fx = -7.6235062397E-07 < 0 maka b = x

Iterasi ke-16
a
= 0.0000000
f(a) = -0.6272729

b
= 328.1526501
f(b) = 0.0000012
x
= 328.1520143
f(x) = 0.0000006
Galat = 0.0000019
Sebab fa*fx = -3.6539767797E-07 < 0 maka b = x

Iterasi ke-17
a
= 0.0000000
f(a) = -0.6272729
b
= 328.1520143
f(b) = 0.0000006
x
= 328.1517096
f(x) = 0.0000003
Galat = 0.0000009
Sebab fa*fx = -1.7513609916E-07 < 0 maka b = x
Sebab Galat =
0.0000009 < Epsilon maka
Akarnya adalah = 328.1517096

c. Secant
Listing
Program Secant;
Uses crt, dos;
Type
Indeks = array[0..100] of Real;
Var
a, b, Akar, fakar, fx, Galat, R, L, C, t, disipasi : Real;
I, Maks : Integer;
Keluaran : Text;
x, f
: Indeks;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Label 1;
Begin

Assign (Keluaran, 'Secant1.txt');


ReWrite (Keluaran);
ClrScr;
WriteLn (Keluaran,'Pencarian akar dengan Metode Secant untuk
fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(R) = e
. Cos \/ --- - (---) .t - ');

');

WriteLn (Keluaran,'

L.C

2.L

q0

WriteLn (Keluaran,'Selang / range yang akan dicari akarnya');


WriteLn (Keluaran,'Dari
x0 = ');
ReadLn (x[0]);
WriteLn (Keluaran,'sampai x1 = ');
ReadLn (x[1]);
WriteLn (Keluaran,'Nilai Induktor (L) = ');
ReadLn (L);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
ReadLn (C);
WriteLn (Keluaran,'Waktu (t) = ');
ReadLn (t);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
WriteLn (Keluaran,'Iterasi maksimum =');
ReadLn (Maks);
For I := 0 to Maks do
Begin
f[I]
:= Fungsi(x[I], L, C, t, disipasi);
f[I+1] := Fungsi (x[I+1], L, C, t, disipasi);
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',I+1);
WriteLn (Keluaran,'x',I,'
= ',a:10:7);
WriteLn (Keluaran,'f(x',I,') = ',f[I]:10:7);
WriteLn (Keluaran,'x',I+1,'
= ',x[I+1]:10:7);
WriteLn (Keluaran,'f(x',I+1,') = ',f[I+1]:10:7);
x[I+2] := x[I+1] - (f[I+1])*((x[I+1] - x[I])/(f[I+1]f[I]));
Galat := Abs((x[I+1]-x[I])/(x[I+1]));
f[I+2] := Fungsi (x[I+2], L, C, t, disipasi);
WriteLn (Keluaran,'x',I+2,'
= ',f[I+2]:10:7);
WriteLn (Keluaran,'Galat = ',Galat:10:7);
If (Galat <= Epsilon) then
Begin
Akar := x[I+1];
WriteLn (Keluaran,'Sebab Galat = ',Galat:10:7,'
maka');
WriteLn (Keluaran,'Akarnya = ',Akar:10:7);
ReadKey;
Goto 1;
End;
End;
WriteLn (Keluaran,'Proses Belum Konvergen');
ReadKey;
1: Close(Keluaran);
End.

Output :

Pencarian akar dengan Metode Secant untuk fungsi :


R.t
- --_____________
2.L
_ / 1
R 2
q
f(R) = e
. Cos \/ --- - (---) .t - -

L.C
2.L
q0
Selang / range yang akan dicari akarnya
Dari
x0 = 0
sampai x1 = 400
Nilai Induktor (L) = 5
Nilai kapasitor (C) = 0.0001
Waktu (t) = 0.05
disipasi (q/q0) = 0.01
Iterasi maksimum = 100

Iterasi ke-1
x0
= 0.0000000
f(x0) = -0.6272729
x1
= 400.0000000
f(x1) = 0.0631220
x2
= 0.0329847
Galat = 1.0000000

Iterasi ke-2
x1
= 0.0000000
f(x1) = 0.0631220
x2
= 363.4284837
f(x2) = 0.0329847
x3
= -0.0047686
Galat = 0.1006292

Iterasi ke-3
x2
= 0.0000000
f(x2) = 0.0329847
x3
= 323.4015102
f(x3) = -0.0047686
x4
= 0.0003042
Galat = 0.1237687

Iterasi ke-4
x3
= 0.0000000
f(x3) = -0.0047686
x4
= 328.4572506
f(x4) = 0.0003042
x5
= 0.0000026
Galat = 0.0153924

Iterasi ke-5
x4
= 0.0000000
f(x4) = 0.0003042
x5
= 328.1540470
f(x5) = 0.0000026
x6
= -0.0000000
Galat = 0.0009240

Iterasi ke-6
x5
= 0.0000000
f(x5) = 0.0000026
x6
= 328.1514276
f(x6) = -0.0000000
x7
= -0.0000000

Galat = 0.0000080

Iterasi ke-7
x6
= 0.0000000
f(x6) = -0.0000000
x7
= 328.1514291
f(x7) = -0.0000000
x8
= 0.0000000
Galat = 0.0000000
Sebab Galat = 0.0000000 maka
Akarnya = 328.1514291

2. Metode :
a. Bagi dua
Listing :
Program BagiDua;
Uses crt, dos;
Var
a, b, x, fa, fb, fx, Syarat, Kondisi, akar, fakar, Selang, R,
L, C, t, disipasi : Real;
Iterasi : Integer;
Keluaran : Text;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Begin

Assign (Keluaran, 'Bagidua2.txt');


ReWrite (Keluaran);
ClrScr;
WriteLn (Keluaran,'Pencarian akar dengan Metode Bagi dua
untuk fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(R) = e
. Cos \/ --- - (---) .t - ');
WriteLn (Keluaran,'
L.C
2.L
q0
');
{
Input nilai
}
Repeat
ClrScr;

akarnya');

WriteLn (Keluaran,'Selang / range yang akan dicari

WriteLn (Keluaran,'syarat f(a)*f(b) < 0');


WriteLn (Keluaran,'Dari
a = ');
ReadLn (a);
WriteLn (Keluaran,'sampai b = ');
ReadLn (b);
WriteLn (Keluaran,'Nilai Induktor (L) = ');
ReadLn (L);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
ReadLn (C);
WriteLn (Keluaran,'Waktu (t) = ');
ReadLn (t);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
Syarat := fungsi(a, L, C, t, disipasi)*fungsi(b, L, C,
t, disipasi);
If (Syarat > 0) then
Begin
WriteLn (Keluaran,'Tidak ada akar pada selang
ini');
WriteLn (Keluaran,'input kembali selang yang
sesuai');
ReadKey;
End;
Until (Syarat < 0);
{
Proses iterasi berulang sampai selang telah cukup sempit
b - a <= Epsilon
}
Repeat
Iterasi := Iterasi + 1;
fa
:= Fungsi(a, L, C, t, disipasi);
fb
:= Fungsi(b, L, C, t, disipasi);
x
:= ((a + b) / 2);
fx
:= Fungsi(x, L, C, t, disipasi);
kondisi := fa*fx;
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',Iterasi);
WriteLn (Keluaran,'a
= ',a:10:7);
WriteLn (Keluaran,'f(a) = ',fa);
WriteLn (Keluaran,'b
= ',b:10:7);
WriteLn (Keluaran,'f(b) = ',fb);
WriteLn (Keluaran,'x
= (a+b)/2 = ',x:10:7);
WriteLn (Keluaran,'f(x) = ',fx:10:7);
{
Memberikan tiga kondisi pemilihan jika :
1. f(a).f(x) < 0 maka tetapkan b = x
2. f(a).f(x) = 0 maka tetapkan akar = x
3. f(a).f(x) > 0 maka tetapkan a = x
}
If (Kondisi < 0) then
Begin
b := x;
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' < 0');

WriteLn (Keluaran,'nilai b=x = ',x:10:7);


End;
If (Kondisi = 0) then
Begin
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' = 0');
Akar := x;
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
End;
If (Kondisi > 0) then
Begin
a := x;
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' > 0');
WriteLn (Keluaran,'nilai a=x = ',x:10:7);
End;
Selang := b - a;
WriteLn (Keluaran,'Selang pada iterasi ke-',iterasi,'
adalah = ',Selang:11:7);
Until (Selang <= Epsilon);
Akar := x;
fakar := fungsi(x, L, C, t, disipasi);
WriteLn (Keluaran,'Sebab Selang (b-a) = ',Selang,' < Epsilon
maka');
WriteLn (Keluaran);
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
ReadKey;
Close(Keluaran);
End.

Output :
Pencarian akar dengan Metode Bagi dua untuk fungsi :
R.t
- --_____________
2.L
_ / 1
R 2
q
f(R) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
syarat f(a)*f(b) < 0
Dari
a = 0
sampai b = 400
Nilai induktor (L) = 5
Nilai kapasitor (C) = 0.0001
Waktu (t) = 0.04
disipasi (q/q0) = 0.02

Iterasi ke-1
a
= 0.0000000
f(a) = -2.3633407382E-01
b
= 400.0000000
f(b) = 1.2066265868E-01
x
= (a+b)/2 = 200.0000000
f(x) = -0.0331202
f(a).f(x) = 7.8274296903E-03 > 0
nilai a=x = 200.0000000
Selang pada iterasi ke-1 adalah = 200.0000000

Iterasi ke-2

a
= 200.0000000
f(a) = -3.3120191109E-02
b
= 400.0000000
f(b) = 1.2066265868E-01
x
= (a+b)/2 = 300.0000000
f(x) = 0.0528071
f(a).f(x) = -1.7489817709E-03 < 0
nilai b=x = 300.0000000
Selang pada iterasi ke-2 adalah = 100.0000000

Iterasi ke-3
a
= 200.0000000
f(a) = -3.3120191109E-02
b
= 300.0000000
f(b) = 5.2807115911E-02
x
= (a+b)/2 = 250.0000000
f(x) = 0.0121691
f(a).f(x) = -4.0304440053E-04 < 0
nilai b=x = 250.0000000
Selang pada iterasi ke-3 adalah = 50.0000000

Iterasi ke-4
a
= 200.0000000
f(a) = -3.3120191109E-02
b
= 250.0000000
f(b) = 1.2169144774E-02
x
= (a+b)/2 = 225.0000000
f(x) = -0.0099044
f(a).f(x) = 3.2803398151E-04 > 0
nilai a=x = 225.0000000
Selang pada iterasi ke-4 adalah = 25.0000000

Iterasi ke-5
a
= 225.0000000
f(a) = -9.9043505041E-03
b
= 250.0000000
f(b) = 1.2169144774E-02
x
= (a+b)/2 = 237.5000000
f(x) = 0.0012777
f(a).f(x) = -1.2654555506E-05 < 0
nilai b=x = 237.5000000
Selang pada iterasi ke-5 adalah = 12.5000000

Iterasi ke-6
a
= 225.0000000
f(a) = -9.9043505041E-03
b
= 237.5000000
f(b) = 1.2776764615E-03
x
= (a+b)/2 = 231.2500000
f(x) = -0.0042772
f(a).f(x) = 4.2363281937E-05 > 0
nilai a=x = 231.2500000
Selang pada iterasi ke-6 adalah =
6.2500000

Iterasi ke-7
a
= 231.2500000

f(a) = -4.2772397766E-03
b
= 237.5000000
f(b) = 1.2776764615E-03
x
= (a+b)/2 = 234.3750000
f(x) = -0.0014907
f(a).f(x) = 6.3761859433E-06 > 0
nilai a=x = 234.3750000
Selang pada iterasi ke-7 adalah =
3.1250000

Iterasi ke-8
a
= 234.3750000
f(a) = -1.4907244570E-03
b
= 237.5000000
f(b) = 1.2776764615E-03
x
= (a+b)/2 = 235.9375000
f(x) = -0.0001043
f(a).f(x) = 1.5541703595E-07 > 0
nilai a=x = 235.9375000
Selang pada iterasi ke-8 adalah =
1.5625000

Iterasi ke-9
a
= 235.9375000
f(a) = -1.0425604492E-04
b
= 237.5000000
f(b) = 1.2776764615E-03
x
= (a+b)/2 = 236.7187500
f(x) = 0.0005873
f(a).f(x) = -6.1227242469E-08 < 0
nilai b=x = 236.7187500
Selang pada iterasi ke-9 adalah =
0.7812500

Iterasi ke-10
a
= 235.9375000
f(a) = -1.0425604492E-04
b
= 236.7187500
f(b) = 5.8727762516E-04
x
= (a+b)/2 = 236.3281250
f(x) = 0.0002417
f(a).f(x) = -2.5193743480E-08 < 0
nilai b=x = 236.3281250
Selang pada iterasi ke-10 adalah =
0.3906250

Iterasi ke-11
a
= 235.9375000
f(a) = -1.0425604492E-04
b
= 236.3281250
f(b) = 2.4165259194E-04
x
= (a+b)/2 = 236.1328125
f(x) = 0.0000687
f(a).f(x) = -7.1659055464E-09 < 0
nilai b=x = 236.1328125
Selang pada iterasi ke-11 adalah =
0.1953125

Iterasi ke-12
a
= 235.9375000
f(a) = -1.0425604492E-04

b
= 236.1328125
f(b) = 6.8733717569E-05
x
= (a+b)/2 = 236.0351563
f(x) = -0.0000178
f(a).f(x) = 1.8507849399E-09 > 0
nilai a=x = 236.0351563
Selang pada iterasi ke-12 adalah =
0.0976563

Iterasi ke-13
a
= 236.0351563
f(a) = -1.7752303393E-05
b
= 236.1328125
f(b) = 6.8733717569E-05
x
= (a+b)/2 = 236.0839844
f(x) = 0.0000255
f(a).f(x) = -4.5255809213E-10 < 0
nilai b=x = 236.0839844
Selang pada iterasi ke-13 adalah =
0.0488281

Iterasi ke-14
a
= 236.0351563
f(a) = -1.7752303393E-05
b
= 236.0839844
f(b) = 2.5492922362E-05
x
= (a+b)/2 = 236.0595703
f(x) = 0.0000039
f(a).f(x) = -6.8716729273E-11 < 0
nilai b=x = 236.0595703
Selang pada iterasi ke-14 adalah =
0.0244141

Iterasi ke-15
a
= 236.0351563
f(a) = -1.7752303393E-05
b
= 236.0595703
f(b) = 3.8708627130E-06
x
= (a+b)/2 = 236.0473633
f(x) = -0.0000069
f(a).f(x) = 1.2321132869E-10 > 0
nilai a=x = 236.0473633
Selang pada iterasi ke-15 adalah =
0.0122070

Iterasi ke-16
a
= 236.0473633
f(a) = -6.9405826366E-06
b
= 236.0595703
f(b) = 3.8708627130E-06
x
= (a+b)/2 = 236.0534668
f(x) = -0.0000015
f(a).f(x) = 1.0652577202E-11 > 0
nilai a=x = 236.0534668
Selang pada iterasi ke-16 adalah =
0.0061035

Iterasi ke-17
a
= 236.0534668
f(a) = -1.5348246336E-06
b
= 236.0595703

f(b) = 3.8708627130E-06
x
= (a+b)/2 = 236.0565186
f(x) = 0.0000012
f(a).f(x) = -1.7927175032E-12 < 0
nilai b=x = 236.0565186
Selang pada iterasi ke-17 adalah =
0.0030518

Iterasi ke-18
a
= 236.0534668
f(a) = -1.5348246336E-06
b
= 236.0565186
f(b) = 1.1680275804E-06
x
= (a+b)/2 = 236.0549927
f(x) = -0.0000002
f(a).f(x) = 2.8148195903E-13 > 0
nilai a=x = 236.0549927
Selang pada iterasi ke-18 adalah =
0.0015259

Iterasi ke-19
a
= 236.0549927
f(a) = -1.8339682128E-07
b
= 236.0565186
f(b) = 1.1680275804E-06
x
= (a+b)/2 = 236.0557556
f(x) = 0.0000005
f(a).f(x) = -9.0289156477E-14 < 0
nilai b=x = 236.0557556
Selang pada iterasi ke-19 adalah =
0.0007629

Iterasi ke-20
a
= 236.0549927
f(a) = -1.8339682128E-07
b
= 236.0557556
f(b) = 4.9231582011E-07
x
= (a+b)/2 = 236.0553741
f(x) = 0.0000002
f(a).f(x) = -2.8327545402E-14 < 0
nilai b=x = 236.0553741
Selang pada iterasi ke-20 adalah =
0.0003815

Iterasi ke-21
a
= 236.0549927
f(a) = -1.8339682128E-07
b
= 236.0553741
f(b) = 1.5446039470E-07
x
= (a+b)/2 = 236.0551834
f(x) = -0.0000000
f(a).f(x) = 2.6535285768E-15 > 0
nilai a=x = 236.0551834
Selang pada iterasi ke-21 adalah =
0.0001907

Iterasi ke-22
a
= 236.0551834
f(a) = -1.4468781728E-08
b
= 236.0553741
f(b) = 1.5446039470E-07

x
= (a+b)/2 = 236.0552788
f(x) = 0.0000001
f(a).f(x) = -1.0127595975E-15 < 0
nilai b=x = 236.0552788
Selang pada iterasi ke-22 adalah =
0.0000954

Iterasi ke-23
a
= 236.0551834
f(a) = -1.4468781728E-08
b
= 236.0552788
f(b) = 6.9996190177E-08
x
= (a+b)/2 = 236.0552311
f(x) = 0.0000000
f(a).f(x) = -4.0170183605E-16 < 0
nilai b=x = 236.0552311
Selang pada iterasi ke-23 adalah =
0.0000477

Iterasi ke-24
a
= 236.0551834
f(a) = -1.4468781728E-08
b
= 236.0552311
f(b) = 2.7763348953E-08
x
= (a+b)/2 = 236.0552073
f(x) = 0.0000000
f(a).f(x) = -9.6183236018E-17 < 0
nilai b=x = 236.0552073
Selang pada iterasi ke-24 adalah =
0.0000238

Iterasi ke-25
a
= 236.0551834
f(a) = -1.4468781728E-08
b
= 236.0552073
f(b) = 6.6476388838E-09
x
= (a+b)/2 = 236.0551953
f(x) = -0.0000000
f(a).f(x) = 5.6576269611E-17 > 0
nilai a=x = 236.0551953
Selang pada iterasi ke-25 adalah =
0.0000119

Iterasi ke-26
a
= 236.0551953
f(a) = -3.9102303617E-09
b
= 236.0552073
f(b) = 6.6476388838E-09
x
= (a+b)/2 = 236.0552013
f(x) = 0.0000000
f(a).f(x) = -5.3535048538E-18 < 0
nilai b=x = 236.0552013
Selang pada iterasi ke-26 adalah =
0.0000060

Iterasi ke-27
a
= 236.0551953
f(a) = -3.9102303617E-09
b
= 236.0552013
f(b) = 1.3691021650E-09
x
= (a+b)/2 = 236.0551983

f(x) = -0.0000000
f(a).f(x) = 4.9681983140E-18 > 0
nilai a=x = 236.0551983
Selang pada iterasi ke-27 adalah =
0.0000030

Iterasi ke-28
a
= 236.0551983
f(a) = -1.2705640984E-09
b
= 236.0552013
f(b) = 1.3691021650E-09
x
= (a+b)/2 = 236.0551998
f(x) = 0.0000000
f(a).f(x) = -6.2111958221E-20 < 0
nilai b=x = 236.0551998
Selang pada iterasi ke-28 adalah =
0.0000015

Iterasi ke-29
a
= 236.0551983
f(a) = -1.2705640984E-09
b
= 236.0551998
f(b) = 4.8885340220E-11
x
= (a+b)/2 = 236.0551991
f(x) = -0.0000000
f(a).f(x) = 7.7611058493E-19 > 0
nilai a=x = 236.0551991
Selang pada iterasi ke-29 adalah =
0.0000007
Sebab Selang (b-a) = 7.4505805969E-07 < Epsilon maka
Akarnya adalah = 236.0551991

b. Posisi palsu
Listing :

Program Posipal;
Uses crt, dos;
Var
a, b, x, xlama, Akar, fakar, fa, fb, fx, Galat, R, L, C, t,
disipasi : Real;
Iterasi : Integer;
Keluaran : Text;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Begin
Assign (Keluaran, 'Posipal2.txt');
ReWrite (Keluaran);
ClrScr;
WriteLn (Keluaran,'Pencarian akar dengan Metode Posisi Palsu
untuk fungsi : ');

');
');
');
');
');

WriteLn (Keluaran,'

R.t

WriteLn (Keluaran,'

- ---

WriteLn (Keluaran,'

2.L

WriteLn (Keluaran,'f(R) = e
WriteLn (Keluaran,'

_____________
_
. Cos \/

--- - (---) .t - L.C

2.L

q0

WriteLn (Keluaran,'Selang / range yang akan dicari akarnya');


WriteLn (Keluaran,'Dari
a = ');
ReadLn (a);
WriteLn (Keluaran,'sampai b = ');
ReadLn (b);
WriteLn (Keluaran,'Nilai Induktor (L) = ');
ReadLn (L);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
ReadLn (C);
WriteLn (Keluaran,'Waktu (t) = ');
ReadLn (t);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
Iterasi := 1;
xlama
:= 2*b-a;
Repeat
fa
:= Fungsi(a, L, C, t, disipasi);
fb
:= Fungsi(b, L, C, t, disipasi);
x
:= b - fb*((b-a)/(fb-fa));
fx
:= Fungsi(x, L, C, t, disipasi);
Galat
:= Abs((x - xlama)/(x));
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',Iterasi);
WriteLn (Keluaran,'a
= ',a:10:7);
WriteLn (Keluaran,'f(a) = ',fa:10:7);
WriteLn (Keluaran,'b
= ',b:10:7);
WriteLn (Keluaran,'f(b) = ',fb:10:7);
WriteLn (Keluaran,'x
= ',x:10:7);
WriteLn (Keluaran,'f(x) = ',fx:10:7);
WriteLn (Keluaran,'Galat = ',Galat:10:7);
If ((fa*fx) < 0) then
Begin
b := x;
WriteLn (Keluaran,'Sebab fa*fx = ',fa*fx,' < 0
maka b = x');
end
else

Begin
a := x;
WriteLn (Keluaran,'Sebab fa*fx = ',fa*fx,' >

0 maka a = x');

end;
xlama := x;
Iterasi := Iterasi + 1;

Until (Galat <= Epsilon);


Akar := x;
WriteLn;
WriteLn (Keluaran,'Sebab Galat = ',Galat:11:7,' < Epsilon
maka');
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
Close(Keluaran);
End.

Output :

Pencarian akar dengan Metode Posisi Palsu untuk fungsi :


R.t
- --_____________
2.L
_ / 1
R 2
q
f(R) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
Dari
a = 0
sampai b = 400
Nilai Induktor (L) = 5
Nilai kapasitor (C) = 0.0001
Waktu (t) = 0.04
disipasi (q/q0) = 0.02

Iterasi ke-1
a
= 0.0000000
f(a) = -0.2363341
b
= 400.0000000
f(b) = 0.1206627
x
= 264.8025064
f(x) = 0.0246879
Galat = 2.0211194
Sebab fa*fx = -5.8346029815E-03 < 0 maka b = x

Iterasi ke-2
a
= 0.0000000
f(a) = -0.2363341
b
= 264.8025064
f(b) = 0.0246879
x
= 239.7569944
f(x) = 0.0032658
Galat = 0.1044621
Sebab fa*fx = -7.7182546121E-04 < 0 maka b = x

Iterasi ke-3
a
= 0.0000000
f(a) = -0.2363341
b
= 239.7569944
f(b) = 0.0032658
x
= 236.4890293
f(x) = 0.0003841
Galat = 0.0138187
Sebab fa*fx = -9.0765299320E-05 < 0 maka b = x

Iterasi ke-4

a
= 0.0000000
f(a) = -0.2363341
b
= 236.4890293
f(b) = 0.0003841
x
= 236.1053459
f(x) = 0.0000444
Galat = 0.0016251
Sebab fa*fx = -1.0495744957E-05 < 0 maka b = x

Iterasi ke-5
a
= 0.0000000
f(a) = -0.2363341
b
= 236.1053459
f(b) = 0.0000444
x
= 236.0609866
f(x) = 0.0000051
Galat = 0.0001879
Sebab fa*fx = -1.2112612703E-06 < 0 maka b = x

Iterasi ke-6
a
= 0.0000000
f(a) = -0.2363341
b
= 236.0609866
f(b) = 0.0000051
x
= 236.0558674
f(x) = 0.0000006
Galat = 0.0000217
Sebab fa*fx = -1.3975319614E-07 < 0 maka b = x

Iterasi ke-7
a
= 0.0000000
f(a) = -0.2363341
b
= 236.0558674
f(b) = 0.0000006
x
= 236.0552768
f(x) = 0.0000001
Galat = 0.0000025
Sebab fa*fx = -1.6123866757E-08 < 0 maka b = x

Iterasi ke-8
a
= 0.0000000
f(a) = -0.2363341
b
= 236.0552768
f(b) = 0.0000001
x
= 236.0552086
f(x) = 0.0000000
Galat = 0.0000003
Sebab fa*fx = -1.8603924281E-09 < 0 maka b = x
Sebab Galat =
0.0000003 < Epsilon maka
Akarnya adalah = 236.0552086

c. Secant
Listing
Program Secant;
Uses crt, dos;
Type

Var

Indeks = array[0..100] of Real;

a, b, Akar, fakar, fx, Galat, R, L, C, t, disipasi : Real;


I, Maks : Integer;
Keluaran : Text;
x, f
: Indeks;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Label 1;
Begin
Assign (Keluaran, 'Secant2.txt');
ReWrite (Keluaran);
ClrScr;
WriteLn (Keluaran,'Pencarian akar dengan Metode Secant untuk
fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(R) = e
. Cos \/ --- - (---) .t - ');
WriteLn (Keluaran,'
L.C
2.L
q0
');
WriteLn (Keluaran,'Selang / range yang akan dicari akarnya');
WriteLn (Keluaran,'Dari
x0 = ');
ReadLn (x[0]);
WriteLn (Keluaran,'sampai x1 = ');
ReadLn (x[1]);
WriteLn (Keluaran,'Nilai Induktor (L) = ');
ReadLn (L);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
ReadLn (C);
WriteLn (Keluaran,'Waktu (t) = ');
ReadLn (t);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
WriteLn (Keluaran,'Iterasi maksimum =');
ReadLn (Maks);
For I := 0 to Maks do
Begin
f[I] := Fungsi(x[I], L, C, t, disipasi);
f[I+1] := Fungsi (x[I+1], L, C, t, disipasi);
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',I+1);

f[I]));

WriteLn (Keluaran,'x',I,'
= ',a:10:7);
WriteLn (Keluaran,'f(x',I,') = ',f[I]:10:7);
WriteLn (Keluaran,'x',I+1,'
= ',x[I+1]:10:7);
WriteLn (Keluaran,'f(x',I+1,') = ',f[I+1]:10:7);
x[I+2] := x[I+1] - (f[I+1])*((x[I+1] - x[I])/(f[I+1]Galat := Abs((x[I+1]-x[I])/(x[I+1]));
f[I+2] := Fungsi (x[I+2], L, C, t, disipasi);
WriteLn (Keluaran,'x',I+2,'
= ',f[I+2]:10:7);
WriteLn (Keluaran,'Galat = ',Galat:10:7);
If (Galat <= Epsilon) then
Begin
Akar := x[I+1];
WriteLn (Keluaran,'Sebab Galat = ',Galat:10:7,'

maka');

WriteLn (Keluaran,'Akarnya = ',Akar:10:7);


ReadKey;
Goto 1;

End;
End;
WriteLn (Keluaran,'Proses Belum Konvergen');
ReadKey;
1: Close(Keluaran);
End.

Output :
Pencarian akar dengan Metode Secant untuk fungsi :
R.t
- --_____________
2.L
_ / 1
R 2
q
f(R) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
Dari
x0 = 0
sampai x1 = 400
Nilai Induktor (L) = 5
Nilai kapasitor (C) = 0.0001
Waktu (t) = 0.04
disipasi (q/q0) = 0.02
Iterasi maksimum = 100

Iterasi ke-1
x0
= 0.0000000
f(x0) = -0.2363341
x1
= 400.0000000
f(x1) = 0.1206627
x2
= 0.0246879
Galat = 1.0000000

Iterasi ke-2
x1
= 0.0000000
f(x1) = 0.1206627
x2
= 264.8025064
f(x2) = 0.0246879
x3
= -0.0053744
Galat = 0.5105597


Iterasi ke-3
x2
= 0.0000000
f(x2) = 0.0246879
x3
= 230.0251320
f(x3) = -0.0053744
x4
= 0.0001658
Galat = 0.1511895

Iterasi ke-4
x3
= 0.0000000
f(x3) = -0.0053744
x4
= 236.2424275
f(x4) = 0.0001658
x5
= 0.0000010
Galat = 0.0263174

Iterasi ke-5
x4
= 0.0000000
f(x4) = 0.0001658
x5
= 236.0563745
f(x5) = 0.0000010
x6
= -0.0000000
Galat = 0.0007882

Iterasi ke-6
x5
= 0.0000000
f(x5) = 0.0000010
x6
= 236.0551995
f(x6) = -0.0000000
x7
= -0.0000000
Galat = 0.0000050

Iterasi ke-7
x6
= 0.0000000
f(x6) = -0.0000000
x7
= 236.0551997
f(x7) = -0.0000000
x8
= 0.0000000
Galat = 0.0000000
Sebab Galat = 0.0000000 maka
Akarnya = 236.0551997

3. Metode :
a. Bagi dua
Listing :
Program BagiDua;
Uses crt, dos;
Var
a, b, x, fa, fb, fx, Syarat, Kondisi, akar, fakar, Selang, R,
L, C, t, disipasi : Real;
Iterasi : Integer;
Keluaran : Text;
Const
Epsilon = 1e-6;

Function Fungsi (R, L, C, t, disipasi : Real) : Real;


var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Begin
Assign (Keluaran, 'Bagidua3.txt');
ReWrite (Keluaran);
ClrScr;
WriteLn (Keluaran,'Pencarian akar dengan Metode Bagi dua
untuk fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(t) = e
. Cos \/ --- - (---) .t - ');
WriteLn (Keluaran,'
L.C
2.L
q0
');
{
Input nilai
}
Repeat
ClrScr;
WriteLn (Keluaran,'Selang / range yang akan dicari
akarnya');
WriteLn (Keluaran,'syarat f(a)*f(b) < 0');
WriteLn (Keluaran,'Dari
a = ');
ReadLn (a);
WriteLn (Keluaran,'sampai b = ');
ReadLn (b);
WriteLn (Keluaran,'Nilai Resistor (R) = ');
ReadLn (R);
WriteLn (Keluaran,'Nilai Induktor (L) = ');
ReadLn (L);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
ReadLn (C);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
Syarat := fungsi(R, L, C, a, disipasi)*fungsi(R, L, C,
b, disipasi);
If (Syarat > 0) then
Begin
WriteLn (Keluaran,'Tidak ada akar pada selang
ini');
WriteLn (Keluaran,'input kembali selang yang
sesuai');
ReadKey;
End;
Until (Syarat < 0);

{
}

Proses iterasi berulang sampai selang telah cukup sempit


b - a <= Epsilon
Repeat

Iterasi := Iterasi + 1;
fa
:= Fungsi(R, L, C, a, disipasi);
fb
:= Fungsi(R, L, C, b, disipasi);
x
:= ((a + b) / 2);
fx
:= Fungsi(R, L, C, x, disipasi);
kondisi := fa*fx;
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',Iterasi);
WriteLn (Keluaran,'a
= ',a:10:7);
WriteLn (Keluaran,'f(a) = ',fa);
WriteLn (Keluaran,'b
= ',b:10:7);
WriteLn (Keluaran,'f(b) = ',fb);
WriteLn (Keluaran,'x
= (a+b)/2 = ',x:10:7);
WriteLn (Keluaran,'f(x) = ',fx:10:7);
{
Memberikan tiga kondisi pemilihan jika :
1. f(a).f(x) < 0 maka tetapkan b = x
2. f(a).f(x) = 0 maka tetapkan akar = x
3. f(a).f(x) > 0 maka tetapkan a = x
}
If (Kondisi < 0) then
Begin
b := x;
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' < 0');
WriteLn (Keluaran,'nilai b=x = ',x:10:7);
End;
If (Kondisi = 0) then
Begin
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' = 0');
Akar := x;
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
End;
If (Kondisi > 0) then
Begin
a := x;
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' > 0');
WriteLn (Keluaran,'nilai a=x = ',x:10:7);
End;
Selang := b - a;
WriteLn (Keluaran,'Selang pada iterasi ke-',iterasi,'
adalah = ',Selang:11:7);
Until (Selang <= Epsilon);
Akar := x;
fakar := fungsi(R, L, C, akar, disipasi);
WriteLn (Keluaran,'Sebab Selang (b-a) = ',Selang,' < Epsilon
maka');
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
ReadKey;
Close(Keluaran);
End.

Output :

Pencarian akar dengan Metode Bagi dua untuk fungsi :


R.t
- --_____________
2.L
_ / 1
R 2
q
f(t) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
syarat f(a)*f(b) < 0
Dari
a = 0
sampai b = 0.05
Nilai Resistor (R) = 300
Nilai induktor (L) = 4
Nilai kapasitor (C) = 0.0001
disipasi (q/q0) = 0.1

Iterasi ke-1
a
= 0.0000000
f(a) = 8.9999999999E-01
b
= 0.0500000
f(b) = -1.1268301864E-01
x
= (a+b)/2 = 0.0250000
f(x) = 0.1652093
f(a).f(x) = 1.4868837219E-01 > 0
nilai a=x = 0.0250000
Selang pada iterasi ke-1 adalah =
0.0250000

Iterasi ke-2
a
= 0.0250000
f(a) = 1.6520930244E-01
b
= 0.0500000
f(b) = -1.1268301864E-01
x
= (a+b)/2 = 0.0375000
f(x) = -0.0204507
f(a).f(x) = -3.3786392372E-03 < 0
nilai b=x = 0.0375000
Selang pada iterasi ke-2 adalah =
0.0125000

Iterasi ke-3
a
= 0.0250000
f(a) = 1.6520930244E-01
b
= 0.0375000
f(b) = -2.0450659783E-02
x
= (a+b)/2 = 0.0312500
f(x) = 0.0585538
f(a).f(x) = 9.6736391737E-03 > 0
nilai a=x = 0.0312500
Selang pada iterasi ke-3 adalah =
0.0062500

Iterasi ke-4
a
= 0.0312500
f(a) = 5.8553840679E-02
b
= 0.0375000

f(b) = -2.0450659783E-02
x
= (a+b)/2 = 0.0343750
f(x) = 0.0158484
f(a).f(x) = 9.2798250643E-04 > 0
nilai a=x = 0.0343750
Selang pada iterasi ke-4 adalah =
0.0031250

Iterasi ke-5
a
= 0.0343750
f(a) = 1.5848362732E-02
b
= 0.0375000
f(b) = -2.0450659783E-02
x
= (a+b)/2 = 0.0359375
f(x) = -0.0030681
f(a).f(x) = -4.8623673455E-05 < 0
nilai b=x = 0.0359375
Selang pada iterasi ke-5 adalah =
0.0015625

Iterasi ke-6
a
= 0.0343750
f(a) = 1.5848362732E-02
b
= 0.0359375
f(b) = -3.0680565733E-03
x
= (a+b)/2 = 0.0351563
f(x) = 0.0061941
f(a).f(x) = 9.8166701123E-05 > 0
nilai a=x = 0.0351563
Selang pada iterasi ke-6 adalah =
0.0007812

Iterasi ke-7
a
= 0.0351563
f(a) = 6.1941225591E-03
b
= 0.0359375
f(b) = -3.0680565733E-03
x
= (a+b)/2 = 0.0355469
f(x) = 0.0015146
f(a).f(x) = 9.3813701626E-06 > 0
nilai a=x = 0.0355469
Selang pada iterasi ke-7 adalah =
0.0003906

Iterasi ke-8
a
= 0.0355469
f(a) = 1.5145599838E-03
b
= 0.0359375
f(b) = -3.0680565733E-03
x
= (a+b)/2 = 0.0357422
f(x) = -0.0007888
f(a).f(x) = -1.1946840083E-06 < 0
nilai b=x = 0.0357422
Selang pada iterasi ke-8 adalah =
0.0001953

Iterasi ke-9
a
= 0.0355469
f(a) = 1.5145599838E-03
b
= 0.0357422
f(b) = -7.8879940122E-04

x
= (a+b)/2 = 0.0356445
f(x) = 0.0003599
f(a).f(x) = 5.4502820445E-07 > 0
nilai a=x = 0.0356445
Selang pada iterasi ke-9 adalah =
0.0000977

Iterasi ke-10
a
= 0.0356445
f(a) = 3.5985910779E-04
b
= 0.0357422
f(b) = -7.8879940122E-04
x
= (a+b)/2 = 0.0356934
f(x) = -0.0002152
f(a).f(x) = -7.7450457856E-08 < 0
nilai b=x = 0.0356934
Selang pada iterasi ke-10 adalah =
0.0000488

Iterasi ke-11
a
= 0.0356445
f(a) = 3.5985910779E-04
b
= 0.0356934
f(b) = -2.1522439249E-04
x
= (a+b)/2 = 0.0356689
f(x) = 0.0000721
f(a).f(x) = 2.5956156832E-08 > 0
nilai a=x = 0.0356689
Selang pada iterasi ke-11 adalah =
0.0000244

Iterasi ke-12
a
= 0.0356689
f(a) = 7.2128664442E-05
b
= 0.0356934
f(b) = -2.1522439249E-04
x
= (a+b)/2 = 0.0356812
f(x) = -0.0000716
f(a).f(x) = -5.1640532648E-09 < 0
nilai b=x = 0.0356812
Selang pada iterasi ke-12 adalah =
0.0000122

Iterasi ke-13
a
= 0.0356689
f(a) = 7.2128664442E-05
b
= 0.0356812
f(b) = -7.1595021268E-05
x
= (a+b)/2 = 0.0356750
f(x) = 0.0000003
f(a).f(x) = 1.8394976544E-11 > 0
nilai a=x = 0.0356750
Selang pada iterasi ke-13 adalah =
0.0000061

Iterasi ke-14
a
= 0.0356750
f(a) = 2.5503004508E-07
b
= 0.0356812
f(b) = -7.1595021268E-05
x
= (a+b)/2 = 0.0356781

f(x) = -0.0000357
f(a).f(x) = -9.0976722324E-12 < 0
nilai b=x = 0.0356781
Selang pada iterasi ke-14 adalah =
0.0000031

Iterasi ke-15
a
= 0.0356750
f(a) = 2.5503004508E-07
b
= 0.0356781
f(b) = -3.5672942886E-05
x
= (a+b)/2 = 0.0356766
f(x) = -0.0000177
f(a).f(x) = -4.5165040065E-12 < 0
nilai b=x = 0.0356766
Selang pada iterasi ke-15 adalah =
0.0000015

Iterasi ke-16
a
= 0.0356750
f(a) = 2.5503004508E-07
b
= 0.0356766
f(b) = -1.7709693793E-05
x
= (a+b)/2 = 0.0356758
f(x) = -0.0000087
f(a).f(x) = -2.2257788399E-12 < 0
nilai b=x = 0.0356758
Selang pada iterasi ke-16 adalah =
0.0000008
Sebab Selang (b-a) = 7.6293946449E-07 < Epsilon maka
Akarnya adalah = 0.0356758

b. Posisi palsu
Listing :
Program Posipal;
Uses crt, dos;
Var
a, b, x, xlama, Akar, fa, fb, fx, Galat, R, L, C, t, disipasi :
Real;
Iterasi : Integer;
Keluaran : Text;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Begin

Assign (Keluaran, 'Posipal3.txt');


ReWrite (Keluaran);
ClrScr;

WriteLn (Keluaran,'Pencarian akar dengan Metode Posisi Palsu


untuk fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(t) = e
. Cos \/ --- - (---) .t - ');
WriteLn (Keluaran,'
L.C
2.L
q0
');
WriteLn (Keluaran,'Selang / range yang akan dicari akarnya');
WriteLn (Keluaran,'Dari
a = ');
ReadLn (a);
WriteLn (Keluaran,'sampai b = ');
ReadLn (b);
WriteLn (Keluaran,'Nilai Resistor (R) = ');
ReadLn (R);
WriteLn (Keluaran,'Nilai Induktor (L) = ');
ReadLn (L);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
ReadLn (C);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
Iterasi := 1;
xlama
:= 2*b-a;
Repeat
fa
:= Fungsi(R, L, C, a, disipasi);
fb
:= Fungsi(R, L, C, b, disipasi);
x
:= b - fb*((b-a)/(fb-fa));
fx
:= Fungsi(R, L, C, x, disipasi);
Galat
:= Abs((x - xlama)/(x));
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',Iterasi);
WriteLn (Keluaran,'a
= ',a:10:7);
WriteLn (Keluaran,'f(a) = ',fa:10:7);
WriteLn (Keluaran,'b
= ',b:10:7);
WriteLn (Keluaran,'f(b) = ',fb:10:7);
WriteLn (Keluaran,'x
= ',x:10:7);
WriteLn (Keluaran,'f(x) = ',fx:10:7);
WriteLn (Keluaran,'Galat = ',Galat:10:7);
If ((fa*fx) < 0) then
Begin
b := x;
WriteLn (Keluaran,'Sebab fa*fx = ',fa*fx,' < 0
maka b = x');
end
else
Begin
a := x;
WriteLn (Keluaran,'Sebab fa*fx = ',fa*fx,' >
0 maka a = x');
end;
xlama := x;

Iterasi := Iterasi + 1;
Until (Galat <= Epsilon);
Akar := x;
WriteLn;
WriteLn (Keluaran,'Sebab Galat = ',Galat:11:7,' < Epsilon
maka');
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
Close(Keluaran);
End.

Output :
Pencarian akar dengan Metode Posisi Palsu untuk fungsi :
R.t
- --_____________
2.L
_ / 1
R 2
q
f(t) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
Dari
a = 0
sampai b = 0.05
Nilai Resistor (R) = 300
Nilai Induktor (L) = 4
Nilai kapasitor (C) = 0.001
disipasi (q/q0) = 0.1

Iterasi ke-1
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0500000
f(b) = -0.1126830
x
= 0.0444364
f(x) = -0.0809126
Galat = 1.2504067
Sebab fa*fx = -7.2821362973E-02 < 0 maka b = x

Iterasi ke-2
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0444364
f(b) = -0.0809126
x
= 0.0407710
f(x) = -0.0521816
Galat = 0.0899029
Sebab fa*fx = -4.6963484293E-02 < 0 maka b = x

Iterasi ke-3
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0407710
f(b) = -0.0521816
x
= 0.0385366
f(x) = -0.0311708
Galat = 0.0579796
Sebab fa*fx = -2.8053747107E-02 < 0 maka b = x

Iterasi ke-4
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0385366
f(b) = -0.0311708
x
= 0.0372466
f(x) = -0.0177333
Galat = 0.0346343
Sebab fa*fx = -1.5959966461E-02 < 0 maka b = x

Iterasi ke-5
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0372466
f(b) = -0.0177333
x
= 0.0365269
f(x) = -0.0098017
Galat = 0.0197037
Sebab fa*fx = -8.8215323231E-03 < 0 maka b = x

Iterasi ke-6
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0365269
f(b) = -0.0098017
x
= 0.0361334
f(x) = -0.0053301
Galat = 0.0108908
Sebab fa*fx = -4.7970643840E-03 < 0 maka b = x

Iterasi ke-7
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0361334
f(b) = -0.0053301
x
= 0.0359207
f(x) = -0.0028725
Galat = 0.0059223
Sebab fa*fx = -2.5852874183E-03 < 0 maka b = x

Iterasi ke-8
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0359207
f(b) = -0.0028725
x
= 0.0358064
f(x) = -0.0015406
Galat = 0.0031917
Sebab fa*fx = -1.3865227237E-03 < 0 maka b = x

Iterasi ke-9
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0358064
f(b) = -0.0015406
x
= 0.0357452

f(x) = -0.0008241
Galat = 0.0017118
Sebab fa*fx = -7.4166302703E-04 < 0 maka b = x

Iterasi ke-10
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0357452
f(b) = -0.0008241
x
= 0.0357125
f(x) = -0.0004402
Galat = 0.0009156
Sebab fa*fx = -3.9616496512E-04 < 0 maka b = x

Iterasi ke-11
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0357125
f(b) = -0.0004402
x
= 0.0356950
f(x) = -0.0002350
Galat = 0.0004891
Sebab fa*fx = -2.1145561211E-04 < 0 maka b = x

Iterasi ke-12
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0356950
f(b) = -0.0002350
x
= 0.0356857
f(x) = -0.0001254
Galat = 0.0002611
Sebab fa*fx = -1.1282052310E-04 < 0 maka b = x

Iterasi ke-13
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0356857
f(b) = -0.0001254
x
= 0.0356808
f(x) = -0.0000669
Galat = 0.0001393
Sebab fa*fx = -6.0181638105E-05 < 0 maka b = x

Iterasi ke-14
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0356808
f(b) = -0.0000669
x
= 0.0356781
f(x) = -0.0000357
Galat = 0.0000743
Sebab fa*fx = -3.2098909412E-05 < 0 maka b = x

Iterasi ke-15
a
= 0.0000000

f(a) = 0.9000000
b
= 0.0356781
f(b) = -0.0000357
x
= 0.0356767
f(x) = -0.0000190
Galat = 0.0000396
Sebab fa*fx = -1.7119461279E-05 < 0 maka b = x

Iterasi ke-16
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0356767
f(b) = -0.0000190
x
= 0.0356759
f(x) = -0.0000101
Galat = 0.0000211
Sebab fa*fx = -9.1301055931E-06 < 0 maka b = x

Iterasi ke-17
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0356759
f(b) = -0.0000101
x
= 0.0356755
f(x) = -0.0000054
Galat = 0.0000113
Sebab fa*fx = -4.8691589768E-06 < 0 maka b = x

Iterasi ke-18
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0356755
f(b) = -0.0000054
x
= 0.0356753
f(x) = -0.0000029
Galat = 0.0000060
Sebab fa*fx = -2.5967381589E-06 < 0 maka b = x

Iterasi ke-19
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0356753
f(b) = -0.0000029
x
= 0.0356752
f(x) = -0.0000015
Galat = 0.0000032
Sebab fa*fx = -1.3848416302E-06 < 0 maka b = x

Iterasi ke-20
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0356752
f(b) = -0.0000015
x
= 0.0356751
f(x) = -0.0000008
Galat = 0.0000017

Sebab fa*fx = -7.3853478852E-07 < 0 maka b = x

Iterasi ke-21
a
= 0.0000000
f(a) = 0.9000000
b
= 0.0356751
f(b) = -0.0000008
x
= 0.0356751
f(x) = -0.0000004
Galat = 0.0000009
Sebab fa*fx = -3.9385910213E-07 < 0 maka b = x
Sebab Galat =
0.0000009 < Epsilon maka
Akarnya adalah = 0.0356751

c. Secant
Listing

Program Secant;
Uses crt, dos;
Type
Indeks = array[0..100] of Real;
Var
a, b, Akar, fakar, fx, Galat, R, L, C, t, disipasi : Real;
I, Maks : Integer;
Keluaran : Text;
x, f
: Indeks;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Label 1;
Begin
Assign (Keluaran, 'Secant3.txt');
ReWrite (Keluaran);
ClrScr;
WriteLn (Keluaran,'Pencarian akar dengan Metode Secant untuk
fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(t) = e
. Cos \/ --- - (---) .t - ');
WriteLn (Keluaran,'
L.C
2.L
q0
');
WriteLn (Keluaran,'Selang / range yang akan dicari akarnya');
WriteLn (Keluaran,'Dari
x0 = ');

ReadLn (x[0]);
WriteLn (Keluaran,'sampai x1 = ');
ReadLn (x[1]);
WriteLn (Keluaran,'Nilai Resistor (R) = ');
ReadLn (R);
WriteLn (Keluaran,'Nilai Induktor (L) = ');
ReadLn (L);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
ReadLn (C);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
WriteLn (Keluaran,'Iterasi maksimum =');
ReadLn (Maks);
For I := 0 to Maks do
Begin
f[I]
:= Fungsi(R, L, C, x[I], disipasi);
f[I+1] := Fungsi (R, L, C, x[I+1], disipasi);
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',I+1);
WriteLn (Keluaran,'x',I,'
= ',a:10:7);
WriteLn (Keluaran,'f(x',I,') = ',f[I]:10:7);
WriteLn (Keluaran,'x',I+1,'
= ',x[I+1]:10:7);
WriteLn (Keluaran,'f(x',I+1,') = ',f[I+1]:10:7);
x[I+2] := x[I+1] - (f[I+1])*((x[I+1] - x[I])/(f[I+1]f[I]));
Galat := Abs((x[I+1]-x[I])/(x[I+1]));
f[I+2] := Fungsi (R, L, C, x[I+2], disipasi);
WriteLn (Keluaran,'x',I+2,'
= ',f[I+2]:10:7);
WriteLn (Keluaran,'Galat = ',Galat:10:7);
If (Galat <= Epsilon) then
Begin
Akar := x[I+1];
WriteLn (Keluaran,'Sebab Galat = ',Galat:10:7,'
maka');
WriteLn (Keluaran,'Akarnya = ',Akar:10:7);
ReadKey;
Goto 1;
End;
End;
WriteLn (Keluaran,'Proses Belum Konvergen');
ReadKey;
1: Close(Keluaran);
End.

Output :

Pencarian akar dengan Metode Secant untuk fungsi :


R.t
- --_____________
2.L
_ / 1
R 2
q
f(t) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
Dari
x0 = 0
sampai x1 = 0.05

Nilai Resistor (R) = 300


Nilai Induktor (L) = 4
Nilai kapasitor (C) = 0.0001
disipasi (q/q0) = 0.1
Iterasi maksimum = 100

Iterasi ke-1
x0
= 0.0000000
f(x0) = 0.9000000
x1
= 0.0500000
f(x1) = -0.1126830
x2
= -0.0809126
Galat = 1.0000000

Iterasi ke-2
x1
= 0.0000000
f(x1) = -0.1126830
x2
= 0.0444364
f(x2) = -0.0809126
x3
= 0.0733943
Galat = 0.1252034

Iterasi ke-3
x2
= 0.0000000
f(x2) = -0.0809126
x3
= 0.0302671
f(x3) = 0.0733943
x4
= -0.0151228
Galat = 0.4681422

Iterasi ke-4
x3
= 0.0000000
f(x3) = 0.0733943
x4
= 0.0370066
f(x4) = -0.0151228
x5
= -0.0021101
Galat = 0.1821154

Iterasi ke-5
x4
= 0.0000000
f(x4) = -0.0151228
x5
= 0.0358552
f(x5) = -0.0021101
x6
= 0.0000779
Galat = 0.0321129

Iterasi ke-6
x5
= 0.0000000
f(x5) = -0.0021101
x6
= 0.0356685
f(x6) = 0.0000779
x7
= -0.0000004
Galat = 0.0052345

Iterasi ke-7
x6
= 0.0000000

f(x6) = 0.0000779
x7
= 0.0356751
f(x7) = -0.0000004
x8
= -0.0000000
Galat = 0.0001864

Iterasi ke-8
x7
= 0.0000000
f(x7) = -0.0000004
x8
= 0.0356751
f(x8) = -0.0000000
x9
= 0.0000000
Galat = 0.0000009
Sebab Galat = 0.0000009 maka
Akarnya = 0.0356751

4. Metode :
a. Bagi dua
Listing :

Program BagiDua;
Uses crt, dos;
Var
a, b, x, fa, fb, fx, Syarat, Kondisi, akar, fakar, Selang, R,
L, C, t, disipasi : Real;
Iterasi : Integer;
Keluaran : Text;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Begin
Assign (Keluaran, 'Bagidua4.txt');
ReWrite (Keluaran);
ClrScr;
WriteLn (Keluaran,'Pencarian akar dengan Metode Bagi dua
untuk fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(L) = e
. Cos \/ --- - (---) .t - ');
WriteLn (Keluaran,'
L.C
2.L
q0
');
{
Input nilai

Repeat
ClrScr;
WriteLn (Keluaran,'Selang / range yang akan dicari

akarnya');

WriteLn (Keluaran,'syarat f(a)*f(b) < 0');


WriteLn (Keluaran,'Dari
a = ');
ReadLn (a);
WriteLn (Keluaran,'sampai b = ');
ReadLn (b);
WriteLn (Keluaran,'Nilai Resistor (R) = ');
ReadLn (R);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
ReadLn (C);
WriteLn (Keluaran,'Waktu (t) = ');
ReadLn (t);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
Syarat := fungsi(R, a, C, t, disipasi)*fungsi(R, b, C,
t, disipasi);
If (Syarat > 0) then
Begin
WriteLn (Keluaran,'Tidak ada akar pada selang
ini');
WriteLn (Keluaran,'input kembali selang yang
sesuai');
ReadKey;
End;
Until (Syarat < 0);
{
Proses iterasi berulang sampai selang telah cukup sempit
b - a <= Epsilon
}
Repeat
Iterasi := Iterasi + 1;
fa
:= Fungsi(R, a, C, t, disipasi);
fb
:= Fungsi(R, b, C, t, disipasi);
x
:= ((a + b) / 2);
fx
:= Fungsi(R, x, C, t, disipasi);
kondisi := fa*fx;
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',Iterasi);
WriteLn (Keluaran,'a
= ',a:10:7);
WriteLn (Keluaran,'f(a) = ',fa:10:7);
WriteLn (Keluaran,'b
= ',b:10:7);
WriteLn (Keluaran,'f(b) = ',fb:10:7);
WriteLn (Keluaran,'x
= (a+b)/2 = ',x:10:7);
WriteLn (Keluaran,'f(x) = ',fx:10:7);
{
Memberikan tiga kondisi pemilihan jika :
1. f(a).f(x) < 0 maka tetapkan b = x
2. f(a).f(x) = 0 maka tetapkan akar = x
3. f(a).f(x) > 0 maka tetapkan a = x
}
If (Kondisi < 0) then

Begin

b := x;
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' < 0');
WriteLn (Keluaran,'nilai b=x = ',x:10:7);

End;
If (Kondisi = 0) then
Begin
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' = 0');
Akar := x;
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
End;
If (Kondisi > 0) then
Begin
a := x;
WriteLn (Keluaran,'f(a).f(x) = ',Kondisi,' > 0');
WriteLn (Keluaran,'nilai a=x = ',x:10:7);
End;
Selang := b - a;
WriteLn (Keluaran,'Selang pada iterasi ke-',iterasi,'
adalah = ',Selang:11:7);
Until (Selang <= Epsilon);
Akar := x;
fakar := fungsi(R, akar, C, t, disipasi);
WriteLn (Keluaran,'Sebab Selang (b-a) = ',Selang,' < Epsilon
maka');
WriteLn (Keluaran);
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
ReadKey;
Close(Keluaran);
End.

Output :

Pencarian akar dengan Metode Bagi dua untuk fungsi :


R.t
- --_____________
2.L
_ / 1
R 2
q
f(L) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
syarat f(a)*f(b) < 0
Dari
a =
sampai b =
Nilai Resistor (R) =
Nilai kapasitor (C) =
Waktu (t) =
disipasi (q/q0) =

Iterasi ke-1
a
= 3.0000000
f(a) = 0.0004310
b
= 4.0000000
f(b) = -0.0226830
x
= (a+b)/2 = 3.5000000
f(x) = -0.0130963

f(a).f(x) = -5.6450796592E-06 < 0


nilai b=x = 3.5000000
Selang pada iterasi ke-1 adalah =
0.5000000

Iterasi ke-2
a
= 3.0000000
f(a) = 0.0004310
b
= 3.5000000
f(b) = -0.0130963
x
= (a+b)/2 = 3.2500000
f(x) = -0.0067836
f(a).f(x) = -2.9240114041E-06 < 0
nilai b=x = 3.2500000
Selang pada iterasi ke-2 adalah =
0.2500000

Iterasi ke-3
a
= 3.0000000
f(a) = 0.0004310
b
= 3.2500000
f(b) = -0.0067836
x
= (a+b)/2 = 3.1250000
f(x) = -0.0032809
f(a).f(x) = -1.4142260533E-06 < 0
nilai b=x = 3.1250000
Selang pada iterasi ke-3 adalah =
0.1250000

Iterasi ke-4
a
= 3.0000000
f(a) = 0.0004310
b
= 3.1250000
f(b) = -0.0032809
x
= (a+b)/2 = 3.0625000
f(x) = -0.0014499
f(a).f(x) = -6.2497333517E-07 < 0
nilai b=x = 3.0625000
Selang pada iterasi ke-4 adalah =
0.0625000

Iterasi ke-5
a
= 3.0000000
f(a) = 0.0004310
b
= 3.0625000
f(b) = -0.0014499
x
= (a+b)/2 = 3.0312500
f(x) = -0.0005155
f(a).f(x) = -2.2220648179E-07 < 0
nilai b=x = 3.0312500
Selang pada iterasi ke-5 adalah =
0.0312500

Iterasi ke-6
a
= 3.0000000
f(a) = 0.0004310
b
= 3.0312500
f(b) = -0.0005155
x
= (a+b)/2 = 3.0156250
f(x) = -0.0000437
f(a).f(x) = -1.8849355068E-08 < 0

nilai b=x = 3.0156250


Selang pada iterasi ke-6 adalah =
0.0156250

Iterasi ke-7
a
= 3.0000000
f(a) = 0.0004310
b
= 3.0156250
f(b) = -0.0000437
x
= (a+b)/2 = 3.0078125
f(x) = 0.0001933
f(a).f(x) = 8.3314623686E-08 > 0
nilai a=x = 3.0078125
Selang pada iterasi ke-7 adalah =
0.0078125

Iterasi ke-8
a
= 3.0078125
f(a) = 0.0001933
b
= 3.0156250
f(b) = -0.0000437
x
= (a+b)/2 = 3.0117188
f(x) = 0.0000747
f(a).f(x) = 1.4435483920E-08 > 0
nilai a=x = 3.0117188
Selang pada iterasi ke-8 adalah =
0.0039063

Iterasi ke-9
a
= 3.0117188
f(a) = 0.0000747
b
= 3.0156250
f(b) = -0.0000437
x
= (a+b)/2 = 3.0136719
f(x) = 0.0000155
f(a).f(x) = 1.1541967456E-09 > 0
nilai a=x = 3.0136719
Selang pada iterasi ke-9 adalah =
0.0019531

Iterasi ke-10
a
= 3.0136719
f(a) = 0.0000155
b
= 3.0156250
f(b) = -0.0000437
x
= (a+b)/2 = 3.0146484
f(x) = -0.0000141
f(a).f(x) = -2.1857688106E-10 < 0
nilai b=x = 3.0146484
Selang pada iterasi ke-10 adalah =
0.0009766

Iterasi ke-11
a
= 3.0136719
f(a) = 0.0000155
b
= 3.0146484
f(b) = -0.0000141
x
= (a+b)/2 = 3.0141602
f(x) = 0.0000007
f(a).f(x) = 1.0105906958E-11 > 0
nilai a=x = 3.0141602

Selang pada iterasi ke-11 adalah =


0.0004883

Iterasi ke-12
a
= 3.0141602
f(a) = 0.0000007
b
= 3.0146484
f(b) = -0.0000141
x
= (a+b)/2 = 3.0144043
f(x) = -0.0000067
f(a).f(x) = -4.4108119667E-12 < 0
nilai b=x = 3.0144043
Selang pada iterasi ke-12 adalah =
0.0002441

Iterasi ke-13
a
= 3.0141602
f(a) = 0.0000007
b
= 3.0144043
f(b) = -0.0000067
x
= (a+b)/2 = 3.0142822
f(x) = -0.0000030
f(a).f(x) = -1.9916571972E-12 < 0
nilai b=x = 3.0142822
Selang pada iterasi ke-13 adalah =
0.0001221

Iterasi ke-14
a
= 3.0141602
f(a) = 0.0000007
b
= 3.0142822
f(b) = -0.0000030
x
= (a+b)/2 = 3.0142212
f(x) = -0.0000012
f(a).f(x) = -7.8203535101E-13 < 0
nilai b=x = 3.0142212
Selang pada iterasi ke-14 adalah =
0.0000610

Iterasi ke-15
a
= 3.0141602
f(a) = 0.0000007
b
= 3.0142212
f(b) = -0.0000012
x
= (a+b)/2 = 3.0141907
f(x) = -0.0000003
f(a).f(x) = -1.7721285369E-13 < 0
nilai b=x = 3.0141907
Selang pada iterasi ke-15 adalah =
0.0000305

Iterasi ke-16
a
= 3.0141602
f(a) = 0.0000007
b
= 3.0141907
f(b) = -0.0000003
x
= (a+b)/2 = 3.0141754
f(x) = 0.0000002
f(a).f(x) = 1.2520126181E-13 > 0
nilai a=x = 3.0141754
Selang pada iterasi ke-16 adalah =
0.0000153


Iterasi ke-17
a
= 3.0141754
f(a) = 0.0000002
b
= 3.0141907
f(b) = -0.0000003
x
= (a+b)/2 = 3.0141830
f(x) = -0.0000000
f(a).f(x) = -7.6142425274E-15 < 0
nilai b=x = 3.0141830
Selang pada iterasi ke-17 adalah =
0.0000076

Iterasi ke-18
a
= 3.0141754
f(a) = 0.0000002
b
= 3.0141830
f(b) = -0.0000000
x
= (a+b)/2 = 3.0141792
f(x) = 0.0000001
f(a).f(x) = 1.4521556052E-14 > 0
nilai a=x = 3.0141792
Selang pada iterasi ke-18 adalah =
0.0000038

Iterasi ke-19
a
= 3.0141792
f(a) = 0.0000001
b
= 3.0141830
f(b) = -0.0000000
x
= (a+b)/2 = 3.0141811
f(x) = 0.0000000
f(a).f(x) = 1.3681123370E-15 > 0
nilai a=x = 3.0141811
Selang pada iterasi ke-19 adalah =
0.0000019

Iterasi ke-20
a
= 3.0141811
f(a) = 0.0000000
b
= 3.0141830
f(b) = -0.0000000
x
= (a+b)/2 = 3.0141821
f(x) = -0.0000000
f(a).f(x) = -1.9599295959E-16 < 0
nilai b=x = 3.0141821
Selang pada iterasi ke-20 adalah =
0.0000010
Sebab Selang (b-a) = 9.5367431641E-07 < Epsilon maka
Akarnya adalah =

b. Posisi palsu
Listing :

3.0141821

Program Posipal;
Uses crt, dos;
Var
a, b, x, xlama, Akar, fakar, fa, fb, fx, Galat, R, L, C, t,
disipasi : Real;
Iterasi : Integer;

Keluaran : Text;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Begin

Assign (Keluaran, 'Posipal4.txt');


ReWrite (Keluaran);
ClrScr;
WriteLn (Keluaran,'Pencarian akar dengan Metode Posisi Palsu
untuk fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(L) = e
. Cos \/ --- - (---) .t - ');
WriteLn (Keluaran,'
L.C
2.L
q0
');
WriteLn (Keluaran,'Selang / range yang akan dicari akarnya');
WriteLn (Keluaran,'Dari
a = ');
ReadLn (a);
WriteLn (Keluaran,'sampai b = ');
ReadLn (b);
WriteLn (Keluaran,'Nilai Resistor (R) = ');
ReadLn (R);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
ReadLn (C);
WriteLn (Keluaran,'Waktu (t) = ');
ReadLn (t);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
Iterasi := 1;
xlama
:= 2*b-a;
Repeat
fa
:= Fungsi(R, a, C, t, disipasi);
fb
:= Fungsi(R, b, C, t, disipasi);
x
:= b - fb*((b-a)/(fb-fa));
fx
:= Fungsi(R, x, C, t, disipasi);
Galat
:= Abs((x - xlama)/(x));
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',Iterasi);
WriteLn (Keluaran,'a
= ',a:10:7);
WriteLn (Keluaran,'f(a) = ',fa:10:7);
WriteLn (Keluaran,'b
= ',b:10:7);
WriteLn (Keluaran,'f(b) = ',fb:10:7);

WriteLn (Keluaran,'x
= ',x:10:7);
WriteLn (Keluaran,'f(x) = ',fx:10:7);
WriteLn (Keluaran,'Galat = ',Galat:10:7);
If ((fa*fx) < 0) then
Begin
b := x;
WriteLn (Keluaran,'Sebab fa*fx = ',fa*fx,' < 0
maka b = x');
end
else
Begin
a := x;
WriteLn (Keluaran,'Sebab fa*fx = ',fa*fx,' >
0 maka a = x');
end;
xlama := x;
Iterasi := Iterasi + 1;
Until (Galat <= Epsilon);
Akar := x;
WriteLn;
WriteLn (Keluaran,'Sebab Galat = ',Galat:11:7,' < Epsilon
maka');
WriteLn (Keluaran,'Akarnya adalah = ',Akar:10:7);
Close(Keluaran);
End.

Output :
Pencarian akar dengan Metode Posisi Palsu untuk fungsi :
R.t
- --_____________
2.L
_ / 1
R 2
q
f(L) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
Dari
a = 3
sampai b = 4
Nilai Resistor (R) = 300
Nilai kapasitor (C) = 0.0001
Waktu (t) = 0.05
disipasi (q/q0) = 0.01

Iterasi ke-1
a
= 3.0000000
f(a) = 0.0004310
b
= 4.0000000
f(b) = -0.0226830
x
= 3.0186486
f(x) = -0.0001353
Galat = 0.6563704
Sebab fa*fx = -5.8302009567E-08 < 0 maka b = x

Iterasi ke-2
a
= 3.0000000
f(a) = 0.0004310
b
= 3.0186486

f(b) = -0.0001353
x
= 3.0141945
f(x) = -0.0000004
Galat = 0.0014777
Sebab fa*fx = -1.6647963648E-10 < 0 maka b = x

Iterasi ke-3
a
= 3.0000000
f(a) = 0.0004310
b
= 3.0141945
f(b) = -0.0000004
x
= 3.0141818
f(x) = -0.0000000
Galat = 0.0000042
Sebab fa*fx = -4.7390592457E-13 < 0 maka b = x

Iterasi ke-4
a
= 3.0000000
f(a) = 0.0004310
b
= 3.0141818
f(b) = -0.0000000
x
= 3.0141817
f(x) = -0.0000000
Galat = 0.0000000
Sebab fa*fx = -1.1944737390E-15 < 0 maka b = x
Sebab Galat =
0.0000000 < Epsilon maka
Akarnya adalah =

3.0141817

c. Secant
Listing
Program Secant;
Uses crt, dos;
Type
Indeks = array[0..100] of Real;
Var
a, b, Akar, fakar, fx, Galat, R, L, C, t, disipasi : Real;
I, Maks : Integer;
Keluaran : Text;
x, f
: Indeks;
Const
Epsilon = 1e-6;
Function Fungsi (R, L, C, t, disipasi : Real) : Real;
var
Sudut : Real;
Begin
sudut := sqrt((1/(L*C))- Sqr((R/(2*L))))*t;
Fungsi := EXP(-(R*t)/(2*L))*Cos (Sudut) - Disipasi;
End;
Label 1;
Begin

Assign (Keluaran, 'Secant4.txt');


ReWrite (Keluaran);
ClrScr;

WriteLn (Keluaran,'Pencarian akar dengan Metode Secant untuk


fungsi : ');
WriteLn (Keluaran,'
R.t
');
WriteLn (Keluaran,'
- --_____________
');
WriteLn (Keluaran,'
2.L
_ / 1
R 2
q
');
WriteLn (Keluaran,'f(L) = e
. Cos \/ --- - (---) .t - ');
WriteLn (Keluaran,'
L.C
2.L
q0
');
WriteLn (Keluaran,'Selang / range yang akan dicari akarnya');
WriteLn (Keluaran,'Dari
x0 = ');
ReadLn (x[0]);
WriteLn (Keluaran,'sampai x1 = ');
Read (x[1]);
WriteLn (Keluaran,'Nilai Resistor (R) = ');
Read (R);
WriteLn (Keluaran,'Nilai kapasitor (C) = ');
Read (C);
WriteLn (Keluaran,'Waktu (t) = ');
Read (t);
WriteLn (Keluaran,'disipasi (q/q0) = ');
ReadLn (disipasi);
WriteLn (Keluaran,'Iterasi maksimum =');
ReadLn (Maks);
For I := 0 to Maks do
Begin
f[I]
:= Fungsi(R, x[I], C, t, disipasi);
f[I+1] := Fungsi (R, x[I+1], C, t, disipasi);
WriteLn
(Keluaran,'');
WriteLn (Keluaran,'Iterasi ke-',I+1);
WriteLn (Keluaran,'x',I,'
= ',a:10:7);
WriteLn (Keluaran,'f(x',I,') = ',f[I]:10:7);
WriteLn (Keluaran,'x',I+1,'
= ',x[I+1]:10:7);
WriteLn (Keluaran,'f(x',I+1,') = ',f[I+1]:10:7);
x[I+2] := x[I+1] - (f[I+1])*((x[I+1] - x[I])/(f[I+1]f[I]));
Galat := Abs((x[I+1]-x[I])/(x[I+1]));
f[I+2] := Fungsi (R, x[I+2], C, t, disipasi);
WriteLn (Keluaran,'x',I+2,'
= ',f[I+2]:10:7);
WriteLn (Keluaran,'Galat = ',Galat:10:7);
If (Galat <= Epsilon) then
Begin
Akar := x[I+1];
WriteLn (Keluaran,'Sebab Galat = ',Galat:10:7,'
maka');
WriteLn (Keluaran,'Akarnya = ',Akar:10:7);
ReadKey;
Goto 1;
End;
End;
WriteLn (Keluaran,'Proses Belum Konvergen');

ReadKey;
1: Close(Keluaran);
End.

Output :

Pencarian akar dengan Metode Secant untuk fungsi :


R.t
- --_____________
2.L
_ / 1
R 2
q
f(L) = e
. Cos \/ --- - (---) .t - L.C
2.L
q0
Selang / range yang akan dicari akarnya
Dari
x0 = 3
sampai x1 = 4
Nilai Resistor (R) = 300
Nilai kapasitor (C) = 0.0001
Waktu (t) = 0.05
disipasi (q/q0) = 0.01
Iterasi maksimum = 100

Iterasi ke-1
x0
= 0.0000000
f(x0) = 0.0004310
x1
= 4.0000000
f(x1) = -0.0226830
x2
= -0.0001353
Galat = 0.2500000

Iterasi ke-2
x1
= 0.0000000
f(x1) = -0.0226830
x2
= 3.0186486
f(x2) = -0.0001353
x3
= 0.0000430
Galat = 0.3250963

Iterasi ke-3
x2
= 0.0000000
f(x2) = -0.0001353
x3
= 3.0127617
f(x3) = 0.0000430
x4
= -0.0000000
Galat = 0.0019540

Iterasi ke-4
x3
= 0.0000000
f(x3) = 0.0000430
x4
= 3.0141830
f(x4) = -0.0000000
x5
= -0.0000000
Galat = 0.0004715

Iterasi ke-5
x4
= 0.0000000
f(x4) = -0.0000000
x5
= 3.0141817

f(x5)
x6
Galat
Sebab

= -0.0000000
= -0.0000000
= 0.0000004
Galat = 0.0000004 maka

Akarnya =

3.0141817

5. Dengan cara metode N-R (Menggunakan bahasa Fortran)


WRITE(6,*)Perhitungan Dengan cara N R
N=0
WRITE(*,*)Masukkan salah satu selang
READ(5,*)A
EPS=1E-6
PI=3.14159265
MAX=50
10 N=N+1
WRITE(6,*) Pada Iterasi ke,N
FA=(10)*(EXP(-A))*(SIN(2*PI*A))-2
WRITE(6,*)
Nilai fungsi F(Xn)=,FA
FA=(10*EXP(-A))*(((2*PI)*COS(2*PI*A))SIN(2*PI*A))
WRITE(6,*) Nilai fungsi F(Xn)=,F2
F3=ABS(F2)
IF(F3.LE.EPS)GO TO 18
XN=A-(FA/F2)
EA=ABS((XN-A)/XN)
WRITE(6,*) Nilai Absolut=,EA
IF(EA.LE.EPS)GO TO 20
A=XN
IF(N.EQ.MAX)GO TO 30
GO TO 10
18 WRITE(6,*)Metode Gagal
GO TO 30
20 E=XN
WRITE(6,*) HASIL AKAR ADALAH,E
WRITE(6,*)
WRITE(6,*) PERHITUNGAN SELESAI
WRITE(6,*) This Program Created By Kelompok
II
WRITE(6,*)
30 STOP
END

6. Diketahui suatu fungsi kecepatan penerjun paying


dengan persamaan sbb :
g .m
V(t) =
1 e ( c / m )t
c
dimana : m = massa (gr)
g = gravitasi (980 cm/det2)
c = koefisien tahanan (gr/det)
t = waktu (det)
Bila m = 68.100 gr, c = 12.500 gr/det, dalam keadaan diam t = 0, v = 0. hitung
kecepatan tersebut mulai dari t = 0 sampai t = 16 det dengan t = 2 det !

Penyelesaian :
Diketahui : Kecepatan penerjun payung
g.m
1 e ( c / m )t
V(t) =
c
m = 68.100 gr
c = 12.500 gr/det
t = 16 det dengan selang t = 2 det
Dit : kecepatan penerjun dari t = 0 sampai t = 165 det
Jawab :
g.m
1 e ( c / m )t
V(t) =
c

980.68100
1 e (12500 / 68100 ) t
12500
V (t ) 5339,04 1 e 0 ,183553597 t
V (t )

Untuk t = 0
V(0) = 0
Untuk t = 2 det
V (t ) 5339,04 1 e 0 ,183553597 ( 2 )
Untuk t = 4 det
V (t ) 5339,04 1 e 0,183553597 ( 4)
Untuk t = 6 det
V (t ) 5339,04 1 e 0,183553597 ( 6 )
Untuk t = 8 det
V (t ) 5339,04 1 e 0,183553597 (8)
Untuk t = 10 det
V (t ) 5339,04 1 e 0,183553597 (10 )
Untuk t = 12 det
V (t ) 5339,04 1 e 0,183553597 (12 )
Untuk t = 14 det
V (t ) 5339,04 1 e 0 ,183553597 (14 )

= 1640,49808 cm/det

= 2776,9291 cm/det

= 3564,175156 cm/det

= 4109,528323 cm/det

= 4487,313757 cm/det

= 4749,019095 cm/det

= 4930,311642 cm/det

Untuk t = 16 det
V (t ) 5339,04 1 e 0,183553597 (16 ) = 5055,899405 cm/det
7. Dari persamaan soal nomor 6 dapat ditulis
g.m
1 e ( c / m )t - V = 0
f(c) =
c
harga c yang membuat f = 0 merupakan akar persamaan tersebut. Bila m =
68.100 gr, g = 980 cm/det 2, v = 4749 cm/det dalam waktu t = 12 det. Hitung
konstanta c!

Penyelesaian :
Diket :

g.m
1 e ( c / m )t - V = 0
c

f(c) =

m = 68.100 gr
g = 980 cm/det2 = 9,8 m/det2
v = 4749 cm/det = 47,49 m/det
t = 12 det
Dit : Nilai konstanta c ?
Jawab :
g.m
1 e ( c / m )t - V
f(c) =
c

9,8 x 68,1
1 e ( c / 68,1)12 - 47,49
c
667,38
1 e 0,176211453 c - 47,49
f(c) =
c

f(c) =

mencari nilai c dengan cara tabulasi :


c
f(c)
0
0
2
51,62168182
4
36,90375763
6
25,09832240
8
15,55917534
10
7,790323113
12
1,412875532
14
-3,864435254
Jadi selang nilai c terjadi antara 12 14.
Mencari nilai c dengan Metoda Secant :
C0 = 12
f(c) = 1,412875532
C1 = 14
f(c) = -3,864435254
Iterasi 1
C2 = C1 f(C1)

C1 C 0
f (C1 ) f (C 0 )

14 12

C2 = 14 (-3,864435254) 3,864435254 1,412875532


C2 = 12,53984654
f(C2)

667,38
1 e 0,176211453 12 , 53984654 12,53984654

-0,109562119
Iterasi 2
C 2 C1
C3 = C2 f(C2)
f (C 2 ) f (C1 )
C3
=
12,53984654

12,53984654 14
- 0,109562119 (3,864435254)

C3 = 12,49724124
f(C3)

C4 = C3 f(C3)

C4 = 12,50007445
=

47,49

C3 C 2
f (C 3 ) f (C 2 )

C4 = 12,49724124 (0,007804773)
f(C4)

(-0,109562119)

667,38
1 e 0 ,176211453 12, 49724124 12,49724124

0,007804773
Iterasi 3

47,49

12,49724124 12,53984654
0,007804773 (0,109562119 )

667,38
1 e 0 ,176211453 12, 49724124 12,50007445

47,49

-0,000014542
Iterasi 4

C 4 C3
f (C 4 ) f (C 3 )
=
12,50007445

C5 = C4 f(C3)
C5

12,50007445 12,49724124
- 0,000074452 (0,007804773)

C5 = 12,50006918
Penghentian iterasi bila :
C5 C 4
C5

ps

12,50006918 12,50007445
10 6
12,50006918
0,00000527
10 6
12,50006918

4,21x10-7 10

(-0,000014542)

jadi nilai c = 12,50006918 kg/det = 12.500,06918 gr/det.

Anda mungkin juga menyukai