You are on page 1of 15

Nama : Wayan Dharma Satriawan

NM : 1004505038
Kelompok : 11


MODUL 2
PEMROGRAMAN MODULAR

2.1 Tujuan
O Memahami dasar-dasar pemrograman Pascal.
O Memahami konsep variabel lokal dan variabel global dalam
pemrograman.
O Memahami konsep fungsi dan prosedur dalam pemrograman modular.
O Memahami konsep passing by value dan passing by reference dalam
pemrograman dengan fungsi maupun prosedur.
O Memahami pengaplikasian pemrograman modular pada Bahasa
Pascal.
2.2 Tugas PendahuIuan
1. Jelaskan tentang konsep variabel lokal dan variabel global serta
perbedaannya.
2. Jelaskan tentang konsep fungsi dan prosedur, perbedaan keduanya, serta
aplikasinya dalam pemrograman dengan Bahasa Pascal.
3. Jelaskan tentang konsep passing by value dan passing by reference,
perbedaannya, serta aplikasinya dalam pemrograman dengan Bahasa
Pascal.
4. Buatlah flowchart dan pseudocode (notasi algoritma )dari program pada
soal di bawah ini, lalu lakukan trace terhadap flowchart yang anda buat
sehingga yakin bahwa flowchart tersebut sudah benar


2.3 Jawaban
2.3.1 Pengertian variabel lokal dan variabel global:
Variabel Global adalah variabel yang dikenal di seluruh badan
program dan di definisikan di dalam program utama.

Variabel Lokal adalah variabel yang hanya dikenal di badan
program yang mendefinisikannya, di definisikan di prosedure atau
fungsi.

Contoh :
Program <Nama Program>
Var A : Tipe variabel {Variabel Global}

Procedure / Fungsi
Var C : Tipe Variabel {Variabel Lokal}

Dari contoh diatas A adalah variabel global karena A didefinisikan di
program utama sehingga bisa dikenal oleh seluruh badan program.
Sedahg variabel C adalah variabel lokal dan hanya dikenal di tempat
didefinisikannya.
2.3.2 Prosedur dan Fungsi
Prosedur atau Fungsi adalah suatu modul program yang terpisah dari
program utama, diletakan dalam blok tersendiri yang berfungsi sebagai
bagian dari program. Setiap prosedur diawali dengan kata cadangan
reserver word) Procedure, sedangkan Fungsi diawali dengan kata
cadangan Function.
Struktur umum prosedur adalah sebagai berikut :

Procedure Nama_Prosedur (param_formal1:tipe_param1,
param_formal2:tipe_param2,.);
{Jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}
var
{bagian deklarasi prosedur, sifatnya lokal}
begin
statement-1;
statement-2;
....
statement-n;
end;

Contoh penggunaan:

Program PersegiPanjang; {judul Program Utama}
uses crt;
var {deklarasi variabel global}
p,l:byte; {p :panjang, l:lebar}
ls,kel:integer; {ls:luas, kel:keliling}
Procedure Hitung_Luas; {Prosedur untuk menghitung luas}
begin
ls:=p*l;
writeln('Luas :',ls);
end;
Procedure Hitung_KeIiIing; {Prosedur untuk menghitung keliling}
begin
kel:=(2*p)+(2*l);
writeln('Keliling :',kel);
end;
{===program utama===}
begin
clrscr;
writeln('Program Untuk Menghitung luas dan keliling persegipanjang');
writeln;
write('Masukan panjang : ');readln(p);
write('Masukan lebar : ');readln(l);
writeln;
Hitung_Luas; {Memanggil prosedur Hitung_Luas}
Hitung_KeIiIing; {Memanggil prosedur Hitung_Keliling}
readln;
end.




Cara peru||sar lurgs| d| Turoo Pasca| seperl| d|oaWar |r| :

Function Nama Fungsi(param_formal:tipe_param,...):tipe_hasil;
var
{bagian deklarasi fungsi, sifatnya lokal}
begin
statement-1;
statement-2;
....
Statement-n;
Nama_Fungsi:=hasil;
end;
Program PersegiPanjang;
uses crt;
Function Luas(p,l:integer ):integer;
begin
Luas:=p*l;
end;
{===program utama===}
var
pj,lbr:integer;
begin
clrscr;

