PROSEDUR

Preview:

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.

Recommended