Function

advertisement
Function
Pertemuan 7
Jurusan Sistem Informasi
Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Gunadarma
2015
Fungsi tanpa parameter
 Parameter dalam fungsi
 Fungsi Standar Aritmatika
 Fungsi Tersarang (Fungsi memanggil
dirinya sendiri)

Function
Fungsi adalah suatu program terpisah dalam
blok sendiri yang berfungsi sebagai sub
program (modul program) yang merupakan
sebuah program kecil untuk memproses
sebagian dari pekerjaan program utama.
 Fungsi tidak hanya digunakan untuk
mengelompokkan baris-baris perintah
seperti prosedur, tetapi fungsi dapat
menampung nilai yang disimpan dengan nama
fungsi.

Function
Blok fungsi sama dengan blok prosedur,
blok fungsi harus dideklarasikan dengan
tipenya atau jenis hasilnya.
 Tipe deklarasi fungsi menunjukkan tipe
hasil dari fungsi.
 Fungsi merupakan modul program yang
menghasilkan suatu kuantitas.

Penulisan Header Function

Header Function Tanpa Parameter
Function nama : jenis hasil;
Function <NamaFunction> : TipeData ;
Contoh :
Function Hitung : Integer;
Function Nama : String;
Function Check : Boolean;
Header Function Tanpa Parameter

Struktur Blok Program :
Program <NamaProgram>
Function <NamaFunction> : TipeData;
Begin
……
End;
Begin
……
End.
Contoh Program
Program Hitung;
Var x,y:byte;
Function Tambah:byte;
Begin
Tambah:=x+y;
End;
Function Kali:byte;
Begin
Kali:=x*y;
End;
Begin
Writeln(‘X=‘); Readln(x);
Writeln(‘Y=‘); Readln(y);
Writeln(‘X+Y=‘,
Tambah); Readln;
Writeln(‘X*Y=‘, Kali);
Readln;
End.
Penulisan Header Function

Header Function Dengan Parameter
Function nama(formal parameter : jenis) : jenis_hasil;
Function <NamaFunction> (<Daftar Parameter>) : TipeData;
Contoh :
Function Hitung (a,b:byte) : integer;
Function CheckPosisi (x,y:integer) :
boolean;
Header Function Dengan Parameter

Struktur Blok Program
Program <NamaProgram>
Function <NamaFunction> (<Daftar Parameter>) : TipeData;
Begin
……
End;
Begin
……
End.
Contoh Program
Program Hitung;
Function Tambah (x,y:byte)
: byte;
Begin
Tambah:=x+y;
End;
Function Kali (x,y:byte) : byte;
Begin
Kali:=x*y;
End;
Var x,y:byte;
Begin
Writeln(‘X=‘); Readln(x);
Writeln(‘Y=‘); Readln(y);
Writeln(‘X+Y=‘, Tambah(x,y));
Writeln(‘X*Y=‘, Kali(x,y));
End.
Function dan Procedure


Pada fungsi nilai yang dikirim balik terdapat
pada nama fungsinya. Pada prosedur pada
parameter yang dikirim sebagai acuan.
Nilai balik berada di nama fungsi maka fungsi
tersebut dapat langsung digunakan untuk
dicetak hasilnya. Pada prosedur, nama
prosedur tidak dapat digunakan langsung,
yang dapat digunakan langsung adalah
parameter yang mengandung nilai balik.
Perbedaan Procedure dan Function
Jika membuat suatu procedure maka
harus dideklarasikan dengan reserved
word “Procedure”. Jika membuat suatu
function harus dideklarasikan dengan
reserved word “Function”
 Functon harus dideklarasikan dengan
typenya, sedangkan procedure tidak. Hal
ini menunjukkan bahwa function dapat
menampung nilai, sedang procedure tidak
dapat menampung nilai.

Persamaan Procedure dan Function



Memecah sebuah program besar menjadi
beberapa
bagian/modul
sehingga
memudahkan pembagian tugas jika program
dibuat oleh lebih dari 1 orang, dan
mempermudah pengecekan kesalahan/error.
Jika terdapat perintah yang sama yang akan
dipakai dalam suatu program, maka sebaiknya
perintah tersebut dipisahkan dalam suatu
modul program dengan bantuan procedure,
sehingga jika ingin memakainya kita hanya
tinggal memanggil nama procedure tersebut.
Mempermudah proses dokumentasi.
Rekursif
Fungsi atau prosedur bersifat rekursif
berarti fungsi atau prosedur tersebut
dapat memanggil dirinya sendiri.
 Contoh :
