Anda di halaman 1dari 25

ALGORITMA

(Prosedur/Procedure)
by
Aminudin
Prosedur
• Prosedur sering kita dengar dalam kehidupan
sehari-hari, bahkan dalam setiap pekerjaan atau
aktivitas.

• Prosedur bagi mahasiswa contohnya adalah pada


saat melakukan daftar ulang (registrasi) yang
dinamakan prosedur daftar ulang.
Prosedur daftar ulang
1. Ambil form rencana studi (FRS) dikantor tata usaha
akademik dengan cara memperlihatkan Kartu Tanda
Mahasiswa (KTM) dan Kartu Studi Mahasiswa (KSM)
2. Lakukan pembayaran SPP di loker pembayaran dan minta
kwitansinya.
3. Isi FRS dengan mata kuliah yang akan diambil di semester ini.
4. Lakukan perwalian untuk mengesahkan FRS oleh wali
akademik.
5. Jika SPP sudah lunas, maka serahkan FRS yang sudah di
syahkan oleh Wali Akademik ke petugas di Kantor Tata Usaha
Akademik. Jika SPP belum lunas, kembali ke langkah 2.
6. Serahkan foto ukuran 2 X 3 untuk KTM yang baru, untuk
kemudian di cap oleh petugas.
7. Selesai.
Prosedur
• Ketika sebuah prosedur di eksekusi, maka instruksi-
intruksi di dalamnya dikerjakan satu persatu. Pada
contoh registrasi mahasiswa, mahasiswalah yang
mengeksekusi prosedur daftar ulang.
• Di dalam dunia pemrograman, Prosedur adalah program
yang mengerjakan tugas/aktivitas yang spesifik dan
menghasilkan suatu efek netto.
• Efek netto diketahui dengan membandingkan keadaan
awal dan keadaan akhir pada pelaksanaan prosedur.
Pada setiap prosedur kita perlu mendefinisikan
keadaan awal (K.Awal) sebelum rangkaian instruksi di
dalam prosedur dilaksanakan dan keadaan akhir
(K.Akhir) setelah rangkaian instruksi di dalam
prosedur dilaksanakan.
1. Pendefinisian Prosedur

• Pendefinisian prosedur adalah menuliskan nama


prosedur, mendeklarasikan nama-nama
konstanta, peubah dan tipe (jika ada), dan
menjabarkan rangkaian aksi yang dilakukan.

• Setiap prosedur memiliki nama yang unik dan


sebaiknya nama prosedur diawali dengan kata
kerja karena prosedur berisi suatu aktivitas.
Contoh : HitungLuas, Tukar, CariMaks dan lain-
lain.
Parameter
• Parameter adalah nama-nama peubah yang
dideklarasikan pada bagian header prosedur.

• Parameter pada prosedur terdiri dari dua yaitu:


– Parameter Aktualparameter yang disertakan
pada waktu pemanggilan prosedur
– Parameter Formalparameter yang dideklarasikan
di dalam bagian header prosedur itu sendiri.

• Ketika prosedur dipanggil, parameter aktual


menggantikan parameter formal. Tiap-tiap parameter
aktual berpasangan dengan parameter formal
(korenpondensi satu-satu).
Notasi algoritmik untuk mendefinisikan
prosedur (tanpa parameter)
procedure NamaProsedur (deklarasi parameter jika ada)
{spesifikasi prosedur, berisi penjelasan tentang apa yang
dilakukan oleh prosedur ini.
K. Awal : keadaan sebelum prosedur dilaksanakan.
K.Akhir : keadaan setelah prosedur dilaksanakan. }

DEKLARASI
{semua nama yang dipakai di dalam prosedur dan hanya
berlaku lokal di dalam prosedur}
DESKRIPSI
{badan prosedur, berisi urutan instruksi}
Pendeklarasian parameter di dalam prosedur
bukanlah suatu keharusan (boleh ada/tidak).
Contoh 1: Menghitung luas segitiga
Buatlah prosedur yang membaca panjang alas dan tinggi
segitiga,menghitung luas segitiga denga rumus luas=(alas
x tinggi)/2, dan mencetak luas segitiga tersebut.
Penyelesaian
procedure HitungLuasSegitiga
{ Menghitung luas segitiga dengan rumus L = (alas x
tinggi)/2 }
{ K.Awal : sembarang }
{ K.Akhir : luas segitiga tercetak }
DEKLARASI
alas : real { panjang alas segitiga, dalam cm }
tinggi: real { tinggi segitiga, dalam cm }
luas : real { luas segitiga, dalam cm }
DESKRIPSI
read(alas,tinggi)
luas  (alas x tinggi) / 2
write(luas)
2. Pemanggilan Prosedur
• Prosedur bukan program berdiri sendiri  prosedur tidak dapat
dieksekusi secara langsung.
• Instruksi-instruksi di dalam prosedur baru dapat dilaksanakan
apabila prosedur itu diakses.
• Prosedur diakses dengan cara memanggil namanya dari program
pemanggil (misalnya dari program utama atau dari modul program
lainnya). Jika prosedur tanpa parameter maka pemanggilannya
cukup dengan namanya saja

