1 / 3

MODUL 12

MODUL 12. FUNGSI. 12.1 Pendahuluan. Blok fungsi hamper 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:.

kyrie
Download Presentation

MODUL 12

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MODUL 12 FUNGSI 12.1 Pendahuluan Blok fungsi hamper 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 wincrt; 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. Bila program dijalankan akan didapatkan output: Nilai X ? 3 Nilai Y ? 6 1 http://www.mercubuana.ac.id

  2. http://www.mercubuana.ac.id Function Hitung(A,B : integer) : integer; Contoh: Berikut ini akan dibuat suatu fungsi yang akan menghasilkan nilai terbesar dari 2 buah nilai real. program contohfungsi2; uses wincrt; function Terbesar(X,Y : real) : real; begin if X > Y then Terbesar := X else Terbesar := Y; end; var Nilai1, Nilai2 : real; begin write('Nilai pertama ? '); readln(Nilai1); write('Nilai kedua ? '); readln(Nilai2); writeln('Nilai terbesar adalah ' ,Terbesar(Nilai1,Nilai2):4:2); end. Bila program dijalankan akan didapatkan output: Nilai pertama ? 17.08 Nilai kedua ? 10.01 Nilai terbesar adalah 17.08 Pengiriman parameter dengan secara acuan (by reference) akan mengakibatkan perubahan nilai parameter di fungsi juga meberubah nilai parameter di modul yang mengirimkannya. Dengan demikian fungsi yang menggunakan pengiriman parameter secara acuan ini mirip dengan prosedur, yaitu parameter yang dikirimkan secara acuan tersebut dapat dimanfaatkan sebagai hasil balik. Contoh: program contoh3; uses wincrt; function Begin 3 Hitung (Var A,B,C : integer):integer;

  3. http://www.mercubuana.ac.id writeln(X,' * ',Y,' = ',Z); 12.3 Fungsi Memanggil Dirinya Sendiri Seperti halnya prosedur, fungsi juga dapat memanggil dirinya sendiri. Proses fungsi memanggil dirinya sendiri juga merupakan proses recursion. Contoh: program contohfungsi4; uses wincrt; function Faktorial(Nilai : integer) : real; begin if Nilai = 0 then Faktorial := 1 else Faktorial := Nilai * Faktorial(Nilai-1); end; var N : integer; begin write('Berapa faktorial ? '); readln(N); writeln(N,' faktorial = ',Faktorial(N):4:0); end. Bila program dijalankan akan didapatkan output: Berapa faktorial ? 5 4 faktorial = 120 Proses dari recursion tampak sebagai berikut ini. Misalnya akan dihitung nlai dari 5 faktorial sebagai berikut: Faktorial := Nilai * Faktorial(Nilai-1); Faktorial := 5 * Faktorial(5-1); 4 * Faktorial(4-1); 3 * Faktorial(3-1); 5

More Related