Anda di halaman 1dari 23

IT132 – Dasar-Dasar Pemrograman

Ramos Somya, S.Kom., M.Cs.


 Dalam program yang kompleks  kode program panjang.

 Sulit dalam memahami program (jalannya program).

 Solusi: memecah program tersebut menjadi modul-modul


sehingga lebih ringkas.

 Untuk memecah program yang kompleks, kita


membutuhkan procedure dan function.
 Berdasarkan penjelasan sebelumnya, prosedur atau
fungsi yaitu suatu bagian/modul program yang terpisah
dari program utama, diletakkan dalam blok tersendiri
yang berfungsi sebagai bagian dari program.
 Merupakan penerapan konsep modular, yaitu memecah
program menjadi modul-modul atau subprogram-
subprogam yang lebih sederhana.

 Untuk hal-hal yang sering dilakukan berulang-ulang,


cukup dituliskan sekali saja dalam prosedur dan dapat
dipanggil atau dipergunakan sewaktu-waktu bila
diperlukan.
 Merupakan sub program yang tidak mengembalikan nilai
secara langsung.

 Prosedur memiliki struktur yang sama dengan struktur


program, yaitu terdiri dari nama prosedur, deklarasi-
deklarasi dan bagian deskripsi (statement atau aksi di
dalam prosedur).

 Semua deklarasi di dalam prosedur bersifat lokal sehingga


hanya bisa digunakan oleh prosedur itu saja, sedangkan
deklarasi di dalam program utama bersifat global
sehingga dapat dikenali di seluruh bagian program.
 PROCEDURE mempunyai judul_prosedur sedangkan
Program utama tidak.

 Untuk tanda berakhirnya Procedure diakhiri dengan


tanda End; sedangkan Program Utama End.
 Penggunaan prosedur selalu diawali dengan kata Procedure.
Struktur umum prosedur adalah sebagai berikut :
 
Procedure Nama_Prosedur (param_formal1:tipe_param1,
param_formal2:tipe_param2,…);
{Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}
var
{bagian deklarasi prosedur, sifatnya lokal}
begin
statement-1;
statement-2;
…………
Statement-n;
end;
 Struktur blok program utama beserta prosedur:
 
Program judul_program;
var
{bagian deklarasi prosedur, sifatnya global}
 
Procedure Nama_Prosedur;
{Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}
var
{bagian deklarasi prosedur, sifatnya lokal}
begin
statement-1;
statement-2;
…………
Statement-n;
end;
 
{program utama}
begin
Nama_Prosedur;
end.
uses crt;

procedure cetakBintang;
begin
writeln('****');
end;

begin
clrscr;
cetakBintang();
cetakBintang();
cetakBintang();
cetakBintang();
readkey;
end.
uses crt;

procedure Tanya_hitung;
var
X, Y : real;
begin
write ('Nilai X =');
readln (X) ;
Y := X * X;
end;

begin
Tanya_hitung;
writeln ('Nilai Y =', Y);
end.
 Bila program dikompilasi, akan dideteksi kesalahan oleh
compiler, karena variable Y yang sifatnya local di
procedure Tanya_hitung digunakan pada program utama.

 Agar nilai-nilai variable dapat digunakan di modul lainnya


yang membutuhkan, maka dapat dilakukan dengan
beberapa cara, yaitu :
- Dibuat global
- Dikirimkan sebagai parameter ke modul lainnya.
 
uses crt;

var
Y: real;
procedure Tanya_hitung;
var
X: real;
begin
write ('Nilai X = ');
readln (X) ;
Y := X * X;
end;

begin
clrscr;
Tanya_hitung;
writeln ('Nilai Y = ', Y: 2: 2);
readkey;
end.
 Pengertian hampir sama dengan procedure (sama-sama
sub program / bagian dari program).

 Bedanya:
- Fungsi memiliki tipe data.
- Fungsi memberikan nilai balik, procedure tidak.
- Harus ada NamaFungsi di dalam tubuh fungsi, karena
digunakan untuk menyimpan output.
- Penulisannya menggunakan kata Function
Function Nama_Fungsi : tipe_hasil;
var
{bagian deklarasi fungsi, sifatnya lokal}
 
begin
statement-1;
statement-2;
…………
Statement-n;
Nama_Fungsi:=hasil;
end;
uses crt;

function cetakBintang:string;
begin
cetakBintang:= '****';
end;

begin
clrscr;
writeln(cetakBintang);
writeln(cetakBintang);
writeln(cetakBintang);
writeln(cetakBintang);
readkey;
end.
 Suatu variable yang berfungsi sebagai penampung nilai
pada procedure atau function, yang diberikan oleh
pemanggil procedure atau function.

Contoh:
Procedur nama_pro(parameter,parameter:tipe_data);
Procedur hitung(angka1,angka2:integer);
Procedur bagi(angka1:integer; angka2:real);
 Parameter yang dikirmkan dari modul utama ke modul
prosedur disebut dengan parameter nyata (actual
parameter) dan parameter yang ada dan dituliskan pada
judul prosedur disebut dengan parameter formal (formal
parameter).

 Proses pengiriman data lewat parameter nyata ke


parameter formal disebut dengan parameter passing.

 Parameter nyata dan parameter formal harus dengan tipe


yang sama.
 Pass by Value
 Pass by Reference
 Parameter yang dikirimkan berupa nilai (value)nya saja.
Jadi apabila terjadi pengubahan nilai pada prosedur
ataupun function tidak akan mempengaruhi nilai pada
variabel yang dipassingkan, atau yang dikirimkan.
uses crt;
var a,b: integer;

procedure ubah(a,b: integer);


begin
a:=50;
b:=60;
writeln('Nilai a = ', a,', Nilai b = ',b);
end;

Begin
clrscr;
a:=10;
b:=20;
ubah(a,b);
writeln;
writeln('a = ', a);
writeln('b = ', b);
readln;
end.
 Parameter yang dikirimkan berupa acuan. Jadi apabila
terjadi pengubahan nilai pada prosedur ataupun function
akan mempengaruhi nilai pada variabel yang
dipassingkan, atau yang dikirimkan. Kata kuncinya
pemberian tambahan kata var pada pendeklarasian
parameter.
uses crt;
var a,b: integer;

procedure ubah (var a,b: integer);


begin
a:=50;
b:=60;
writeln('Nilai a = ', a,', Nilai b = ',b);
end;

Begin
clrscr;
a:=10;
b:=20;
ubah(a,b);
writeln;
writeln('a = ', a);
writeln('b = ', b);
readln;
end.

Anda mungkin juga menyukai