Jumat, 16 Januari 2009

Fungsi


Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan tipenya.
Deklarasi Tipe menunjukkan tipe hasil dari fungsi.

FUNCTION Nama_Fungsi(parameter):type;

Contoh :

Function Faktorial(Var Fak, Hasil :integer) : integer;
Function Pangkat(x,y : real) : real;

Contoh Fungsi : 

Function Hitung(var A,B : integer): integer;
Begin
Hitung := A + B;
End;
Var
X,Y : integer;
Begin
write(‘Nilai X ? ‘); readln(X);
write(‘Nilai Y ? ‘); readln(Y);
writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y));
End.

Perbedaan Fungsi dg Prosedur
Pada fungsi, nilai yang dikirimkan balik terdapat pd nama fungsinya, kalau pada prosedur nilai yang dikirim pada parameter yang dikirim secara acuan.
Sehingga nama fungsi digunakan untuk menampung hasil yang akan dikirimkan dari fungsi
Hitung := A + B;

Karena nilai balik berada di nama fungsi, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya.
writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y));


atau nilai fungsi dipindahkan ke variabel lain
Hasil:= Hitung(X,Y);
writeln(X,’ + ‘,Y,’ = ‘,Hasil);

Sedang pada prosedur, nama prosedur tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.

Fungsi Tanpa Parameter
Suatu fungsi yang tanpa parameter berarti nilai balik yang dihasilkannya merupakan nilai yang sudah pasti.
Parameter digunakan untuk memberikan input pada fungsi dan fungsi akan memberikan hasil balik sesuai dengan parameter yang diberikan.
Hasil dari fungsi tanpa parameter tidak dapat diatur dari modul yang menggunakannya, karena tidak ada parameter yang dikirimkan
Fungsi tanpa parameter ini jarang digunakan

Contoh :

Function Deteksi : Boolean;
Begin
Deteksi := True;
End;
Begin
writeln(Deteksi);
End.

Fungsi tersebut jarang digunakan karena nilai dapat langsung ditentukan dimodul yang menggunakannya sbb :

Begin
Writeln(True);
End.

Parameter Dalam fungsi
Sama dengan prosedur, parameter dalam fungsi dapat dikirimkan secara nilai (by value) atau secara acuan (by reference).

Function Hitung (A,B : integer) : integer;
Function Hitungan (var A,B:integer):integer;

Pengiriman Secara Nilai

Function Besar(x,y : integer) : integer;
Begin
if x>y then
besar := x
else
besar:=y;
End;
Var
a,b : integer;
Begin
write(‘ Nilai pertama : ‘); readln(a);
write(‘Nilai kedua : ‘); readln(b);
write(‘Nilai yang besar adalah : ‘,Besar(a,b));
End.

Pengiriman Secara Acuan

Function Hitung (var a,b,c:integer):integer;
Begin
Hitung := a+b;
c := a * b;
End;
Var
x,y,z : integer;
Begin
write(‘ Nilai x : ‘); readln(x);
write(‘Nilai y : ‘); readln(y);
writeln(x,’ + ‘,y,’ = ‘,Hitung(x,y,z));
writeln(x,’ * ‘,y,’ = ‘,z);
End.

Baca Juga 

Tidak ada komentar:

Posting Komentar



Galery Semester

- Pendidikan Pancasila

- Pendidikan Agama (Etika Muslim)

- Matematika Bisnis

- Algoritma dan Struktur Data

- Pemrograman Komputer I

- Bahasa Inggris I

- Elektronika Dasar

- Pengantar Manajemen

- Pengantar Teknologi Informasi

- Konsep Sistem Informasi

- Struktur Data

- Lingkungan Bisnis

- Komunikasi Data

- Bahasa Inggris II

- Teknik Digital

- Organisasi Komputer

- Sistem Operasi

- Statistik Dasar

- Kepemimpinan

- Matematika Diskrit - Mikroprosesor

- Pemrograman

- Tugas Pemrograman

- Pengolahan Basis Data

- Bahasa Inggris III

- Praktikum Hardware / Software

- Jaringan Komputer I

- Komputer Grafis

- E-Commerse

- Praktikum Elektronika Digital

- Jaringan Komputer II

- Manajemen Sains

- Multimedia

- Pemrograman Basis Data

- Pemrograman Komputer II

- Sistem Informasi Manajemen

 Ex-selo Band with girl vocal,and then who is she...?
 


ShoutMix chat widget



free counters
This Blog is proudly powered by Blogger.com | Template by Angga Leo Putra | Modif By Sava