Upload
m-ade-erik
View
226
Download
0
Embed Size (px)
Citation preview
8/8/2019 08 Function
1/14
FUNCTIONOleh: M. Ade Erik (19870911 201001 1 006)
Doc Versi. 08.00/Pas/OSN/TIK/2010
SMA Negeri 1 Tegal
8/8/2019 08 Function
2/14
Pembahasan:
Parameter dalam Fungsi
Fungsi Memanggil Fungsi Lain
Nested Function
Fungsi Memanggil Dirinya
Fungsi Standard
8/8/2019 08 Function
3/14
Function
Procedure memakai data atau variabel ketika dieksekusi.
Function (fungsi) juga memakai data, tetapi mempunyai
kemampuan untuk menghasilkan nilai pada procedure
atau program yang memanggilnya Syntact
function Nama (deklarasi variabel):tipe_data_hasil;
begin
Pernyataan; end;
8/8/2019 08 Function
4/14
Contoh uses wincrt;
var angka, jawaban : integer;
function KUBIK( x : integer ) : integer;
begin
KUBIK := x * x * x;
end;
begin
Angka:=5;
jawaban := KUBIK ( angka ); {pemanggilan fungsi}
writeln('Hasil pangkat tiga dari ',angka,' adalah ', jawaban)
end.
8/8/2019 08 Function
5/14
Parameter dalam Fungsi
Syntact
Function nama_fungsi(deklarasi
variabel):tipe_data_hasil;
Parameter
Begin
Pernyataan;
End;
8/8/2019 08 Function
6/14
Contoh 1
uses wincrt;
function func1(a:integer):integer;
var i:integer;
begin
for i:=1 to 3 do
Begin a:=a*3; end;
func1:=a;
end;
begin
write(func1(2));
end.
8/8/2019 08 Function
7/14
a:=a*3
i:=1 > a:=2*3 = 6
i:=2 > a:=6*3 = 18
i:=3 > a:=18*3 = 54
Func1:=54
8/8/2019 08 Function
8/14
Fungsi memanggil fungsi lain
Syntact
function Nama1 (deklarasi variabel):tipe_data_hasil;
begin
Pernyataan;
end;
function Nama2 (deklarasi variabel):tipe_data_hasil;
begin
Nama2(nilai_variabel);
end;
8/8/2019 08 Function
9/14
Contoh 2
uses wincrt;
function func1(a:integer):integer;
Begin func1:=a*a*a; end;
function func2(b:integer):integer;
Begin func2:=func1(b)+5; end;
begin write(func2(2));
end.
8/8/2019 08 Function
10/14
Nested Function
syntact
function Nama1 (deklarasi variabel):tipe_data_hasil;
function Nama2 (deklarasi variabel):tipe_data_hasil;
begin
Pernyataan2;
end;
begin
Pernyataan;
end;
8/8/2019 08 Function
11/14
Contoh 3
uses wincrt;
function func1(a:integer):integer;
function func2(b:integer):integer;
Begin func2:=b+10; end;
Begin func1:=a*a*a+func2(a); end;
begin
write(func1(2));
end.
8/8/2019 08 Function
12/14
Fungsi memanggil dirinya (rekursi)
function Nama1 (deklarasi variabel):tipe_data_hasil;
begin
If then
Begin
End
Else
nama1:=nama1(nilai_variabel);
end;
8/8/2019 08 Function
13/14
Contoh 4
uses wincrt;
function func1(a:integer):integer;
begin
if (a=0) then func1:=1
Else func1:=a*func1(a-1);
end;
begin
write(func1(4));
end.
8/8/2019 08 Function
14/14
Fungsi standard
Concat : menggabungkan 2 atau lebih variabel string
Copy: mengambil satu atau beberapa karakter dari
sebuah string
Length: jumlah karakter dalam sebuah string Upcase: mengubah string ke bentuk huruf kapital.
Abs: nilai mutlak dari suatu argumen
Frac: mendapatkan nilai pecahan dari suatu bilangan
Int: memberikan nilai integer dengan cara membuangangka dibelakang koma
Round: Membulatkan data tipe real ke data tipe longint
Trunc: Membulatkan kebawah data tipe real ke data tipe
longint