NamaProsedur

• Ketika nama prosedur dipanggil, kendali program berpindah secara


otomatis ke prosedur tersebut. Seluruh instruksi di dalam badan
prosedur dilaksanakan. Setelah semua instruksi selesai
dilaksanakan, kendali program berpindah secara otomatis kembali
ke instruksi sesudah pemanggilan prosedur.
Contoh 2: Menghitung luas N buah segitiga

Misalkan kita mempunyai N buah segitiga dan kita ingin


menghitung luas semua segitiga tersebut. Prosedur untuk
menghitung luas segitiga sudah kita definisikan di contoh 1.

Algoritma Segitiga
{ Menghitung luas N buah segitiga }
DEKLARASI
i, N : integer
procedure HitungLuasSegitiga
{ Menghitung luas segitiga denga rumus L = (alas x tinggi)/2}
DESKRIPSI
read(N) { tentukan banyaknya segitiga}
for  1 to N do
HitungLuasSegitiga
endfor
3. Nama Global, Nama Lokal dan Lingkup

• Nama-nama (konstanta, peubah, tipe dll) dalam


prosedur dikatakan

– Global, apabila nama-nama tersebut diletakkan


pada program utama dan dapat digunakan untuk
seluruh prosedur

– Lokal, apabila nama-nama tersebut diletakkan


pada tiap prosedur dan hanya dapat digunakan
oleh prosedur itu sendiri.
Contoh:

procedure HitungLuasSegitiga
{ Menghitung luas segitiga dengan rumus L = (alas x tinggi)/2 }
{ K.Awal : sembarang }
{ K.Akhir : luas segitiga tercetak }

DEKLARASI
luas : real { luas segitiga dalam cm }

DESKRIPSI
luas  (alas x tinggi) / 2
write(luas)
Jika disatukan dengan program utama maka,

Algoritma segitiga
{ Menghitung luas N buah segitiga }

DEKLARASI
i, N : integer
alas, tinggi : real {alas dan tinggi segitiga, dalam cm}

procedure HitungLuasSegitiga
{ Menghitung luas segitiga dengan rumus L = (alas x tinggi)/2 }

DESKRIPSI
read(N) { tentukan banyaknya segitiga}
for  1 to N do
read (alas, tinggi)
HitungLuasSegitiga
endfor
4. Parameter
Parameter adalah nama-nama peubah yang dideklarasikan pada
bagian header prosedur.
Kebanyakan program memerlukan pertukaran data/informasi
antara prosedur dan titik dimana ia dipanggil.

Prosedur dengan parameter diakses dengan cara memanggil


namanya dari program pemanggil (program utama atau modul
program lain) disertai parameternya. Cara pemanggilan
prosedur dengan parameter adalah

NamaProsedur (parameter aktual)

Ketika prosedur dipanggil, parameter aktual berkoresponden


dengan parameter formal. Tiap parameter aktual berpasangan
dengan parameter formal yang bersesuaian.
Aturan dalam korespondensi satu-satu antara
parameter aktual dan parameter formal

1. Jumlah parameter aktual pada pemanggilan


prosedur harus sama dengan jumlah parameter
formal pada deklarasi prosedurnya.
2. Tiap parameter aktual harus betipe sama dengan
tipe parameter formal yang bersesuaian.
3. Tiap parameter aktual harus diekspresikan
dalam cara yang taat asas dengan parameter
formal yang bersesuaian, bergantung pada jenis
parameter formal.
Berdasarkan maksud penggunaannya,
terdapat tiga jenis parameter formal

1. parameter masukan (input parameter) adalah


parameter yang nilainya berlaku sebagai
masukkan untuk prosedur. Pada bahasa
pemrograman parameter masukan dinamakan
parameter nilai (value parameter atau
parameter by value)
2. parameter keluaran (output parameter) adalah
parameter yang menampung keluaran yang
dihasilkan oleh prosedur.
3. parameter masukan/keluaran (input/output
parameter) adalah parameter yang berfungsi
sebagai masukan sekaligus keluaran bagi prosedr
tersebut.
4.1 Parameter Masukan

