Anda di halaman 1dari 10

PROSEDUR

Teknik menggunakan Prosedur ini dapat dijadikan sebagai salah satu cara
mengimplementasikan pemecahan suatu Submasalah. Sebuah prosedur memiliki
nama prosedur dan parameter ataupun tanpa parameter. Parameter dalam prosedur
diimplementasikan dengan cara mendeklarasikan variable lokal beserta tipe
datanya. Sebuah prosedur dapat digunakan berkali kali dan memungkinkan untuk
menggunakan parameter yang berbeda selama sesuai dengan tipe data yang telah
dideklarasikan.Prosedur merupakan bagian yang terpisah dari program dan dapat
diaktifkan dimanapun didalam program. Prosedur dibuat sendiri bilamana
program akan dibagi-bagi menjadi beberapa blok-blok modul. Prosedur dibuat
didalam program dengan cara mendeklarasikannya dibagian deklarasi prosedur.
Menggunakan kata cadangan Procedure.

1. Pendeklarasian prosedur
Prosedur mempunyai nama dan baris baris statement yang merupakan
implementasi prosedur tersebut. Sebuah prosedur juga dapat mempunyai satu
atau lebih parameter dan kadangkala kita pun dapat mendeklarasikan sebuah
prosedur tanpa parameter. Parameter dalam prosedur dapat dibagi menjadi 2,
yaitu Parameter Input dan Parameter Output Pendeklarasian prosedur artinya
menuliskan nama prosedur, mendeklarasikan nama-nama konstanta, variabel
dan tipe (jika ada), dan menjabarkan rangkaian statement yang dilakukan.
Aturan penamaan prosedur sama dengan aturan penamaan variable. Seperti
sudah dijelaskan diatas bahwa prosedur tidak harus memiliki parameter,
prosedur tanpa parameter dapat mendapatkan masukan berupa konstanta atau
variable global, dan dapat menghasilkan keluaran yang diisikan kepada
variable global juga
1.1 Prosedur Tanpa Parameter
Notasi algoritmik dan notasi bahasa Pascal untuk mendefinisikan
prosedur adalah :

Algoritma dan Pemrograman 59


Notasi Algoritmik Notasi Bahasa Pascal
procedure NamaProsedur procedure NAMA_PROSEDUR;
ALGORITMA : (*ALGORITMA*)
{ badan prosedur, berisi begin
urutan instruksi} { badan prosedur, berisi urutan
instruksi}
end;

Example 1 :
Diinginkan sebuah aplikasi mampu menampilkan tulisan seperti dibawah ini
“Selamat Datang Mahasiswa Jurusan Matematika Di Universitas Negeri Padang”
Maka aplikasi diatas dapat diselesaikan dengan program dibawah ini

Tanpa Prosedur Menggunakan Prosedur


