Program permutasi telah menunjukkan bahwa prosedur bisa menyederhanakan pekerjaan. Akan tetapi cara tersebut masih terasa kurang sesuai dengan perhitungan matematika yang lumrah. Kita harus memanggil sebuah prosedur dan menyimpan hasil perhitungannya dalam sebuah variabel sementara. Setelah itu kita lakukan lagi perhitungan yang melibatkan variabel-variabel sementara tersebut. Alangkah lebih mudah jika ada subprogram yang bisa secara langsung dianggap sebagai ekspresi.

Prosedur yang bisa dianggap sebagai ekspresi di dalam Delphi disebut dengan fungsi (function). Perbedaan utama antara prosedur dan fungsi adalah digantinya kata procedure menjadi function, serta adanya tipe data hasil dari fungsi tersebut. Disamping itu, proses di dalam fungsi harus mengisi variabel yang disebut dengan result.

Bagian kepala dari fungsi adalah sebagai berikut:

function NamaFungsi(paramater):TipeData;

Seperti halnya prosedur, parameter pada fungsi bersifat opsional.

Contoh program menghitung permutasi dengan fungsi:

program Permutasi2;
{$APPTYPE CONSOLE}
var
  n,r,k:integer;
  Hasil:Extended;
  function Faktorial(bil:integer):Extended;
  var n:integer;
  begin
    result:=1;
    if (bil<>0) then
    begin
      n:=1;
      repeat
        result:=result*n;
        n:=n+1;
      until (n>bil);
    end;
  end;

begin
  Write('Masukkan jumlah unsur (n): ');
  Readln(n);
  Write('Masukkan jumlah pengambilan (r): ');
  Readln(r);
  Write('Masukkan jumlah unsur sama (k): ');
  Readln(k);
  Hasil:=  Faktorial(n)/
      (Faktorial(n-r)*Faktorial(k));
  Writeln('Hasil permutasinya adalah: ',Hasil:0:0);
  Writeln('Tekan Enter');
  Readln;
end.

Dengan menggunakan fungsi, kita tidak lagi membutuhkan variabel sementara. Disamping itu penyusunan ekspresinya menjadi terasa lebih alami.

Time limit is exhausted. Please reload the CAPTCHA.

Beritahu saya melalui email jika ada balasan komentar di artikel ini. Anda juga dapat berlangganan tanpa harus memberi komentar.