Function Faktorial (nilai:integer) : integer;
Function Fibonacci (n:integer) : integer;
Function Reserse (num:integer);

Contoh Program Rekursi
Program BilanganFibonacci;
F(0)=0;
F(1)=1;
F(n)=F(n-1)+F(n-2); untuk n>1
Function fibonacci (n:integer) : integer;
Begin
If n:=0 then fibonancci:=0;
Else
If n:=1 then fibonancci
Else fibonnacci:=fibonacci (n-1)+fibonacci (n-2);
End.
Fungsi Standar
Fungsi Standar Aritmatika
 Fungsi Standar Transfer
 Fungsi Standar Lainnya

Fungsi Standar Aritmatika


Fungsi Standar ABS
Memutlakkan suatu nilai yang ditunjukkan oleh argumen x.
Bentuk umum : ABS(x);
Fungsi Standar EXP
Menghitung nilai pangkat dari bilangan e yaitu sebesar ex.
Hasilnya berupa nilai real. Bentuk umum : EXP(x:):real;


Fungsi Standar LN
Menghitung nilai logaritma alam (natiral logaritma) dari nilai x.
Hasilnya berupa nilai real. Bentuk umum : LN(x):real;
Fungsi Standar INT
Menghasilkan nilai intreger dari x. Hasil dari fungsi adalah tipe
real dengan nilai yang berupa pembulatan ke bawah (nilai
pecahan dibuang) dari nilai x. Bentuk umum : INT(x:real):real;
Fungsi Standar Aritmatika
 Fungsi
Standar FRAC
Mendapatkan nilai pecahan dari argumen x.
Argumen x dapat bernilai real maupun integer
dan hasil dari fungsi adalah real. Bentuk umum :
FRAC(x):real;
 Fungsi Standar SQR
Menghitung nilai pangkat kuadrat dari argumen x.
Bentuk umum : SQR(x);
 Fungsi Standar SQRT
Menghitung nilai akar dari argumen x, hasilnya
berupa real. Bentuk umum : SQRT(x):real;
 Fungsi Standar PI, SIN, COS, ARCTAN
Fungsi Standar Transfer
Digunakan untuk merubah suatu nilai ke
bentuk nilai lain.
 Fungsi Standar CHR
Merubah nilai byte x ke bentuk karakter
yang sesuai dengan kode ASCII. Bentuk
umum : CHR(x:byte):char;
 Fungsi Standar ORD
Merubah nilai x ke bentuk nilai longint yang
sesuai dengan kode ASCII dan kebalikan dari
fungsi CHR. Bentuk umum : ORD(x):longint;
Fungsi Standar Transfer


Fungsi Standar Round
Membulatkan nilai dari real x ke nilai longint
yang terdekat. Nilai pecahan sama dengan
atau > 0.5 akan dibulatkan ke atas, < 0.5
dibulatkan ke bawah. Bentuk umum :
ROUND(x:real):longint;
Fungsi Standar Trunc
Membulatkan nilai dari real x ke nilai longint
terkecil atau membulatkan kebawah. Bentuk
umum : TRUNC(x:real):longint;
Fungsi Standar Lainnya




Fungsi Standar Hi, Lo, Swap
Fungsi Standar Random. Random [(range:word)];
Menghasilkan angka random berkisar dari nilai lebih
besar atau sama dengan nol dan lebih kecil dari satu.
Bila range tidak disebutkan hasil dari fungsi ini adalah
real tetapi bila range disebutkan hasilnya adalah word.
Fungsi Standar SizeOf. SizeOf(x):word;
Menunjukkan besarnya byte yang digunakan oleh
suatu variabel x, hasilnya berupa nilai word.
Fungsi Standar UPCASE. UpCase(Ch:char):char;
Merubah argumen suatu karakter yang ditunjukkan
oleh Ch menjadi bentuk karakter huruf besar(upper
case).
Download