Contoh penggunaan :

Program PersegiPanjang;
uses crt;
Function Luas(p,l:integer ):integer;
begin
Luas:=p*l;
end;
{===program utama===}
var
pj,lbr:integer;
begin
clrscr;
writeln('Program Untuk Menghitung luas persegipanjang');
writeln;
write('Masukan panjang : ');readln(pj);
write('Masukan lebar : ');readln(lbr);
write('Luasnya = ',Luas(pj,lbr));
readln;
end.






2.3.3 Pass by vaIue dan pass by reference
2.3.3.1 Parameter NiIai (pass by vaIue)
Dalam program di atas, ketika variabel disampaikan ke procedure,
procedure bekerja dengan copy dari variabel asli. Nilai dari variabel asli yang
disampaikan ke procedure tidak diubah. Procedure hanya menggantikan
variabel asli dengan variabel yang ada di procedure , tetapi tidak
menggantikan nilai dari variabel asli. Ketika procedure bekerja dengan copy
dari variabel, maka dikenal dengan parameter nilai (pass by value).
Contoh penggunaan:

Program PersegiPanjang; {judul Program Utama}
uses crt;
Procedure Hitung_Luas(p,l,ls:integer); {Prosedur dengan parameter}
begin
ls:=p*l;
writeln('p = ',p);
writeln('l = ',l);
writeln('ls = ',ls);
end;
{===program utama===}
var
pj,lbr,luas:integer;
begin
clrscr;
writeln('Program Untuk Menghitung luas persegipanjang');
pj:=10;
lbr:=6;
luas:=0;
writeln;
Hitung_Luas(pj,lbr,luas); {Memanggil prosedur Hitung_Luas}
writeln;
writeln('pj = ',pj);
writeln('lbr = ',lbr);
writeln('luas = ',luas);
readln;
end.

2.3.3.2 Parameter VariabeI (pass by reference)
Procedure bisa juga dipakai untuk mengubah nilai dari variabel asli
yang dipanggil oleh procedure. Untuk menggambarkannya, kita bisa lihat
pada contoh program modifikasi program sebelumnya. Procedure ini
menerima dua nilai integer dan menggantikan nilai aslinya. Untuk membuat
procedure menggunakan parameter variabel (pass by reference) dengan
menggunakan kata kunci var.





Contoh penggunaan:

Program PersegiPanjang; {judul Program Utama}
uses crt;
Procedure Hitung_Luas(p,l:integer; var ls:integer);{Prosedur dgn parameter}
begin
ls:=p*l;
writeln('p = ',p);
writeln('l = ',l);
writeln('ls = ',ls);
end;
{===program utama===}
var
pj,lbr,luas:integer;
begin
clrscr;
writeln('Program Untuk Menghitung luas persegipanjang');
pj:=10;
lbr:=6;
luas:=0;
writeln;
Hitung_Luas(pj,lbr,luas); {Memanggil prosedur Hitung_Luas}
writeln;
writeln('pj = ',pj);
writeln('lbr = ',lbr);
writeln('luas = ',luas);
readln;
end.


2.4. FIowchart dan Pseudocode
1. Function Lpersegi(p,l : integer) : integer;



2. Function LPersegiPan(p,l : integer) : integer;

3. Function LSegitiga1(a,t : integer) : real;

4. Function LSegitiga2(a,b,c : integer) : real;






5. Function Llingkaran(r : integer) : real;

6. Function Ltrapesium(s1,s2,t : integer) : real;

7. Function LJajarGen(a,t : integer) : integer;




8. Function LBelahK(d1,d2 :integer) : real;

. Function Llayang(d1,d2 : integer): real;


















1. Function persegi : integer;

2. Function PersegiPan : integer;










3. Function Segitiga : real;


4. Function lingkaran : real;








5. Function trapesium : real;
Ltr

















6. Function JajarGen : integer;
H
Wri


7. Function BelahK : real;








8. Function Layang : real;
L
Writ





























Program utama

You might also like