NIM : 1004505038
Kelompok : 11
MODUL 2
PEMROGRAMAN MODULAR
2.1 Tujuan
• Memahami dasar-dasar pemrograman Pascal.
• Memahami konsep variabel lokal dan variabel global dalam
pemrograman.
• Memahami konsep fungsi dan prosedur dalam pemrograman modular.
• Memahami konsep passing by value dan passing by reference dalam
pemrograman dengan fungsi maupun prosedur.
• Memahami pengaplikasian pemrograman modular pada Bahasa
Pascal.
2.2 Tugas Pendahuluan
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.
Contoh :
Program <Nama Program>
Var A : Tipe variabel {Variabel Global}
Procedure / Fungsi
Var C : Tipe Variabel {Variabel Lokal}
Contoh penggunaan:
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 value dan pass by reference
2.3.3.1 Parameter Nilai (pass by value)
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:
mulai
Lpersegi = s*s
selesai
2. Function LPersegiPan(p,l : integer) : integer;
mulai
Lpersegipan = p*l
selesai
mulai
Lsegitiga1 = a*t/2
selesai
mulai
S = (a+b+c)/2
Lsegitiga2 = sqrt(s*(s-a)*s(-b)*(s-c)
selesai
5. Function Llingkaran(r : integer) : real;
mulai
Llingkaran =
3.14*r*r
selesai
Ltrapesium =
(s1+s2)*t/2
selesai
mulai
Ljajargen = a*t
selesai
8. Function LBelahK(d1,d2 :integer) : real;
mulai
Lbelahk =
d1*d2/2
selesai
mulai
Llayang =
0.5*d1*d2
selesai
1. Function persegi : integer;
Start
Input s
Write(‘luas =
‘,lpersegi );
Kll := 4*s
END
Input p
Input l
Hitung
Lpersegipan (p,l)
Write(‘luas =
‘,lpersegipan );
Kll := (2*p)+(2*l)
END
3. Function Segitiga : real;
Start
Input pil
Input a
Hitung Write(‘Luas =
Pil = 2 Input b
Lsegitiga2(a,b,c) ‘,lsegitiga 2)
Input c
Kll := a+b+c
END
Input r
Write(‘luas =
‘,llingkaran );
Kll := 3.14*2*r
END
5. Function trapesium : real;
Start
Input s1
Input s2
Input t
Hitung
Ltrapesium (s1,s2,t)
Write(‘luas =
‘,ltrapesium )
s1 > s2
Max = s1 Max = s2
Min = s2 Min = s1
Kll := (2*miring)+s1+s2
END
6. Function JajarGen : integer;
Start
Input a
Input t
Write(‘luas = ‘,Ljajargen );
Input ab
Input ad
Kll := (2*ab)+(2*ad)
END
Input d1
Input d2
Hitung
Lbelahk (d1,d2)
Write(‘luas = ‘,Lbelahk );
Input ad
Input ab
Kll := (2*ab)+(2*ad)
END
8. Function Layang : real;
Start
Input d1
Input d2
Hitung
Llayang (d1,d2)
Write(‘luas = ‘,llayang)
Input ab
Input bc
Kll := (2*ab)+(2*bc)
END
Program utama
Start
Input Grade
pil = 1 persegi
pil = 2 Persegipan
pil = 3 segitiga
pil = 4 lingkaran
pil = 5 trapesium
A B
A B
pil = 7 belahk
pil = 8 layang
Write input
salah
End