Prosedur

advertisement
Prosedur
Nisa’ul Hafidhoh
[email protected]
08156114760
Prosedur
• Prosedur adalah sederetan instruksi algoritmik yang
diberi nama, dan akan menghasilkan efek yang
terdefinisi.
• Secara sederhana, sebuah prosedur yang terdefinisi
disimpan di tempat lain, dan ketika dipanggil
dengan menyebutkan namanya seakan-akan teks
yang tersimpan di tempat lain itu menggantikan
teks pemanggilan.
• Jadi, setiap prosedur harus:
– didefinisikan (dibuat spesifikasinya),
– dipanggil, saat eksekusi oleh prosedur lain / oleh
2
program utama.
Variabel
Variabel: suatu tempat untuk menampung
data di memori yang nilainya dapat
berubah-ubah selama program dijalankan.
Variabel dapat dikategorikan menjadi 3:
1. Variabel global: variabel di luar fungsi
2. Variabel lokal: variabel di luar fungsi
3. Variabel statik: variabel yang nilainya
dipertahankan walau sudah keluar fungsi
3
Parameter
• Variabel khusus yang digunakan dalam suatu fungsi untuk
menyimpan suatu potongan data sebagai input fungsi
• Potongan data yang memiliki nilai khusus disebut argumen
int jumlah(int x, int y)
{
return(x+y)
}
• x, y adalah parameter
jumlah(2, 3)
• 2, 3 adalah argumen
4
Jenis Parameter
• Parameter Formal adalah variabel yang
ada pada daftar parameter dalam definisi
fungsi/prosedur.
• Parameter Aktual adalah variabel
(parameter) yang dipakai dalam
pemanggilan fungsi/prosedur.
• Pada saat eksekusi, terjadi asosiasi nama
parameter formal dengan nama parameter
aktual
5
Tipe Parameter
– Parameter input, yaitu parameter yang diperlukan
prosedur sebagai masukan untuk melakukan aksi.
– Parameter output, yaitu parameter yang nilainya
akan dihasilkan oleh prosedur. Hasil nilai akan
disimpan pada nama parameter Output ini.
– Parameter input/output, yaitu parameter yang
nilainya diperlukan prosedur sebagai masukan
untuk melakukan aksi, & pada akhir prosedur akan
dihasilkan nilai yang baru.
6
Kamus
• Kamus lokal : pendefinisan nama yang dipakai
dan hanya berlaku dalam ruang lingkup
prosedur tersebut.
• Kamus global : pendefinisan nama yang untuk
program dan semua prosedur/fungsi yang
didefinisikan
• Penulisan kamus lokal sama dengan kamus
global, yang berbeda adalah lingkup
berlakunya nama yang didefinisikan
7
Parameter Prosedur
• Prosedur tanpa parameter memanfaatkan
nilai dari nama-nama yang terdefinisi pada
kamus global. Pemakaiannya biasanya harus
“hati-hati”, apalagi jika teks program sudah
sangat besar dan implementasinya menjadi
banyak file.
• Prosedur berparameter dirancang, agar
sepotong kode yang sama ketika eksekusi
dilakukan, dapat dipakai untuk nama parameter
yang bebeda-beda.
8
Definisi Prosedur
• Mendefinisikan (membuat spesifikasi) prosedur
berarti menentukan nama prosedur serta
parameternya (jika ada), dan mendefinisikan
keadaan awal (Initial State, I.S.) dan keadaan
akhir (Final State, F.S.) dari prosedur tersebut.
procedure NAMAPROSEDUR (<list-parameter-input:type>)
{ Spesifikasi, Initial State, Final State}
KAMUS LOKAL
{ Semua nama yang dipakai dalam BADAN PROSEDUR }
ALGORITMA
{ BADAN PROSEDUR }
{ Deretan instruksi algoritmik : assignment, input, output, analisis kasus, pengulangan
atau prosedur }
9
Pemanggilan Prosedur
Memakai, atau "memanggil" prosedur adalah menuliskan nama
prosedur yang pernah didefinisikan, dan memberikan nilai yang
dibutuhkan oleh prosedur itu untuk dapat melaksanakan suatu
aksi terdefinisi.
Program POKOKPERSOALAN
{Spesifikasi : Input, Proses, Output}
KAMUS
{ Semua nama yang dipakai dalam algoritma }
procedure NAMAPROSEDUR (input/output<list nama parameter formal>)
ALGORITMA
{ Deretan instruksi pemberian nilai, input, output, analisis kasus,
pengulangan yang memakai fungsi }
NAMAPROSEDUR (<list parameter aktual>)
10
Studi Kasus
• Tuliskanlah program yang membaca tahanan
(Ohm) dan arus (Ampere), kemudian
menghitung tegangan yang dihasilkan dan
menuliskan hasilnya. Perhitungan tegangan
harus dituliskan menjadi suatu prosedur
bernama PROSES, supaya struktur program jelas
: Input - Proses - Output.
– Input : R : integer, tahanan (Ohm) dan A : integer,
arus (Ampere)
– Proses : menghitung V= R * A
– Output : V : integer, tegangan (Volt)
11
Solusi 1
12
Solusi 2
13
Studi Kasus 2
• Prosedur untuk menukar dua harga yang
disimpan dalam dua nama a dan b.
– I.S. : Diberikan a = 1 dan b = 2
– F.S. : a = 2 dan b = 1
14
15
Studi Kasus 3
• Gunakan prosedur TUKAR untuk menulis
prosedur yang "menukar" 3 nilai integer.
• Contoh : Jika a berisi 1, b berisi 2 dan c
berisi 3, maka hasilnya : a berisi 3, b berisi
1, dan c berisi 2.
16
Solusi
Program TUKAR
{ Program yang membaca dua buah harga x dan y, menuliskan, menyimpannya,
kemudian menukarnya, dan menuliskan nilai setelah pertukaran }
KAMUS
X,Y,Z : integer
procedure PROCTUKAR (input/output a, b : integer)
{ Prosedur untuk menukar dua buah harga yang tersimpan dalam dua
nama integer}
{ I.S : diberikan a=A dan b=B }
{ F.S : a=B dan b=A}
ALGORITMA
input (X,Y,Z)
PROCTUKAR (X,Z)
PROCTUKAR (Y,Z)
output (x,y)
17
Download