function - gunadarmaayu_ws.staff.gunadarma.ac.id/downloads/files/42710/7.+fungsi.pdf · fungsi...
TRANSCRIPT
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
Contoh :
Function Hitung : Integer;
Function Nama : String;
Function Check : Boolean;
Function nama : jenis hasil;
Function <NamaFunction> : TipeData ;
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
Contoh :
Function Hitung (a,b:byte) : integer;
Function CheckPosisi (x,y:integer) :
boolean;
Function nama(formal parameter : jenis) : jenis_hasil;
Function <NamaFunction> (<Daftar Parameter>) : TipeData;
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 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).