Pada parameter masukan, nilai (value) parameter


diisikan (assign) ke dalam parameter formal yang
bersesuaian. Nilai ini digunakan dalam badan
prosedur yang bersangkutan.

Perubahan nilai parameter di dalam badan prosedur


tidak mengubah nilai parameter aktual karena yang
dipentingkan adalah nilainya, maka nama parameter
aktual boleh beda dengan nama parameter formal
yang bersesuaian.
Contoh4: Prosedur HitungLuasSegitiga
dengan parameter masukan
procedure HitungLuasSegitiga(input alas,tinggi : real)
{ Menghitung luas segitiga dengan rumus L = (alas x tinggi)/2 }
{ K.Awal : sembarang }
{ K.Akhir : luas segitiga tercetak }

DEKLARASI
luas : real { luas segitiga, dalam cm }

DESKRIPSI
luas  (alas x tinggi) / 2
write(luas)
Program utama
Algoritma segitiga
{ Menghitung luas N buah segitiga }

DEKLARASI
i, N : integer
alas, tinggi : real {alas dan tinggi segitiga, dalam cm}
procedure HitungLuasSegitiga(input alas,tinggi : real)
{ Menghitung luas segitiga dengan rumus L = (alas x tinggi)/2 }

DESKRIPSI
read(N) { tentukan banyaknya segitiga}
for  1 to N do
read (alas, tinggi)
HitungLuasSegitiga(alas,tinggi)
endfor
Karena yang dipentingkan adalah nilainya, maka
nama parameter aktual boleh beda dengan
nama parameter formal yang bersesuaian asal
tipenya sama
Algoritma segitiga
{ Menghitung luas N buah segitiga }

DEKLARASI
i, N : integer
a, t : real {alas dan tinggi segitiga, dalam cm}
procedure HitungLuasSegitiga(input alas,tinggi : real)
{ Menghitung luas segitiga dengan rumus L = (alas x
tinggi)/2 }
DESKRIPSI
read(N) { tentukan banyaknya segitiga}
for  1 to N do
read (a, t)
HitungLuasSegitiga(a,t)
endfor
4.2 Parameter Keluaran
1. Prosedur mungkin menghasilkan satu atau lebih keluaran
yang akan digunakan oleh program pemanggil. Jika ini
kasusnya maka, nilai keluaran tersebut ditampung di dalam
parameter keluaran.
2. Ketika prosedur yang mengandung parameter keluaran
dipanggil, maka nama parameter aktual akan menggantikan
nama parameter formal yang bersesuaian di dalam
prosedur. Selanjutnya nama parameter aktual akan
digunakan selama pelaksanaan prosedur ini
3. Parameter aktual dideklarasikan di dalam header prosedur,
tetapi parameter keluaran harus dideklarasikan dengan
kata kunci output.
Contoh:
procedure HitungLuasSegitiga(input alas,tinggi : real,
output Luas:real)
{ Menghitung luas segitiga dengan rumus L = (alas x
tinggi)/2 }
{ K.Awal : sembarang }
{ K.Akhir : luas berisi luas segitiga }

DEKLARASI
{tidak ada}
DESKRIPSI
Luas  (alas x tinggi) / 2
program utama
Algoritma segitiga
{ Menghitung luas N buah segitiga }

DEKLARASI
i, N : integer
a, t, L : real {alas, tinggi dan Luas segitiga dalam cm}
procedure HitungLuasSegitiga(input alas,tinggi : real,
output luas:real)
{ Menghitung luas segitiga dengan rumus L = (alas x
tinggi)/2 }

DESKRIPSI
read(N) { tentukan banyaknya segitiga}
for  1 to N do
read (alas, tinggi)
HitungLuasSegitiga(a,t, L)
Write(L)
Endfor
Contoh:
Ketika prosedur HitungLuasSegitiga dipanggil maka nilai
parameter aktual a dan t diisikan ke dalam parameter
formal alas dan tinggi sedangkan nama parameter aktual L
menggantikan nama parameter formal luas.

.: Yang harus diperhatikan pada jenis parameter keluaran


adalah parameter aktual harus berupa peubah, tidak boleh
berupa konstanta atau ekspresi. Jadi pemanggilan contoh
dibawah ini salah:

HitungLuasSegitiga(a,t,10)
HitungLuasSegitiga(a,t,10*a)
Terima Kasih

Anda mungkin juga menyukai