Selamat datang Di Prosedur dan Fungsi
Sub Program “Adl Program kecil yg dpt di panggil berulang-ulang sesuai dg kebutuhan” Manfaatnya: 1.Memudahkan pembuatan dan pemahaman thd program 2.Terdiri dari blok2x kecil yg memiliki tugas sendiri 3.Dapat dipelajari secara terpisah
Perbedaan Prosedur dan Fungsi 1. Nama tdk menghasilkan nilai jk di panggil melainkan suatu tindakan. 2. Prosedur berdiri sendiri sbg suatu pernyataan 1.Nama menghslkan suatu nilai jk di panggil 2.Fungsi tdk dpt berdiri sendiri sbg pernyataan melainkan sbg operand
Flowchart Procedure Jumlah Baca A, B C= A + B Tulis C Start End Jumlah Start End A,B,C : integer Perhatian…!! Pendeklarasian dapat Dilakukan didalam Prosedur atau dlm Program Utama
Procedure non Parameter Sintak: Procedure nama_prosedur ; Begin Blok pernyataan Blok pernyataanEnd; {Program Utama} Begin nama_prosedur; {Panggil prosedur} nama_prosedur; {Panggil prosedur}End.
Contoh : Program Prosedur_non_parameter; Uses crt; {Deklarasi} Procedure jumlah; Var a,b,jum :integer; {Perhatikan !!!!} Var a,b,jum :integer; {Perhatikan !!!!}Begin read(a,b); read(a,b); jum:= A+B; jum:= A+B; writeln(‘jumlah = ’,jum); writeln(‘jumlah = ’,jum);End;{Deskripsi}Begin writeln(‘***Program menjumlahkan 2 buah nilai***’); Jumlah; {pemanggilan prosedur} writeln(‘program Selesai’);readkey; End.
Bandingkan!!! Uses Crt; {Deklarasi} Var Argumen : String[25]; {Perhatikan !!!} Var Argumen : String[25]; {Perhatikan !!!} Procedure Tampil; Procedure Tampil; Begin Begin write(‘Tulis Argumen anda : ’); write(‘Tulis Argumen anda : ’); readln(Argumen); readln(Argumen); End; End;{Deskripsi}Begin Writeln(‘Hasil tampilan setelah pemanggilan : ’) Writeln(‘Hasil tampilan setelah pemanggilan : ’) Tampil ; {pemanggilan prosedur} Tampil ; {pemanggilan prosedur} readkey; readkey;End.
Uses crt; {Deklarasi} Procedure Jumlah; Var a,b,jum :integer; Var a,b,jum :integer;Begin read(a,b); read(a,b); jum:= A+B; jum:= A+B; writeln(‘jumlah = ’,jum); writeln(‘jumlah = ’,jum);End; Procedure panggil; Begin writeln(‘***Program menjumlahkan 2 buah nilai***’); writeln(‘***Program menjumlahkan 2 buah nilai***’); jumlah; jumlah;End;{Deskripsi}Begin Panggil; {pemanggilan prosedur} readkey;End.
Program Prosedur; uses crt; {Deklarasi Global} var I,jum:word; jawab: Char; label ulang; procedure cetak; {non parameter} begin {awal prosedur} jum:= jum+1; writeln(' Turbo Pascal 7.1'); if jum=5 then exit; cetak; end; {akhir Prosedur Cetak} {Deskripsi} begin {AWAL PROGRAM UTAMA} clrscr; ulang: jum:=0; cetak; write('Mau di ulang kah [y/t] ? ');readln(Jawab); if jawab in ['Y','y'] then goto ulang else exit; end. {AKHIR PROGRAM UTAMA}
Program Procedur_panggil_dirinya_sendiri; Uses crt; {Deklarasi} Procedure Hasil; var I,Fak,Nilai: integer; {ingat tipe 'integer' hanya sampai 7!} I,Fak,Nilai: integer; {ingat tipe 'integer' hanya sampai 7!} n:byte; {jika ingin lebih pakai 'longint'} n:byte; {jika ingin lebih pakai 'longint'} Procedure Faktorial; Procedure Faktorial; begin {awal Blok prosedur Faktorial} begin {awal Blok prosedur Faktorial} {tidak ada nilai awal utk variabel Fak dan I dlm prosedur ini} {tidak ada nilai awal utk variabel Fak dan I dlm prosedur ini} fak:= fak * I; fak:= fak * I; end; {akhir prosedur Faktorial} end; {akhir prosedur Faktorial} begin {awal prosedur Hasil} write('Bilangan Faktorial = ');readln(N); write('Bilangan Faktorial = ');readln(N); I:=1;Fak:=1; {inisialisasi utk nil Fak dan I dlm prosedur Hasil} I:=1;Fak:=1; {inisialisasi utk nil Fak dan I dlm prosedur Hasil}
for I:= 1 to n do for I:= 1 to n do begin {awal For} begin {awal For} Faktorial; Faktorial; {Pemanggilan prosedur Faktorial non parameter; {Pemanggilan prosedur Faktorial non parameter; Blok for dpt dihilangkan krn cuma 1 pernyataan yaitu "Faktorial;"} Blok for dpt dihilangkan krn cuma 1 pernyataan yaitu "Faktorial;"} end; {akhir perulangan For} end; {akhir perulangan For} writeln('hasil Faktorial ',N,'! = ', Fak); writeln('hasil Faktorial ',N,'! = ', Fak); readkey; readkey; end; {akhir prosedur Hasil} {Perhatikan jumlah kata" BEGIN" harus sama dengan kata "END"} {Deskripsi} Begin {--> awal Program Utama} clrscr; clrscr; Hasil;{Panggil Prosedur Hasil} Hasil;{Panggil Prosedur Hasil} End. {--> akhir Program Utama}
Prosedur Berparameter Sintak: Procedure nama_prosedur(var1,var2,..,varN : tipe data) ; tipe data) ;Begin Blok pernyataan Blok pernyataanEnd; {Program Utama} Begin nama_prosedur(var1,var2,..varN); nama_prosedur(var1,var2,..varN); {Panggil prosedur} {Panggil prosedur}End.
Contoh Program Prosedur_parameter; Uses crt; {Deklarasi} Procedure jumlah(A,B: integer); Procedure jumlah(A,B: integer); Var a,b,jum :integer; Var a,b,jum :integer; Begin Begin jum:= A+B; jum:= A+B; writeln(‘jumlah = ’,jum); writeln(‘jumlah = ’,jum); End; End;{Deskripsi}Begin writeln(‘***Program menjumlahkan 2 buah nilai***’); write(‘Nilai Pertama = ’);readln(A); write(‘Nilai Kedua = ’);readln(B); Jumlah(A,B); {pemanggilan prosedur} writeln(‘program Selesai’);readkey; End.
Tugas-tugas Berkelompok