Function Menghitung Pangkat Bilangan dengan Pascal
July 26th, 2008 | by rosihanari | Cetak Artikel
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:
01.
function
pangkatBulat(a : real, <strong>b : integer</strong>) : real;
02.
var
i : integer; temp : real;
03.
begin
04.
    temp := 1;
05.
   Â
for
i := 1 to b
do
06.
 begin
07.
 temp := temp * a;
08.
Â
end
;
09.
   pangkat := temp;
10.
end
;
01.
temp = 1
02.
03.
perulangan pertama (i = 1)
04.
temp = temp x a = 1 x 3 = 3
05.
06.
perulangan kedua (i = 2)
07.
temp = temp x a = 3 x 3 = 9
08.
09.
perulangan ketiga (i = 3)
10.
temp = temp x a = 9 x 3 = 27
11.
12.
perulangan keempat (i = 4)
13.
temp = temp x a = 27 x 3 = 81
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
<=> Ln y = Ln (a^b)
<=> Ln y = b Ln(a)
<=> e^(Ln y) = e^(b Ln(a))
<=> y = e^(b Ln(a))
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:
1.
function
pangkatRiil(a : real, <strong>b : real</strong>) : real;
2.
begin
3.
pangkatRiil :=
exp
(b * ln(a));
4.
end
;
01.
Program MencariPangkat;
02.
Var x : real; y : integer; z : real;
03.
04.
function
pangkatBulat(a : real, b : integer) : real;
05.
var
i : integer; temp : real;
06.
begin
07.
    temp := 1;
08.
   Â
for
i := 1 to b
do
09.
 begin
10.
 temp := temp * a;
11.
Â
end
;
12.
   pangkat := temp;
13.
end
;
14.
15.
function
pangkatRiil(a : real, <strong>b : real</strong>) : real;
16.
begin
17.
pangkatRiil :=
exp
(b * ln(a));
18.
end
;
19.
20.
Begin
21.
x := 5;
22.
y := 3;
23.
z := 3.5;
24.
Write(
'Nilai '
,x,
' pangkat '
,y,
' adalah '
,
25.
pangkatBulat(x,y):3:0);
26.
Write(
'Nilai '
,x,
' pangkat '
,z,
' adalah '
,
27.
pangkatRiil(x,z):3:4);
28.
End
.
0 Responses to " "
Posting Komentar