90 likes | 235 Views
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;
E N D
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 ] ; begin clrscr ; input_data; writeln ( “ Selesai … “ ) ; end
Program contoh_proc_dua ; uses crt; procedure tampil2 ; begin write ( “ Dengan Menggunakan “ ) ; end; procedure tampil1 ; begin write ( “ Struktur Data “ ) ; tampil2 ; writeln ( “ Turbo Pascal “ ) ; end; begin 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!
Uses crt; var A,B,max,min:byte; function proses (var A,B:byte); begin if A>B then begin max:=A; min:=B; end else Begin max:=B; min:=A; end; end; begin clrscr; write (‘Bilangan 1=‘);readln(A); write (‘Bilangan 2=‘);readln(B); if A=B then writeln (‘Tidak ada nilai terbesar dan terkecil’) else begin proses (A,B); write (‘Bilangan terbesar=‘,max); write (‘Bilangan terkecil=‘,min); end; end Procedure Cara 1
Uses crt; function max (A,B:byte):byte; begin if A>B then max:=A else max:=B; end; function min (A,B:byte):byte; begin if A<B then min:=A; else min:=B; end; var A,B:byte; begin clrscr; write (‘Bilangan 1=‘);readln(A); write (‘Bilangan 2=‘);readln(B); if A=B then writeln (‘Tidak ada bilangan terbesar dan terkecil’) else begin writeln (‘Bilangan terbesar=‘,max(A,B)); writeln (‘Bilangan terkecil=‘,min(A,B)); end; end Function
Uses crt; var A,B; function terbesar(var A,B:byte); begin if A>B then begin max:=A; else max:=B; end; end; function terkecil(var A,B:byte); begin if A<B then begin min:=A; else min:=B; end; end; begin clrscr; write (‘Bilangan 1=‘);readln(A); write (‘Bilangan 2=‘);readln(B); if A=B then writeln (‘Tidak ada nilai terbesar dan terkecil’) else begin terbesar(A,B); write (‘Bilangan terbesar=‘,max); terkecil(A,B); write (‘Bilangan terkecil=‘,min); end; end