Monday, May 18, 2020

Materi X TKJ : Function

Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi.
Bentuk umum pendeklarasian fungsi:

FUNCTION identifier(daftar-parameter) : type;


Contoh:
       Function Faktorial(Var Fak, Hasil : integer) : integer;
       Function Pangkat(X, Y : real) : real;

           Blok fungsi sama dengan blok prosedur yang diawali dengan kata cadangan Begin dan diakhiri dengan kata cadangan End dan titik koma.

Contoh:
program contohfungsi;
uses crt;
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;
     writeln(X,' + ',Y,' = ',Hitung(X,Y));
end.

Hasil jika program dijalankan :


Nilai X ? 3
                        Nilai Y ? 6


                        6 + 3 = 9

Perbedaan fungsi dengan prosedur adalah:

  • Pada fungsi nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang dikirimkan secara acuan). Pada contoh, nama fungsi tersebut adalah Hitung dan nilai yang kirim balik berada pada nama fungsi tersebut. Sehingga nama fungsi ini harus digunakan untuk menampung hasil yang akan dikirimkan dari fungsi, sebagai berikut:
  • Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya, sebagai berikut:


atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variabel yang lainnya, sebagai berikut:
           
            Hasil:= Hitung(X,Y);
            writeln(X,’ + ‘,Y,’ = ‘,Hasil);

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

No comments:

Post a Comment

Materi XI TKJ : Membuat Tabel Baru

Bentuk umum SQL untuk membuat suatu table secara sederhana sebagai berikut : CREATE TABLE nama_tabel ( field1 tipe(panjang), field2 t...