Anda di halaman 1dari 16

PEMROGRAMAN DASAR

Marlen Matayane, S.Kom

Pertemuan ke-3

ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts


KOMPETENSI DASAR

3.9 Menerapkan penggunaan fungsi


4.9 Membuat kode program menggunakan fungsi
TUJUAN PEMBELAJARAN

Melalui kegiatan pembelajaran ini, Peserta didik mampu :


1. Memahami konsep pemrograman modular dengan menggunakan
procedure dan function
2. Membedakan procedure dan function dengan menggunakan parameter
maupun non parameter
3. Menyelesaikan soal dengan menggunakan procedure maupun function
MATERI

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).

• Dengan modular programming, program lebih mudah dibaca dan dimengerti.


Selain itu, pembenahan program dan penelusuran jalannya program
(debugging) menjadi lebih mudah sebab dapat langsung diketahui subprogram
mana yang berjalan tidak sesuai dengan yang diharapkan

Prosedur adalah subprogram yang menerima masukan tetapi tidak


mempunyai keluaran secara langsung.
2. JENIS-JENIS PROCEDURE
Dalam pascal dikenal dua macam procedure yaitu non parameter dan parameter.

2.1. Procedure Non Parameter

Procedure non parameter maksudnya tidak ada pengiriman parameter atau


variabel tertentu ke program utama. Cara mendefinisikan procedure non
parameter adalah sebagai berikut :

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

Cara mendeklarasikan procedure dengan parameter adalah :


Procedure B(X : integer; var Y : integer);
begin
{ statement }
End;

Pada deklarasi prosedur di atas, parameter X adalah parameter nilai


sedang parameter Y adalah parameter referensi. Jadi, pendeklarasian
parameter referensi didahului oleh reserved word var. Parameter referensi ini
nantinya dapat dijadikan sebagai variable keluaran dari prosedur.
Program Prosedur_dengan_Parameter;
Uses Crt;
Var panjang, lebar, tinggi : real;
Procedure volume_balok (x,y,z : real);
var vol_balok : real;
begin
vol_balok := x*y*z;
writeln (‘Hasil volume balok = ‘ , vol_balok :8:2);
writeln (‘Prosedur selesai dijalankan‘);
end;

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;

if jawab = '3' then


begin
clrscr ;
write ('Masukkan nilai sisi : ' ) ; readln(sisi);
Luas_Persegi (sisi,luas3);
Writeln ('Luas Persegi adalah : ', ' ' , luas3:3:1);
readln;
end;

until jawab='4';
end.
TUGAS 3

Buatlah Program yang menggunakan procedure lengkap


untuk menghitung keliling bangun datar :
1. Persegi = 4 * Sisi
2. Persegi Panjang = 2 (P+L)
3. Segitiga = sisi 1 + sisi 2 + sisi 3

SELESAI

Anda mungkin juga menyukai