Upload
arsenio-sutton
View
63
Download
1
Embed Size (px)
DESCRIPTION
PROSEDUR. Pendahuluan. Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian) Prosedur diawali dengan kata cadangan procedure di bagian deklarasi prosedur - PowerPoint PPT Presentation
Citation preview
PROSEDURPROSEDUR
Pendahuluan Prosedur adalah suatu program
terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian)
Prosedur diawali dengan kata cadangan procedure di bagian deklarasi prosedur
Prosedur dipanggil dan digunakan di dalam blok program lainnya dengan menyebutkan judul prosedurnya
Alasan Penggunaan Prosedur
Prosedur banyak digunakan pada program yang terstruktur, karena;
1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur
2. Untuk yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan
Blok ProsedurPROGRAM Judul-program;
BEGIN
END.
PROCEDURE Judul-prosedur;BEGIN
END;
Parameter Dalam Prosedur Nilai dalam suatu modul program Pascal
sifatnya lokal, artinya hanya dapat digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit program lainnya.
Agar nilai-nilai variabel dapat digunakan di modul lainnya yang membutuhkannya, bisa dilakukan beberapa cara:
Dibuat bersifat global Dikirimkan sebagai parameter ke modul yang
membutuhkannya
Variabel Dibuat Bersifat Global
1. Agar suatu nilai dapat bersifat global, maka harus dideklarasikan di atas modul yang akan menggunakannya
2. Dikirimkan sebagai parameter ke modul yang membutuhkannya
PROCEDURE Kesatu;begin……….End;var A, B:
WORD;PROCEDURE Kedua;begin……..End;PROCEDURE Ketiga;begin……..End;begin……end.
var A, B: WORD;
PROCEDURE Kesatu;begin……….End;PROCEDURE Kedua;begin……..End;PROCEDURE Ketiga;begin……..End;begin……end.
Pengiriman parameter Parameter yang dikirimkan dari modul utama
ke modul prosedur disebut parameter nyata (actual parameter) dan parameter yang ada dan dituliskan pada judul prosedur disebut parameter formal (formal parameter)
Proses pengiriman data lewat parameter nyata ke parameter formal disebut parameter passing
Parameter nyata dan parameter formal harus dengan tipe yang sama
Pameter dapat dikirimkan secara nilai (by value) atau secara acuan (by reference)
Pengiriman parameter secara nilai Parameter formal akan berisi nilai yang
dikirimkan yang kemudian bersifat lokal di prosedur
Bila nilai parameter formal di prosedur berubah, tidak akan mempengaruhi nilai parameter nyata
Pengiriman secara nilai merupakan pengiriman searah (dari parameter nyata ke parameter formal)
Parameter-parameter yang digunakan dengan pengiriman secara nilai disebut parameter nilai
Contoh :
Procedure Hitung(A,B : integer);
Var
C : integer;
Begin
C : = A + B;
Writeln(‘Nilai C =’ ,C);
End;
Var
X,Y : integer;
Begin
Write(‘Nilai X ?’); Readln(X);
Write(‘Nilai Y ?’); Readln(Y);
Hitung(X,Y);
End.
Penjelasan:Prosedur dimulai dengan deklarasi prosedur dengan judul prosedur:Procedure Hitung(A,B: integer);
Varibel lokal yang hanya dipergunakan di prosedur dan tidak termasuk sebagai parameter formal (parameter nilai), harus didefinisikan sendiri, sbb;
VarC : integer;
Hubungan antara parameter formal di prosedur dengan parameter nyata di modul utama adalah sbb;
Procedure Hitung(A,B : integer);Hitung(X,Y)Terlihat bahwa nilai-nilai parameter nyata X dan Y di modul utama dikirimkan ke parameter formal A dan B di prosedur. Dengan demikian, nilai parameter A dan B di prosedur akan berisi nilai yang sama dengan parameter X dan Y di modul utama.
Pengiriman parameter secara acuan
Perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai parameter nyata
Parameter-parameter ini disebut variable parameter dan di deklarasi prosedur dengan kata cadangan Var:
PROCEDURE hitung(Var A, B, C: integer);
Contoh;
Procedure Hitung(Var A,B,C : integer);
Begin
C : = A + B;
End; {Procedure Hitung}
Var
X,Y,Z : integer;
Begin
X : = 2; Y : = 3;
Hitung (X,Y,Z);
Writeln(‘X = ‘,X,’Y=’,Y,’Z =’,Z);
End.
Bila program dijalankan:
X = 2 Y = 3 Z = 5
Pengiriman parameter sebagian secara nilai sebagian secara acuan
Parameter yang hanya dibutuhkan pada prosedur saja dapat dikirimkan secara nilai dan yang ingin dikirimkan balik dapat dilakukan secara acuan:
PROCEDURE Hitung(A, B: integer; Var C: integer);
Tipe parameter formal Tipe parameter formal harus dideklarasikan Parameter yang diijinkan adalah berupa
variabel atau konstanta, sedang pada Turbo Pascal prosedur dan fungsi tidak diijinkan sebagai parameter formal (Standar Pascal mengijinkan)
Tipe sederhana seperti: Integer, Byte, Char, Real, dan Boolean dapat langsung digunakan sebagai tipe parameter formal
Tipe kompleks seperti String, Record dan Array tidak dapat digunakan langsung tapi harus dideklarasikan dahulu di bagian deklarasi Type
Contoh
SALAH:Procedure Urutkan(Nilai: array[1..100] of integer);Procedure Panjang(Nama: string[30]);BENAR:Type
Elemen = array[1..100] of integer;Huruf = string[30];
Procedure Urutkan(Nilai: elemen);Procedure Panjang(Nama: Huruf);
Prosedur Lain Prosedur memanggil prosedur lain Prosedur tersarang Prosedur memanggil dirinya sendiri
Proses dari suatu program bagian yang memanggil dirinya sendiri dikenal dengan isitilah recursion
Meski proses ini merupakan algoritma yang baik, tapi butuh banyak memori
Acuan FORWARD digunakan untuk mendeklarasikan di muka judul
prosedur terpisah dari bloknya Judul prosedur yang berisi parameter terpisah ini
merupakan judul yang semestinya dan dideklarasikan dengan menambahkan kata cadangan FORWARD
Prosedur Standar Exit
digunakan untuk keluar dari suatu blok. Halt
digunakan untuk menghentikan proses program baik di program bagian maupun di program utama.
Movedigunakan untuk menyalinkan suatu blok sebanyak count byte memori dari blok dimulai byte pertama source dan disalinkan ke byte pertama dest.
FillChardigunakan untuk mengisi sejumlah byte nilai ke dalam suatu variabel.
FUNGSIFUNGSI
Struktur Function
Function <identifier> (<daftar parameter>) : <tipe data>;< deklarasi variabel, konstanta, tipe data, procedure atau
function >begin
<statemen 1><statemen 2>. . .<statemen N>
end;
Perbedaan Fungsi dan Prosedur
Pada fungsi, nilai yg dikirimkan balik terdapat nama fungsinya(kalau pada prosedur pada parameter yang dikirimkan secara acuan). Karena nilai balik berada dinama fungsi, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya.
Pada prosedur, nama prosedur tersebut tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.