PROCEDURE & FUNCTION FajrizaL
PROCEDURE Merupakan blok program yg terpisah dr program lain ( modul / sub program ), dan dapat dipanggil dari program lain dengan menyebutkan nama dari procedure yg bersangkutan. Contoh : program pemakaian_procedure; uses crt; procedure input_data; begin write ( “ NIM = “ ); readln ( nim ) ; write ( “ Nama = “ ); readln ( nama ) ; end; var nim : string [ 14 ] ; nama : string [ 20 ] ; clrscr ; input_data; writeln ( “ Selesai … “ ) ; end
Program contoh_proc_dua ; uses crt; procedure tampil2 ; begin write ( “ Dengan Menggunakan “ ) ; end; procedure tampil1 ; write ( “ Struktur Data “ ) ; tampil2 ; writeln ( “ Turbo Pascal “ ) ; clrscr ; write ( “ Belajar “ ) ; tampil1 ; writeln ( “ Versi 7.0 “ ) ; end
FUNCTION Blok fungsi hampir sama dengan procedure, hanya saja fungsi harus di deklarasikan dg tipe nya. Buat program untuk menghitung jumlah 2 bilangan yg dilakukan dg fungsi & nilai dari kedua bilangan tsb, dikirimkan dr luar fungsi, yg mana nilai dr kedua bilangan harus diinputkan. Program penjumlahan; Uses crt : Var bil1, bil2: byte; function hasil (var A,B: byte) : integer; Begin hasil:=A+B; end; begin clrscr; write (‘Bilangan 1=‘);readln(bil1); write (‘Bilangan 2=‘);readln(bil2); write (‘Bilangan1+Bilangan2=“, hasil(bil1,bil2)); end
Buat Program dg mengg. fungsi utk mencari nilai terbesar dan nilai terkecil dr 2 buah bilangan. Kedua bil tsb dikrimkan dr luar prosedur/fungsi & bilangannya hrs diinputkan!
Procedure Cara 1 Uses crt; var A,B,max,min:byte; function proses (var A,B:byte); begin if A>B then max:=A; min:=B; end else Begin max:=B; min:=A; end; clrscr; write (‘Bilangan 1=‘);readln(A); write (‘Bilangan 2=‘);readln(B); if A=B then writeln (‘Tidak ada nilai terbesar dan terkecil’) proses (A,B); write (‘Bilangan terbesar=‘,max); write (‘Bilangan terkecil=‘,min); Procedure Cara 1
Function Uses crt; function max (A,B:byte):byte; begin if A>B then else max:=B; end; function min (A,B:byte):byte; if A<B then min:=A; min:=B; var A,B:byte; clrscr; write (‘Bilangan 1=‘);readln(A); write (‘Bilangan 2=‘);readln(B); if A=B then writeln (‘Tidak ada bilangan terbesar dan terkecil’) writeln (‘Bilangan terbesar=‘,max(A,B)); writeln (‘Bilangan terkecil=‘,min(A,B)); end Function
Uses crt; var A,B; function terbesar(var A,B:byte); begin if A>B then max:=A; else max:=B; end; function terkecil(var A,B:byte); if A<B then min:=A; min:=B; clrscr; write (‘Bilangan 1=‘);readln(A); write (‘Bilangan 2=‘);readln(B); if A=B then writeln (‘Tidak ada nilai terbesar dan terkecil’) terbesar(A,B); write (‘Bilangan terbesar=‘,max); terkecil(A,B); write (‘Bilangan terkecil=‘,min); end