SUBPROGRAM
Ø Memiliki struktur yang sama dengan
program utama yaitu bagian header, deklarasi dan definisi.
Ø Subprogram dieksekusi dengan
memanggil namanya dari program utama.
Ø Ketika sebuah subprogram dipanggil,
maka pelaksanaan program berpindah ke subprogram. Selanjutnya, seluruh
instruksi di dalam subprogram akan dijalankan. Setelah seluruh instruksi
dijalankan, pelaksanaan program kembali ke program utama untuk menjalankan
instruksi berikutnya.
KELEBIHAN
PEMROGRAMAN MODULAR (MODULARISASI)
Ø Memberikan kemudahan dalam penulisan
bagian (instruksi) program yang sama. Dengan kata lain, modularisasi
menghindari penulisan bagian program yang berulang.
Ø Memberikan kemudahan untuk menulis
dan menemukan kesalahan (debug) program.
JENIS
SUBPROGRAM
Ø Prosedur (Procedure)
Ø Fungsi (Function)
PROSEDUR
(PROCEDURE)
Ø Merupakan subprogram yang mengerjakan
tugas (aktifitas) yang spesifik dan menghasilkan suatu efek netto.
Ø Efek netto diketahui dengan
membandingkan keadaan awal dan akhir pada pelaksanaan sebuah prosedur.
PENDEFINISIAN
PROSEDUR
Ø Menuliskan nama prosedur (beserta
parameter jika ada), mendeklarasikan nama peubah (variabel, konstanta, tipe,
dll), dan menjabarkan rangkaian aksi yang dilakukan.
Ø Setiap prosedur memiliki nama yang
unik dan sebaiknya menggunakan kata kerja. Sebagai contoh,
Hitung_Luas_segitiga, Cari_Nilai_Maks.
Ø Parameter digunakan untuk pertukaran
data/informasi antara prosedur dengan titik
(lokasi) pemanggilannya.
Ø Terdapat dua jenis parameter yakni,
aktual dan formal. Parameter aktual (argumen) disertakan pada saat pemanggilan
prosedur. Sedangkan parameter formal dideklarasikan dalam bagian header
prosedur.
Bentuk
pendefinisian prosedur :
Procedure NamaProsedur(deklarasi parameter jika ada)
{Spesifikasi prosedur, keadaan awal dan akhir
prosedur}
DEKLARASI :
{semua
nama peubah}
DEFINISI :
{urutan
instruksi/aksi}
Contoh 1 (Prosedur dengan parameter):
procedure Hitung_Nilai_Maks (input a,b : integer)
{Menghitung nilai maksimal antara dua bilangan}
DEKLARASI :
maks : integer
DEFINISI :
if a >
b then
maks ¬ a
else
maks ¬ b
write(maks)
end procedure
Contoh 2 (Prosedur tanpa parameter):
procedure Tulis_Deret_Bilangan_Genap
{Menampilkan deret bilangan genap yang kurang dari
10}
DEKLARASI :
bilangan :
integer
DEFINISI :
bilangan ¬ 2
while
(bilangan < 10)do
write(bilangan)
bilangan
¬ bilangan +
2
endwhile
end procedure
PEMANGGILAN PROSEDUR
Ø Prosedur
diakses dengan cara memanggil namanya dari program pemanggil seperti program
utama atau subprogram lainnya.
Ø Prosedur
harus dideklarasikan dahulu dalam program pemanggil sehingga dapat dikenali
pada saat pengaksesannya. Pendeklarasian prosedur berisi bagian header
prosedur.
Contoh 3 (Pengaksesan Prosedur Dari Program
Pemanggil):
Algoritma Hitung_Nilai_Maks
{Menghitung nilai maksimal antara dua bilangan
dengan menggunakan prosedur}
DEKLARASI :
a,b :
integer
procedure
Hitung_Nilai_Maks(input a, b : integer)
DEFINISI :
read(a, b)
Hitung_Nilai_Maks(a,
b)
End Algoritma
NAMA GLOBAL, NAMA LOKAL, DAN LINGKUP
Ø Nama
global dideklarasikan dalam algoritma/program utama untuk dapat digunakan dalam
seluruh bagian algoritma/program tersebut termasuk prosedur yang ada di
dalamnya.
Ø Nama
lokal dideklarasikan dalam prosedur sehingga hanya akan dikenal dan digunakan
dalam prosedur tersebut.
PARAMETER
Ø Digunakan
untuk menukar data/informasi antara algoritma/program utama dan prosedur.
Ø Ketika
prosedur dipanggil, parameter aktual berkorespondensi dengan parameter formal.
Setiap parameter aktual berpasangan dengan parameter formal yang bersesuaian.
Ø Jumlah
parameter aktual harus sama dengan parameter formal.
Ø Setiap
parameter aktual harus bertipe sama dengan parameter formal yang bersesuaian.
Ø Setiap
parameter aktual harus diekspresikan dalam cara yang sesuai dengan jenis
parameter formal.
Terdapat tiga jenis parameter formal, yakni
:
Ø Parameter
masukan (input)/parameter nilai, yakni parameter yang nilainya berlaku sebagai
masukan untuk prosedur
Ø Parameter
keluaran (outpout), yakni parameter yang menampung keluaran (output) yang
dihasilkan prosedur
Ø Parameter
masukan/keluaran, yakni parameter yang berfungsi sebagai masukan dan keluaran
bagi prosedur.
Contoh 3 (Prosedur dengan parameter
masukan) :
procedure Hitung_rata1(input n : integer)
{Menghitung rata-rata dari n buah bilangan}
DEKLARASI :
i,bil,jum : integer
rata :
real
DEFINISI :
jum¬0
for i¬1 to n do
write(‘Masukkan
Bilangan ke-’,i)
read(bil)
jum¬jum+bil
endfor
rata¬jum/n
write(‘Rata-rata
=’,rata)
end_procedure
Algoritma Hitung_rata1
{Menghitung rata-rata dari n buah bilangan dengan
menggunakan prosedur}
DEKLARASI :
n : integer
DEFINSI :
write(‘Masukkan
jumlah bilangan’)
read(n)
Hitung_rata1(n)
End Algoritma
Contoh 4 (Prosedur dengan parameter
keluaran) :
procedure Hitung_rata2(output rata :real)
{Menghitung rata-rata dari n buah bilangan}
DEKLARASI :
i,bil,jum,n : integer
rata : real
DEFINISI :
write(‘Masukkan
jumlah bilangan’)
read(n)
jum¬0
for i¬1 to n do
write(‘Masukkan
Bilangan ke-’,i)
read(bil)
jum¬jum+bil
endfor
rata¬jum/n
end_procedure
Algoritma Hitung_rata2
{Menghitung rata-rata dari n buah bilangan dengan
menggunakan prosedur}
DEKLARASI :
nilai_rata : real
DEFINSI :
Hitung_rata(nilai_rata)
write(‘Rata-rata
=’,nilai_rata)
End Algoritma
Contoh 5 (Prosedur dengan parameter
masukan/keluaran) :
Procedure Pangkat_empat
(input/output bil:integer)
{Menghitung hasil pangkat empat dari bilangan}
DEKLARASI:
{tidak
ada}
DEFINISI:
bil¬bil*bil*bil*bil
end_procedure
Algoritma Pangkat_empat
{Menghitung hasil pangkat empat dari bilangan dengan
menggunakan prosedur}
DEKLARASI:
bilangan
:integer
DEFINISI:
Write(‘Masukkan
nilai bilangan’)
Read(bilangan)
Pangkat_empat(bilangan)
Write(‘Hasil
pangkat empat =’,bilangan)
End Algoritma
Sumber Referensi:
Tidak ada komentar:
Posting Komentar