Didik Dwi
didik@um.ac.id
Subbahasan
Prosedur
Fungsi
Modularisasi
Teknik pemrograman modular
Modul = rutin (routine) = prosedur =
fungsi
Program lebih independen
Menghindari penulisan ulang program
Prosedur
Subprogram yang dapat dipanggil di
Notasi Prosedur
procedure Nama_Prosedur
{Spesifikasi prosedur}
{K.Awal : keadaan sebelum prosedur dilaksanakan}
{K.Akhir : keadaan setelah prosedur dilaksanakan}
Deklarasi
{deklarasi lokal prosedur}
Deskripsi
{badan prosedur}
Pemanggilan Prosedur
Instruksi dilaksanakan jika prosedur
diakses/dipanggil
Pemanggilan melalui program utama atau
subprogram
Pemanggilan merujuk nama prosedur
Deskripsi
Parameter
Mekanisme pertukaran informasi
Jenis:
Parameter formal: parameter yang
dideklarasikan di bagian header prosedur
Parameter aktual: parameter yang diberikan
saat pemanggilan
Jumlah dan tipe parameter aktual harus
Parameter Masukan
procedure Nilai_Maksimum(input A, B: integer)
{Menentukan nilai tertinggi antara A dan B}
{K.Awal : sembarang}
{K.Akhir : nilai maksimum tercetak}
Deklarasi
maks : integer
Deskripsi
if A > B then
maksA
else
maksB
endif
write(maks)
Didik Dwi - Teknik Elektro UM
10
Parameter Keluaran
Untuk menampung nilai hasil operasi
prosedur
Nilai disimpan pada parameter keluaran
(output)
11
Parameter Keluaran
procedure Luas_SegiTiga (input a, t: integer, output L: real)
{Menghitung luas segi tiga, rumus L = (a * t) / 2}
{K.Awal : a dan t sudah berisi nilai}
{K.Akhir : L berisi luas persegi}
Deklarasi
{tidak ada}
Deskripsi
L(a * t) / 2
{Menetapkan output}
12
Pemanggilan
Deklarasi
a, b, L : integer
Deskripsi
a10
b4
{pemanggilan prosedur dengan parameter keluaran}
Luas_Segitiga(a, b, L)
write(L)
13
Parameter In/Out
Berfungsi sebagai masukan dan keluaran
Dideklarasikan menggunakan keyword
input/output
Contoh:
14
15
Fungsi
Modul program dengan tujuan spesifik
Fungsi mengembalikan sebuah nilai
16
Notasi Fungsi
function Nama_Fungsi(input daftar parameter) tipe hasil
{Spesifikasi, menjelaskan apa yang dilakukan dan yang
dikembalikan oleh fungsi}
Deklarasi
{deklarasi lokal }
Deskripsi
{badan fungsi}
return hasil
17
18
Pemanggilan Fungsi
Pemanggilan melalui program utama atau
subprogram
Pemanggilan merujuk nama fungsi
Pemanggilan melalui:
Variabel
variabel nama_fungsi
Operasi manipulasi langsung
if (nama_fungsi > 0) then
19
Pemanggilan Fungsi
Algoritma Utama
{Contoh algoritma untuk memanggil fungsi Maks}
Deklarasi
A, B, C : integer
Deskripsi
20
Studi Kasus
Buat fungsi dan prosedur untuk
21