Materi Prosedur
Materi Prosedur
PEMROGRAMAN I
TIM PRODI TEKNIK INFORMATIKA UNW
PROSEDUR
PENDEFINISIAN PROSEDUR
NAMA LOKAl, NAMA GLOBAL
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 }
CONTOH
DEKLARASI
luas : real
ALGORITMA
read (alas, tinggi)
luas (alas x tinggi)/2
write (luas)
PROGRAM UTAMA
PROGRAM Segitiga
{ Menghitung luas N buah segitiga}
DEKLARASI
i,N : integer
Procedure HitungSegitiga
{ Menghitung luas persegipanjang dengan rumus Luas = (alasx tinggi)/2 }
ALGORITMA
read (N)
for i 1 to N do
HitungLuasSegitiga
endfor
#include <iostream>
using namespace std;
Menentukan suatu bilangan apakah termasuk bilangan genap atau bilangan ganjil?
Buat prosedur dan flowchartnya
PROCEDURE
Procedure GenapGanjil (input n : real)
{ menentukan bilangan n bila dibagi 2 = 0 adalah bilangan genap jika tidak bilangan ganjil}
{ K.Awal : n sudah terdefinisi nilainya }
{ K.Akhir : n tercetak bilangan genap atau ganjil}
DEKLARASI
ALGORITMA
n mod 2 = 0
PEMANGGILAN PROSEDUR
Misalnya untuk memanggil prosedur pada contoh 10.1. cukup dengan menuliskan
LuasSegitiga
int main()
{
LuasSegitiga(); // Pemanggilan Prosedur
return 0;
}
NAMA LOKAL, NAMA GLOBAL
void main()
{
……………
…………..
z = hasil(x,y);
…………..
}
PARAMETER FORMAL & AKTUAL
#include<iostream>
using namespace std;
DEKLARASI
luas : real
ALGORITMA
luas (alas * tinggi)/2
write (luas)
PARAMETER MASUKAN
ALGORITMA :
PROGRAM UTAMA
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 (alas,tinggi)
endfor
PARAMETER MASUKAN
#include <iostream>
using namespace std;
DEKLARASI
luas : real
ALGORITMA
luas (alas * tinggi)/2
write (luas)
PARAMETER KELUARAN
ALGORITMA :
PROGRAM UTAMA
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 KELUARAN
#include<iostream>
using namespace std;
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/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)
Program dengan Prosedur atau Tanpa Prosedur?
Sangat dianjurkan menulis program yang modular.
Program yang dipecah menjadi beberapa prosedur ( fungsi )
menunjukan teknik pemrograman yang baik dan terstruktur.