Algoritma Pengulangan dengan Pascal
12 December 2012
Program MATRIK dengan Pascal
12 December 2012

Procedure dalam Pascal

Pengantar pemrograman modular

“Untuk mencapai suatu tujuan besar, maka tujuan tersebut harus dibagi bagi menjadi tujuan kecil sampai tujuan kecil itu merupakan tujuan yang dapat dicapai berdasarkan kondisi dan potensi yang dimiliki saat ini.”

(Al-khuwarizmi)

 Program sebaiknya dipecah menjadi beberapa upa-program (sub-program). Upa-program yang baik adalah yang independen dari program utama sehingga perancangannya tanpa konteks dimana ia digunakan.

 

Keuntungan Pemrograman Modular

ada 2 keuntungan :

  1. Untuk aktivitas yang harus dilakukan lebih dari satu kali, modularisasi menghindari penulisan teks program yang sama secara berulangkali.
  2. Memudahkan dalam menulis dan menemukan kesalahan (debug) program.

Ada dua bentuk upa-program :

  1. prosedur (procedure)
  2. fungsi (function)

 

PROSEDUR

Pendefinisian prosedur artinya menulis nama prosedur, mendeklarasikan nama nama konstanta , peubah dan tipe(jika ada)

Parameter adalah nama nama peubah yang dideklarasikan pada bagian header prosedur.

  1. Parameter aktual  (argumen) adalah parameter yang disertakan pada waktu pemangilan prosedure.
  2. Parameter formal adalah parameter yang dideklarasikan didalam bagian header prosedur itu sendiri.

Nama Global dan Nama Lokal

Nama nama bisa terdiri dari : konstanta, peubah, tipe dll.

Nama nama “lokal” hanya berlaku didalam prosedur yang melingkupinya saja.

Nama nama “global” dapat digunakan dibagian manapun di dalam program , baik di program utama maupun di prosedur yang dipanggil.

 

PARAMETER

Aturan yang harus diperhatikan antara parameter aktual dan parameter formal:

  1. Jumlah parameter aktual pada pemanggilan prosedur harus sama dengan jumlah parameter formal pada deklarasi prosedurnya.
  2. Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang bersesuaian
  3. Tiap parameter aktual harus diekspresikan dalam cara yang taat asas denga parameter formal yang bersesuaian.

Berdasarkan maksud penggunaannya terdapat 3 jenis parameter formal yang disertakan di dalam prosedur:

  1. parameter masukan / parameter nilai, parameter yang nilainya berlaku sebagai masukan untuk prosedur
  2. parameter keluaran, parameter yang menampung keluaran yang dihasilkan oleh prosedure.
  3. parameter masukan/keluaran, parameter yang berfungsi sebagai masukan sekaligus keluaran bagi prosedure tersebut.

 

Program Segitiga_Rasid;                        <–  Prosedur tanpa parameter

uses wincrt;

var i, N : integer;

procedure HitungLuasSegitiga;

var  alas   : real ;

tinggi : real ;

luas   : real ;

begin

write(‘Panjang alas : ‘); readln(alas);

write(‘Tinggi segitiga : ‘); readln(tinggi);

luas := (alas*tinggi) / 2 ;

writeln(‘Luas segitiga = ‘, luas:0:2);

end;

begin

write(‘Banyaknya segitiga : ‘); readln(N);

for i:=1 to N do

HitungLuasSegitiga;    end.

 

Parameter masukan

Nilai(value) parameter aktual diisikan (assign) ke dalam parameter formal yang bersesuaian.

Contoh Program:

Program Segitiga_Rasid;

uses wincrt;

var     i, N : integer;

a, t : real;

procedure HitungLuasSegitiga(alas, tinggi : real);

var     luas   : real ;

begin

luas := (alas*tinggi) / 2 ;

writeln(‘Luas segitiga = ‘, luas:0:2);

end;

begin

write(‘Banyaknya segitiga : ‘); readln(N);

for i:=1 to N do

begin

write(‘Panjang alas : ‘); readln(a);

write(‘Tinggi segitiga : ‘); readln(t);

HitungLuasSegitiga(a, t);

end;

end.

 

Parameter keluaran

nilai keluaran dari prosedur ditampung di dalam parameter keluaran.

Contoh Program:

Program Segitiga_Rasid;

uses wincrt;

var     i, N : integer;

a, t : real;

L : real;

 

procedure HitungLuasSegitiga(alas, tinggi : real; var luas : real);

begin

luas := (alas*tinggi) / 2 ;

end;

 

begin

write(‘Banyaknya segitiga : ‘); readln(N);

for i:=1 to N do

begin

write(‘Panjang alas : ‘); readln(a);

write(‘Tinggi segitiga : ‘); readln(t);

HitungLuasSegitiga(a, t, L);

writeln(‘Luas segitiga = ‘, L:0:2);

end;

end.

  

Parameter masukan/keluaran

Contoh Program:

Program selisih_rasid ;

uses wincrt;

var        X, Y, Z : integer;

 

procedure Tukar(var A, B : integer);

var        temp : integer;

begin

temp := A ;

A := B ;

B := temp ;

end;

begin

write(‘Masukan Nilai X : ‘); readln(X);

write(‘Masukan Nilai Y : ‘); readln(Y);

if X < Y then

Tukar(X,Y) ;

 

Z := X – Y ;

write(‘Jadi selisihnya adalah ‘,Z);

end.

 

 Contoh Kasus

 program ratarata_rasid ;

uses wincrt;

var   N : integer ;

ratarata : real ;

 

procedure HitungRatarata(N : integer; var u : real);

var   x : real ;

i : integer ;

jumlah : real ;

begin

jumlah := 0 ;

for i := 1 to N do

begin

write (‘Masukan nilai : ‘); readln(x);

jumlah := jumlah + x ;

end;

u := jumlah / N;

end;

 

begin

write (‘Jumlah peserta ujian : ‘); readln(N);

HitungRatarata(N, ratarata);

writeln(‘Nilai rata ratanya : ‘, ratarata:0:2);

if ratarata < 50 then

writeln(‘Nilai rata rata TIDAK bagus’)

else

writeln(‘Nilai rata rata BAGUS’);

end.

 

 

Daftar Pustaka:

Munir, Rinaldi. 2007Algoritma dan pemrograman dalam Bahasa Pascal dan C, Penerbit informatika. Bandung.

Muhammat Rasid Ridho
Muhammat Rasid Ridho
Software Developer yang Suka Jalan jalan, Belajar Jaringan dan Berbagi Cerita. Instagram: muhammat.rasid.ridho Jangan lupa tulis komentar di bawah ini ya teman teman ... !

Leave a Reply

Your email address will not be published.