PEMROGRAMAN I
TIM PRODI TEKNIK INFORMATIKA UNW
PROSEDUR
PENDEFINISIAN PROSEDUR
NAMA LOKAl, NAMA GLOBAL, DAN LINGKUP
PEMANGGILAN PROSEDUR
PARAMETER
PARAMETER MASUKAN
PARAMETER KELUARAN
PARAMETER MASUKAN/KELUARAN
PENGERTIAN PROSEDUR
Mendefinisikan prosedur :
Menuliskan nama prosedur
Mendeklarasikan nama-nama konstanta, peubah dan tipe ( jika ada ).
Menjabarkan rangkaian yang dilakukan
STRUKTUR PROSEDUR
Struktur Prosedur :
Bagian Judul ( header ).
Terdiri atas Nama prosedur dan deklarasi parameter ( jika ada ).
Bagian deklarasi.
Untuk mengumumkan nama-nama.
Bagian deskripsi.
Disebut juga badan prosedur.
Nama prosedur sebaiknya diawali dengan kata kerja karena prosedur berisi
suatu aktivitas,
misalnya : HitungLuas, Tukar, CariMaks, Inisialisasi, AktifkanMenu, dan lain
sebagainya
STRUKTUR PROSEDUR
Deklarasi
{ semua nama yang dipakai di dalam prosedur dan hanya berlaku lokal di
dalam prosedur didefinisikan di sini }
Algoritma :
{ badan prosedur, berisi urutan instruksi }
STRUKTUR PROSEDUR
Contoh 10.1
Procedure HitungLuasPersegipanjang
{ Menghitung luas persegipanjang dengan rumus Luas = (panjang x lebar) }
{ K.Awal : sembarang }
{ K.Akhir : luas persegipanjang tercetak }
DEKLARASI
Panjang : real
lebar : real
luas : real
ALGORITMA
read (panjang, lebar)
luas (panjang x lebar)
write (luas)
PEMANGGILAN PROSEDUR
#include <iostream>
using namespace std;
void LuasPersegi()
{
int panjang,lebar;
Nama parameter aktual tidak harus sama dengan nama parameter formal
asalkan tipenya sama
PARAMETER KELUARAN
Program Segitiga
{ Menghitung luas N buah segitiga }
......
HitungLuasSegitiga (a, t, L)
.........
parameter aktual harus peubah, tidak boleh berupa konstanta atau ekspresi.
NAMA LOKAL, NAMA GLOBAL, LINGKUP
Contoh 10.1
Program Segitiga
{ Menghitung luas N buah segitiga }
DEKLARASI
i, N : integer
alas,tinggi : real
procedure HitungLuasSegitiga
{ Menghitung luas segitiga dengan rumus Luas = (alas x tinggi/2 }
ALGORITMA
read(N) { tentukan banyaknya segitiga }
for i 1 to N do
read (alas, tinggi)
HitungLuasSegitiga
endfor
PARAMETER KELUARAN
Contoh 10.5
Procedure HitungLuasSegitiga (input alas, tinggi : real, Output luas : real)
{ Menghitung luas segitiga dengan rumus Luas = (alas x tinggi/2 }
{ K.Awal : alas dan tinggi sudah terdefinisi nilainya }
{ K.Akhir : luas segitiga tercetak }
DEKLARASI
luas : real
ALGORITMA
luas (alas * tinggi)/2
write (luas)
PARAMETER MASUKAN/KELUARAN
Contoh 10.7
Procedure TambahEmpat (input /Output x, y : integer)
{ menambahkan nilai x dan y masing-masing dengan 4 }
{ K.Awal : x dan y berisi nilai }
{ K.Akhir : nilai x dan y bertambah masing-masing 4, lalu dicetak }
DEKLARASI
{ tidak ada }
ALGORITMA
xx+4
y y + 4;
write ( ’nilai x dan y diakhir prosedur Empat :’)
write ( ’x = ’, x )
write (’ y = ’ y )
PARAMETER MASUKAN
Contoh 10.3
Procedure HitungLuasSegitiga (input alas, tinggi : real)
{ Menghitung luas segitiga dengan rumus Luas = (alas x tinggi/2 }
{ K.Awal : alas dan tinggi sudah terdefinisi nilainya }
{ K.Akhir : luas segitiga tercetak }
DEKLARASI
luas : real
ALGORITMA
luas (alas * tinggi)/2
write (luas)
PARAMETER MASUKAN
Contoh 10.4
Program Segitiga
{ Menghitung luas N buah segitiga }
DEKLARASI
i, N : integer
alas,tinggi : real
procedure HitungLuasSegitiga (input alas, tinggi : real)
{ Menghitung luas segitiga dengan rumus Luas = (alas x tinggi/2 }
ALGORITMA
read(N) { tentukan banyaknya segitiga }
for i 1 to N do
read (alas, tinggi)
HitungLuasSegitiga
endfor
PARAMETER KELUARAN
Contoh 10.6
Program Segitiga
{ Menghitung luas N buah segitiga }
DEKLARASI
i, N : integer
a,t, L : real {alas, tinggi, dan luas segitiga}
procedure HitungLuasSegitiga (input alas, tinggi : real, Output luas : real)
{ Menghitung luas segitiga dengan rumus Luas = (alas x tinggi/2 }
ALGORITMA
read(N) { tentukan banyaknya segitiga }
for i 1 to N do
read (alas, tinggi)
HitungLuasSegitiga
endfor
PARAMETER MASUKAN/KELUARAN
Contoh 10.8
Program XYZ
{ Program yang memperlihatkan efek penggunaan parameter masukan}
DEKLARASI
a, b : integer
procedure TambahEmpat (input /Output x, y : integer)
ALGORITMA
a 15
b 10
write (’nilai a dan b sebelum pemanggilan prosedur TambahEmpat : ’)
write (’ a = ’, a)
write (’ b = ’, b)
TambahEmpat(a,b)
write (’nilai a dan b sesudah pemanggilan prosedur TambahEmpat : ’)
write (’ a = ’, a)
write (’ b = ’, b)
CATATAN
Program dengan Prosedur atau tanpa prosedur
Sangat dianjurkan menulis program yang modular.
Program yang dipecah menjadi beberapa prosedur (atau fungsi) menunjukkan teknik
pemrograman yang baik dan terstruktur.
Prosedur dengan Parameter atau tanpa Parameter
Sangat dianjurkan menulis prosedur dengan parameter.
Parameter berfungsi sebagai media komunikasi antar modul dengan program pemanggil, selain
itu parameter dapat mengurangi kebutuhan penggunaan peubah global.
Parameter Masukan atau Parameter Keluaran
Tergantung pada masalahnya.
Bila prosedur menghasilkan keluaran yang digunakan oleh program pemanggil gunakan
parameter keluaran
Bila prosedur tidak menghasilkan keluaran atau mengasilkan keluaran yang hanya digunakan
dialam prosedur gunakan parameter masukan
Bila prosedur menerima masukan sekaligus keluaran pada parameter yang sama gunakan
parameter masukan/keluaran