Pertemuan ke-3
A. Procedure
1. Konsep dasar Procedure
2. Jenis-jenis Procedure
A. PROCEDURE
1. KONSEP DASAR PROCEDURE
• Sebuah program yang baik adalah program yang membagi permasalahan
utama menjadi bagian-bagian kecil dimana setiap bagian kecil ditangani oleh
sebuah subprogram, cara ini disebut dengan modular programming
(pemrograman terbagi/terpecah). Cara ini termasuk pemrograman terstruktur
dan sangat didukung oleh bahasa Pascal. Untuk itu, Pascal telah menyediakan
dua jenis subprogram, yaitu procedure dan function (prosedur dan fungsi).
Procedure NamaProcedure;
Begin
{Statement};
End;
Program Prosedur_tanpa_parameter;
Uses Crt;
Procedure Cetak; {Nama Procedure}
begin
writeln (‘Hai, Saya belajar program Pascal ‘ );
writeln (‘Prosedur tanpa parameter ‘);
end;
begin
Clrscr;
Writeln (‘Sebelum Prosedur’);
Cetak;
Writeln (‘Setelah Prosedur’);
Readln;
end.
Hasilnya :
Program prosedur_tanpa_parameter_2;
Uses Crt;
Procedure Tampil_Menu; {Nama Procedure}
begin
textcolor(10);
gotoxy(5,5);textcolorwriteln('1. Nasi Goreng’);
gotoxy(5,6);writeln(‘2. Bakso’);
gotoxy(5,7);writeln(‘3. Es teh’);
gotoxy(5,8);writeln('4. Es jeruk’);
end;
{**** Program Utama **** }
begin
ClrScr;
textcolor(12);
gotoxy(8,1);
writeln('Selamat Datang di Warung Gaul');
gotoxy(5,3); Hasilnya :
writeln('Tekan Enter untuk melihat daftar menu ‘);
readln;
Tampil_Menu;{Cara Memanggil Procedure Non Parameter}
textcolor(14);
gotoxy(15,10);
writeln('Selamat Mencoba');
readln;
end.
2. JENIS-JENIS PROCEDURE
2.2. Procedure Parameter
Parameter adalah data masukan untuk sub program yang nantinya akan
diproses lebih lanjut pada sub program tersebut. Dalam pascal dikenal 2
macam parameter yaitu :
a. Parameter Nilai
b. Parameter Referensi
begin
Clrscr;
panjang := 7;
lebar := 5;
tinggi := 12;
Writeln (‘Sebelum Prosedur’);
volume_balok (panjang,lebar,tinggi);
Writeln (‘Setelah Prosedur’);
Readln;
end.
Program Prosedur_dengan_Parameter_2;
Uses Crt;
Var luas: real; alas,tinggi:byte;
Procedure Hitung_Luas_Segitiga(a,t:byte; var l:real);
begin
l:=(a*t)/2;
Writeln (‘Luas Segitiga adalah :’ ,' ',luas:3:1);
Writeln (‘ Prosedur selesai dijalankan’);
end;
{**** Program Utama ****}
begin
clrscr;
Writeln (‘ Sebelum Prosedur ‘);
Writeln;
Writeln (‘ Menghitung Luas Segitiga ‘);
Writeln;
Write('Alas :');readln(alas);
write('Tinggi :');readln(tinggi);
Hitung_Luas_Segitiga(alas,tinggi,luas);
writeln;
Writeln (‘ Setelah Prosedur ‘);
readln;
end.
Penjelasan :
dapat dilihat pada program diatas bahwa a dan t merupakan parameter nilai sedangkan l merupakan
parameter referensi. Variabel l akan menampung hasil perhitungan dari a dan t sehingga terjadi pengiriman
parameter a, t, l ke alas, tinggi dan luas.
Contoh program berikut ini
akan menuntun anda untuk menggunakan
procedure parameter dan non parameter
secara bersama-sama
Program Procedure_lengkap;
Uses Crt;
{Membuat Tampilan Menu Utama}
Procedure TampilMenu;
begin
write (' MENGHITUNG LUAS ‘);
textcolor(10);gotoxy(5,3); write(' 1. Luas Segitiga’);
textcolor(9);gotoxy(5,5); write ('2. Luas Persegi Panjang ‘);
textcolor(11);gotoxy(5,7);write ('3. Luas Persegi’);
textcolor(12);gotoxy(5,9);write ( '4.Keluar');
readln;
End;
{Membuat Program Luas Segitiga}
Procedure Luas_Segitiga (a,t : real ; var luas1 : real );
begin
luas1 := (a*t) / 2;
end;
{membuat Program Luas Persegi Panjang}
Procedure Luas_Persegi_Panjang(p,l : real ; var luas2 : real );
begin
luas2 := p*l ;
end;
{membuat Program Luas Persegi }
Procedure Luas_Persegi (s : real ; var luas3 : real);
begin
luas3 := s*s ;
end ;
{Definisi Variabel}
Var
jawab:char;
alas,tinggi, luas1 : real ;
panjang, lebar, luas2 : real ;
sisi, luas3 : real;
{** Program Utama **}
begin
clrscr;
repeat
TampilMenu;
textcolor(14);gotoxy(5,11);
writeln;
write( 'Masukan Pilihan anda : ' ); readln(jawab);
if jawab='1' then
begin
clrscr ;
write( 'Masukkan nilai alas : ') ; readln (alas);
write ('Masukkan nilai tinggi : ' ) ; readln(tinggi);
Luas_Segitiga (alas,tinggi, luas1 );
Writeln (' Luas Segitiga adalah : ', ' ',luas1:3:1);
readln;
end;
if jawab = '2' then
begin
clrscr;
write ( ' Masukkan nilai panjang : ' ) ; readln(panjang);
write ('Masukkan nilai lebar : ' ); readln(lebar);
Luas_Persegi_Panjang (panjang,lebar,luas2);
Writeln ('Luas Persegi Panjang adalah : ', ' ',luas2:3:1);
readln;
end;
until jawab='4';
end.
TUGAS 3
SELESAI