Anda di halaman 1dari 26

Sub Program

Materi Pertemuan 10
Tim Dosen

1
Materi
1. Konsep Dasar
2. Prosedur
3. Fungsi
4. Jangkauan Identifier
5. Parameter
6. Latihan

2
1. Konsep Dasar

3
Pemrograman Modular
 Program dibagi kedalam Modul-Modul
 Modul dalam bahasa Pascal di-implementasikan
dengan Prosedur dan fungsi
 Prosedur/Fungsi dibentuk dengan mengelompokkan
sejumlah perintah untuk menyelesaikan tugas
tertentu.
 Modul diperlukan jika kelompok perintah tersebut
kerap kali digunakan di tempat lain dalam program
 Modul sering disebut juga dengan Sub-Program
4
Keuntungan Penggunaan Sub Program (1)
 Program yang besar dan rumit dapat dipecah-
pecah menjadi kecil-kecil sehingga menjadi
lebih sederhana,
 Dapat dikerjakan lebih dari satu orang dengan
koordinasi yang lebih mudah,
 Lebih mudah mencari kesalahan,

5
Keuntungan Penggunaan Sub Program (2)
 Dapat dimodifikasi tanpa mengganggu
program secara keseluruhan,
 Untuk hal yang sering dilakukan cukup ditulis
satu kali dan saat diperlukan cukup dipanggil,
 Mempermudah dokumentasi.

6
Ciri-ciri Modul yang baik:
 Fan-in tinggi, semakin sering digunakan
semakin tinggi nilai fan-in
 Fan-out rendah, semakin sedikit tugas yang
dilakukan semakin rendah nilai fan-out
 Self-contained, sub program dapat memenuhi
kebutuhannya sendiri

7
2. Prosedur

8
Penggunaan
 Deklarasi
Procedure Nama_Prosedur [(parameter)];
[Deklarasi variabel ;]
Begin

statemen-statemen;

End;

 Digunakan terutama untuk hal-hal spesifik


atau yang sering dilakukan
 Tidak mengembalikan nilai
9
Contoh Prosedur
Program Judul;

Procedure Bintang;
Begin Seperti apakah output
write(‘*’); program ini?
End;
Var i : integer;
Begin
for i:=1 to 9 do bintang;
writeln;
bintang;
write(‘ Judul ‘);
bintang;
writeln;
bintang;
End.
10
3. Fungsi

11
Penggunaan
 Deklarasi
Function Nama_fungsi [(parameter)]: Tipe_fungsi;
[Deklarasi variabel ;]
Begin

statemen-statemen;
[Nama_fungsi:=nilai_fungsi]
End;

 Digunakan terutama untuk hal-hal spesifik


atau yang sering dilakukan
 Dapat mengembalikan nilai
12
Contoh Fungsi

Program Judul;

Function Luas_Lingkaran(r:real):real; Seperti apakah output


Begin
program ini?
Luas_lingkaran:=3.14*r*r;
End;
Var luas: real;
Begin
luas:=luas_lingkaran(10);
write(‘ Luas= ‘,luas:0:2);
End.

13
4. Jangkauan Identifier

14
Lingkup Identifier
 Lingkup identifier meliputi bagian-bagian
program dimana sebuah identifier masih bisa
diakses.
 Lingkup identifier meliputi :
 Lokal
 Global

15
Lokal Identifier
 Identifier yang dideklarasikan di dalam
fungsi/prosedur, termasuk parameter.
 Lingkupnya terbatas pada fungsi/prosedur
tempat dideklarasikan.

16
Global Identifier
 Identifier yang dideklarasikan di luar
fungsi/prosedur.
 Ruang lingkupnya meliputi seluruh program setelah
dideklarasikan.
 Disarankan tidak banyak menggunakan identifier
global karena:
 Jika program semakin besar, kecenderungan error
semakin besar .
 Sulit melacak bila terjadi kesalahan.
 setiap fungsi dapat mengubah nilai variabel tersebut
sehingga sulit terjaga nilainya.

17
Contoh Jangkauan
Program Jangkauan;
Var x,y: integer;
Function fungsi1(x:real):real;
Var y: real;
Begin Seperti apakah jangkauan
… tiap-tiap variabel?
End;
procedure pro;
var x,y,z:integer;
begin

end;
Var a,b:integer;
Begin

End.
18
5. Parameter

19
Jenis Parameter
 Formal
 Parameter dimana fungsi/prosedur dideklarasikan
 Aktual
 Parameter dimana fungsi/prosedur digunakan

20
Transfer Parameter
 By-Value
 Yang dikirim ke modul lain atau ke program
utama adalah nilai datanya.
 By Location / by reference
 Yang ditransfer ke modul lain atau program
utama adalah alamat memorinya.

21
Contoh Transfer Parameter 1
Program Tranfer1;

Procedure tukar(x,y:real);
Var z: integer; Seperti apakah output-nya?
Begin Apakah nilai a dan b tertukar?
z:=x; x:=y; y:=z;
End;

Var a,b:integer;
Begin
a:=2; b:=9;
tukar(a,b);
writeln(‘ a= ‘,a,’ b:= ‘,b);
End.

22
Contoh Transfer Parameter 2
Program Tranfer1;

Procedure tukar(var x,y:real);


Var z: integer; Bagaimana dengan yang ini?
Begin Apakah nilai a dan b tertukar?
z:=x; x:=y; y:=z;
End;

Var a,b:integer;
Begin
a:=2; b:=9;
tukar(a,b);
writeln(‘ a= ‘,a,’ b:= ‘,b);
End.

23
6. Latihan

24
Latihan
1. Buatlah program yang menginput n buah
nilai integer dengan menggunakan array,
dimana n diinput oleh user saat program
berjalan.
2. Hitung rata-rata dan standar deviasi data
diatas dengan modul tersendiri.
3. Cari nilai terkecil dan terbesar data diatas
dengan modul
25
Terima Kasih

26

Anda mungkin juga menyukai