program pro_tulisstring; program pro_tulisstring;
uses crt; uses crt;
begin procedure tuliskata;
clrscr; begin
writeln ('Selamat Datang'); clrscr;
writeln ('Mahasiswa'); writeln ('Selamat Datang');
writeln ('Jurusan Matematika di writeln ('Mahasiswa');
Universitas Negeri Padang’); writeln ('Jurusan Matematika di
writeln; Universitas Negeri Padang');
writeln ('Selamat Datang'); writeln;
writeln ('Mahasiswa'); end;
writeln ('Jurusan Matematika di begin
Universitas Negeri Padang'); TulisKata;
writeln; TulisKata;
writeln ('Selamat Datang'); TulisKata;

Algoritma dan Pemrograman 60


writeln ('Mahasiswa'); readln;
writeln (‘Jurusan Matematika di end.
Universitas Negeri Padang');
writeln;
readln;
end.

Contoh diatas menggambarkan bahwa penggunaan prosedur akan berdampak alur


program tampak lebih logis dan efisien. Algoritmik dan notasi bahasa Pascal
untuk mendefinisikan prosedur yang melibatkan Parameter Input adalah:

Notasi Algoritmik Notasi Bahasa Pascal


procedureNamaProsedur(ParameterIn procedure NamaProsedur(NamaVari
put); abel : Tipedata);
DEKLARASI var
NamaVariabel : TipeData ; NamaVariabel : TipeData
ALGORITMA : (*ALGORITMA*)
{ badan prosedur, berisi urutan begin
instruksi} { badan prosedur, berisi urutan
instruksi}
end;

Example 2 :
Program menampilkan karakter bintang

program proc_karakterbintang;
uses crt;
procedure TulisBintang (n : integer);
var
i : integer;

Algoritma dan Pemrograman 61


begin
clrscr;
for i := 1 to n do
begin
write ('*');
end;
writeln;
end;
begin
TulisBintang(3);
TulisBintang(4);
TulisBintang(5);
TulisBintang(6);
TulisBintang(7);
readln;
end.

1.2 Prosedur Melibatkan Parameter Input dan Output


Notasi algoritmik dan notasi bahasa Pascal untuk mendefinisikan
prosedur yang melibatkan Parameter Input dan Output adalah:

Notasi Algoritmik
procedure NamaProsedur(ParameterInput; var ParameterOutput);
var
NamaVariabel : TipeData
ALGORITMA :
{ badan prosedur, berisi urutan instruksi}

Algoritma dan Pemrograman 62


Notasi Pascal
procedure NamaProsedur(ParameterInput; var ParameterOutput);
DEKLARASI
NamaVariabel : TipeData ;
(*ALGORITMA*)
begin
{ badan prosedur, berisi urutan instruksi}
end;

Example 3 :

Program menghitung besar Gaya jika nilai massa (m) dan percepatan (a) diketahui
dengan rumus F = m x a

program proc_hitung_gaya;
uses crt;
var
massa, percepatan, gaya : real;
procedure hitunggaya (m,a: real; var F : real);
begin
clrscr;
F := m * a;
end;
begin
clrscr;
write ('Masukkan massa : '); readln (massa);
write ('Masukkan percepatan : '); readln (percepatan);
hitunggaya(massa, percepatan, gaya);
write (gaya:2:0);
readln;
end.

Algoritma dan Pemrograman 63


Example 4 :
program aritha_pascal;
uses crt;
procedure inputan (alas : integer; tinggi : integer; var luas : real);
begin
clrscr;
write ('masukkan nilai alas : '); readln (alas);
write ('masukkan nilai tinggi : '); readln (tinggi);
luas := alas * tinggi / 2;
end;

var
a, t : integer;
luas : real;
begin
writeln ('-====== Program Procedure Luas Segitiga ======-');
writeln;
inputan (a, t, luas);
write ('Luas segitiga adalah : ',luas:0:2);
readln;
end.

Example 5 :
program procedure_3;
uses crt;
procedure hitungluas (p, l : integer);
var
ls : integer;
begin
clrscr;
ls := p * l;

Algoritma dan Pemrograman 64


writeln (‘Luas : ‘,ls);
readln;
end;

Example 6 :
procedure hitkeliling (pp, ll : integer);
var
kel : integer;
begin
kel := (2 * pp) + (2 * ll);
writeln (‘Keliling : ‘,kel);
end;

var
pj, lbr : integer;
begin
clrscr;
write (‘Masukkan panjang : ‘); readln (pj);
write (‘Masukkan lebar : ‘); readln (lbr);
writeln;
hitungluas (pj, lbr);
hitkeliling (pj, lbr);
readln;
end.

Algoritma dan Pemrograman 65


Exercise

1. Jelaskan beda suatu program yang dibuat dengan prosedur dan dibuat tanpa
menggunakan prosedur !

2. Buatlah prosedur untuk menambahkan 2 buah bilangan. Deklarasikan sebuah


prosedur untuk menambahkan 2 buah bilangan dan untuk menyimpan
hasilnya.

3. Buatlah prosedur untuk menghitung luas lingkaran !

4. Dengan menggunakan prosedur yang sama seperti pada soal No 1,


modifikasilah blok pendeklarasian variabel global dan blok program utama
diatas agar mampu menghitung rata rata dari 4 buah bilangan ( Ingat,
deklarasi prosedur biarkan tetap sama). Ini akan melatih anda bagaimana
teknik pemanggilan prosedur dalam blok program utama.

5. Buatlah sebuah program yang menampilkan deret bilangan dari mulai 1


sampai dengan n, dan deklarasikan sebuah prosedur yang mampu
mengklasifikasikan bilangan tersebut masuk kedalam kategori bilangan
Genap atau Ganjil.

6. Buatlah output program dari input di bawah ini !


procedure satu;
uses crt;
begin
clrscr;
writeln (‘PASCAL’); writeln (‘------------‘);
end;

Algoritma dan Pemrograman 66


procedure dua;
begin
writeln (‘BAHASA’);
end;
begin
dua;
writeln (‘------------’);
satu;
writeln (‘------------‘);
readln;
end.

7. Periksalah kesalahan-kesalahan pada input program dibawah ini !


uses crt;
procedure tanya_hitung;
var
x, y : real;
begin
clrscr;
write ('Nilai x = '); readln (x);
y := x * x;
end;
begin
tanya_hitung;
writeln ('Nilai y = ',y:6:2);
readln;
end.

8. Buatlah program yang berisi procedure yang menambahkan nilai x dan y


masing-masing dengan 7, kemudian jumlahkan nilai x dan y !

Algoritma dan Pemrograman 67


9. Buatlah input program dari output dibawah ini !

10. Buat program menggunakan prosedur untuk menghitung determinan matriks


2 x 2 menggunakan ekspansi kofaktor.

11. Perhatikan program dibawah ini :


program menentukan_luas_keliling_lingkaran;
uses crt;
const phi = 3.14;
var r : (.....);
procedure luas_lingkaran;
var luas : (.....);
begin
luas := phi * r * r;
writeln ('Luas lingkaran adalah ',luas:(...:...));
readln;
end;
{program utama}
begin
(.....)
writeln ('..............');

Algoritma dan Pemrograman 68

Anda mungkin juga menyukai