Mp3

Selasa, 12 Juni 2012

PROSEDUR DALAM ALGORITMA


PROSEDUR DALAM ALGORITMA
A.      Pendefinisian Prosedur
1.  Pendefinisian prosedur artinya menuliskan nama prosedur, mendeklarasikan nama-nama konstanta, peubah dan tipe (jika ada) dan menjabarkan rangkaian aksi yang dilakukan sehingga perlu mendefinisikan keadaan awal dan keadaan akhir dari prosedur tersebut.  Pada dasarnya, struktur prosedur sama dengan struktur algoritma yang sudah ada, yaitu : ada bagian judul (header) yang terdiri atas nama prosedur dan deklarasi parameter (jika ada).  
2.      Contoh prosedur yang membaca panjang, lebar dan tinggi untuk menghitung volume kubus.
Procedure hitung_volume_kubus
{Menghitung volume kubus dengan rumus V = panjang x lebar x tinggi}
{K.awal : sembarang}
{K.akhir : volume kubus tercetak}
DEKLARASI
panjang : real
lebar : real
tinggi : real
volume : real
ALGORITMA
read (panjang,lebar,tinggi)
volume         (panjang*lebar*tinggi)
write (volume)
B.       Manfaat Prosedur
Prosedur termasuk dalam merupakan sub program yang sangat bermanfaat dalam pemrograman, terutama untuk program atau proyek yang besar. Sehingga memilki manfaat sebagi berikut :
1.      Meningkatkan readibility, yaitu mempermudah pembacaan program
2.      Meningkatkan modularity, yaitu memecah sesuatu yang besar menjadi modul-modul atau bagian-bagian yang lebih kecil sesuai dengan fungsinya, sehingga mempermudah pengecekan, testing dan lokalisasi kesalahan.
3.      Meningkatkan reusability, yaitu suatu sub program dapat dipakai berulang kali dengan hanya memanggil sub program tersebut tanpa menuliskan perintah-perintah yang semestinya diulang-ulang.

C.      Nama Lokal dan Nama Global
1.      Nama Lokal
Nama – nama (konstanta, peubah,tipe, dan lain-lain) yang dideklarasikan di dalam prosedur (termasuk parameter, jika ada) hanya dikenal di dalam badan prosedur  yang bersangkuan. Nama-nama yang dideklarasikan di dalam prosedur tersebut dikatakan lingkupnya  “ lokal “. Nama- nama lokal hanya berlaku  di dalam prosedur yang melngkupinya saja. Setelah prosedur selesai dieksekusi, nama-nama tersebut tidak dikenal lagi di luar prosedur.
2.      Nama Global
Sebaliknya, nama-nama (konstanta, peubah, tipe, dan lain-lain) yang dideklarasikan di dalam program utama dikatakan lingkupnya “ global “. Nama-nama global dapat digunakan di bagian manapun di dalam program, baik di dalam program utama maupun di dalam prosedur yang dipanggil.
            Nama yang dideklarasikan di dalam prosedur dandi dalam program utama mungkin sama, namun sifat lokal dan globalnya tetap tidak berubah. Nama peubah yang dideklarasikan di dalam program utama dan juga dideklarasikan di dalam prosedur, maka di dalam prosedur nama tersebut adalah peubah lokal, dan di luar prosedur berlaku sebagai peubah global.
D.      Parameter
1.      Parameter adalah nama-nama peubah yang dideklarasikan pada bagian header prosedur. Parameter terhadap prosedur dibagi menjadi dua yaitu :
a)      Prosedur   tanpa   parameter  
Memanfaatkan   nilai   dari   nama-nama   yang terdefinisi pada kamus global. Pemakaiannya biasanya harus “hati-hati”, apalagi jika teks program sudah sangat besar dan implementasinya menjadi banyak file.
b)      Prosedur  berparameter 
Dirancang,  agar  sepotong  kode  yang  sama  ketika eksekusi dilakukan, dapat dipakai untuk nama parameter yang bebeda-beda.
Tiap item data ditransfer antara parameter aktual dan parameter formal. Parameter aktual adalah parameter yang disertakan pada waktu pemanggilan prosedur, sedangkan parameter formal adalah parameter yang dideklarasikan di dalam bagian header prosedur itu sendiri. Ketika  prosedur dipanggil, parameter aktual menggantikan parameter formal. Tiap-tiap parameter aktual berpasangan dengan parameter formal yang bersesuaian.
2.      Berdasarkan maksud penggunaannya, terdapat tiga jenis parameter formal yang disertakan di dalam prosedur :
a)      Parameter masukan (input parameter)
b)      Parameter keluaran (output parameter)
c)      Parameter masukan / keluaran (input / output parameter)
3.      Parameter Masukan
Adalah parameter yang nilainya berlaku sebagai masukan untuk prosedur, pada bahasa pemrograman, istilah parameter ini sering dinamakan parameter nilai ( value parameter atau parameter by value ). Nilai yang dimasukkan adalah nilai dari parameter actual. Nilai yang dinyatakan oleh parameter masukan tidak dapat dikirim dalam arah sebaliknya. parameter masukan dideklarasikan dengan kata kunci input.


