PROCEDURE DAN FUNCTION
1. Pemrograman Modular 
Modular programming adalah merupakan suatu teknik
untuk menulis program yang berukuran besar. Program dibagi menjadi beberapa
bagian kecil. Tiap bagian disebut module, yang melakukan suatu tugas tertentu. 
Contoh : 
• Menampilkan menu pilihan 
• Menghitung nilai rata-rata 
• Mensortir data 
Pascal mengenal module sebagai: 
1. PROCEDURE (terbagi menjadi dua) 
a) Procedure Sederhana tidak menerima argumen (nilai atau data) ketika
dieksekusi. 
b) Procedure Kompleks menerima nilai yang diproses ketika dieksekusi. 
Procedure mendukung desain program terstruktur, dengan membolehkan membuat
module secara terpisah. 
a. Procedure Sederhana
Procedure sederhana dipakai untuk menampilkan pilihan menu, dsb. procedure
(module) tersebut terdiri atas beberapa pernyataan (statements), yang
dikelompokkan dengan kata kunci begin dan end . Setiap procedure mempunyai
nama. Seperti contoh berikut:
SYNTAX 
PROCEDURE NAMA; 
begin 
: 
pernyataan 
: 
end;
Contoh a. 
PROCEDURE DISPLAY_MENU; 
begin 
writeln('Pilihan Menu'); 
writeln(' 1: Edit file teks'); 
writeln(' 2: buka file teks '); 
writeln(' 3: Simpan file teks); 
writeln(' 4: Kopi file teks’); 
writeln(' 5: Cetak file teks’) 
end;
Contoh
berikut adalah program untuk menampilkan menu: 
Contoh b. 
program PROC1 ; 
uses wincrt; 
PROCEDURE DISPLAY_MENU; 
begin 
writeln('Pilihan Menu'); 
writeln(' 1: Edit file teks'); 
writeln(' 2: buka file teks '); 
writeln(' 3: Simpan file teks); 
writeln(' 4: Kopi file teks’); 
writeln(' 5: Cetak file teks’) 
end; 
end;
begin 
writeln('memanggil prosedur'); 
DISPLAY_MENU; 
writeln('kembali dari prosedur') 
end.
Contoh c. 
program SIMPLE_PROCEDURE; 
uses wincrt; 
var waktu, jarak, kecepatan : real; 
procedure tampilan_judul; 
begin 
writeln('Menghitung jarak tempuh berdasar pada'); 
writeln('dua variabel yaitu: kecepatan dan waktu'); 
end; 
procedure masukkan_data; 
begin 
write('Masukkan kecepatan dalam km/jam: '); 
readln(kecepatan); 
write('Masukkan waktu dalam jam : ‘); 
readln(time) 
end; 
procedure hitung_jarak; 
begin 
jarak:= kecepatan *waktu 
end; 
procedure tampilkan_hasil; 
begin 
writeln('jarak yang ditempuh adalah ',jarak:5:2,' km.') 
end; 
begin {program utama} 
tampilan_judul; 
masukkan_data; 
hitung_jarak; 
tampilkan_hasil 
end.
Output program:
Menghitung
jarak tempuh berdasar pada 
dua variabel yaitu: kecepatan dan waktu
Masukkan kecepatan dalam km/jam: 30 
Masukkan waktu dalam jam : 2 
jarak yang ditempuh adalah 60 km
Catatan : ketiga variabel waktu, jarak,dan kecepatan adalah berlaku untuk semua
procedure sehingga disebut variabel GLOBAL. 
Contoh d.
program Kalkulator_sederhana; 
uses wincrt; 
var salah_tanda : boolean; 
operator : char; 
angka_1, angka_2, hasil : real;
procedure PERKALIAN; 
begin 
hasil := angka_1 * angka_2 
end; 
procedure PEMBAGIAN; 
begin 
hasil := angka_1 / angka_2 
end; 
procedure PENJUMLAHAN; 
begin 
hasil := angka_1 + angka_2 
end; 
procedure PENGURANGAN; 
begin 
hasil := angka_1 - angka_2 
end; 
procedure MASUKAN; 
begin 
writeln(‘MASUKKAN DUA ANGKA DAN OPERATOR); 
writeln(' angka_1 operator angka_2'); 
readln(angka_1); 
...readln(operator); 
...readln(angka_2) 
end; 
begin 
salah_tanda:= FALSE; 
MASUKAN; 
case operator of 
'*': PERKALIAN; 
'/': PEMBAGIAN; 
'+': PENJUMLAHAN; 
'-': PENGURANGAN; 
else salah_tanda := TRUE 
end; 
if invalid_operator then 
writeln('Invalid operator') 
else 
writeln(angka_1:4:2,' ',operator,' ',angka_2:4:2,'=',hasil:5:2) 
end. 
 
 
 
 
 
 
0 komentar
Posting Komentar