Contoh parameter masukan :

Pascal Program

Program luas_segitiga_masukan;
Uses wincrt;
Var a,t : integer ;

Procedure cariLuas (a,t:integer);

var L : real;

begin

 L := 0.5*a*t;
Writeln('Luas segitiga adalah : ' ,L:0:2);

end;

begin

 writeln('Menghitung luas segitiga');writeln;

 write('Masukkan nilai alas   : ' ) ;
 readln(a) ;

 write('Masukkan nilai tinggi : ' ) ;
 readln(t) ;

 cariLuas(a,t);

end.

Pseudocode

DEKLARASI
a : integer;
t : integer;
L : real;

Procedure cariLuas (input a,t:integer);

DESKRIPSI
L          0.5 * a * t
Writeln ('Luas segitiga adalah : ' ,L)

End;

 Writeln ('Menghitung luas segitiga')

 Write ('Masukkan nilai alas   : ')
 Readln (a)

 Write ('Masukkan nilai tinggi : ')
 Readln (t)

 cariLuas (a,t)

end.

4.      Parameter Keluaran
Parameter keluaran adalah parameter yang berfungsi untuk menampung keluaran yang dihasilkan oleh prosedur. Ketika prosedur yang mengandung mengandung parameter keluaran dipanggil, maka nama parameter actual menggantikan (substitute) nama parameter formal yang bersesuaian di dalam prosedur.  Selanjutnya, nama parameter aktual akan digunakan selama pelaksanaan prosedur (ini berlawanan dengan parameter masukan, yang dalam hal ini nilai dari parameter actual yang di assign ke dalam parameter formal). Parameter keluaran dideklarasikan di dalam header prosedur, sebagaimana parameter masukan. Tetapi, parameter keluaran harus dideklarasikan dengan kata kunci output.
Contoh parameter keluaran :

Pascal Program

Program Pembagian;

uses wincrt;

var a,b : string;

procedure tukar(var x,y:string) ;

var z:string;

begin

z:=x;
x:=y;
y:=z;

end;

begin

write ('Masukkan nama 1 : ');
readLn(a) ;

write ('Masukkan nama 2 : ');
readLn(b) ;

writeln;writeln('Awal');
writeln('Nama 1 : ',a);
writeln('Nama 2 : ',b);writeln;

tukar(a,b);

writeln('Ditukar');
writeln('Nama 1 : ',a);
writeln('Nama 2 : ',b);writeln;

end.



Pseudocode

DEKLARASI
a : integer
t  : integer
Luas : real

Procedure cariLuas (input a,t : integer; var L : real)

DESKRIPSI
L          0.5 * a * t

End;

Writeln ('Menghitung luas segitiga')

Write ('Masukkan nilai alas : ')
readln (a)

write ('Masukkan nilai tinggi : ')
readln (t)

cariLuas (a,t,Luas)
write ('Luas segitiga adalah : ', Luas)

End.

5.      Parameter masukan atau keluaran
DEParameter masukan atau keluaran adalah sebagai “pintu” masuk dan keluar bagi prosedur tersebut. Parameter keluaran (output parameter) dan parameter masukan/keluaran (input/output parameter) kadang disebut parameter acuan (reference parameter atau paramater by reference). Parameter masukan / keluaran dideklarasikan di dalam header prosedur dengan kata kunci input / ouput. Hal lain yang harus diperhatikan pada jenis parameter masukan / keluaran ini adalah parameter actual harus berupa peubah, tidak boleh berupa konstanta atau ekspresi.

Contoh parameter masukan atau keluaran :
Pascal Program
Program Pembagian;

uses wincrt;

var a,b : string;

procedure tukar(var x,y : string) ;

var z:string;

begin

z:=x;
x:=y;
y:=z;

end;

begin

write ('Masukkan nama 1 : ');
readLn(a) ;

write ('Masukkan nama 2 : ');
readLn(b) ;

writeln;writeln('Awal');
writeln('Nama 1 : ',a);
writeln('Nama 2 : ',b);writeln;

tukar(a,b);

writeln('Ditukar');
writeln('Nama 1 : ',a);
writeln('Nama 2 : ',b);writeln;

end.

PSEUDOCODE

DEKLARASI

a : string
b : string
z : string
procedure tukar(input var x,y:string) ;

DESKRIPSI

z x
x y
y z

end;

write ('Masukkan nama 1 : ')
readLn (a)

write ('Masukkan nama 2 : ')
readLn (b)

writeln;writeln('Awal')
writeln ('Nama 1 : ',a)
writeln ('Nama 2 : ',b)

tukar (a,b)

writeln ('Ditukar')
writeln ('Nama 1 : ',a)
writeln ('Nama 2 : ',b)

end.


0 komentar

Posting Komentar