Selasa, 31 Desember 2013

Prosedur dan Fungsi

,
Assalamu'alaikum.. kali ini saya akan share tentang prosedur dan fungsi.

PROSEDUR

Modul program yang mengerjakan tugas/aktifitas yang spesifik dan menghasilkan suatu efek netto [LIE96]

Pendefinisian Prosedur


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 sete;ah prosedur dilaksanakan}

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 :



Procedure HitungLuasSegitiga

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

  {K.Awal : sembarang}

  {K.Akhir : luas segitiga tercetak}

DEKLARASI

  alas  : real

  tinggi  : real

  luas  : real

ALGORITMA

  read(alas,tinggi)

  luas <- (alas x tinggi) / 2

  write(luas)


Pemanggilan prosedur





PROGRAM segitiga

  {Menghitung luas N buah segitiga}

DEKLARASI

  i, N : integer

  procedure HitungLuasSegitiga

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

ALGORITMA

  read (N) {tentukan banyaknya segitiga}

  for  I <- 1 to N do

  HitungLuasSegitiga

  endfor


Nama Global, Lokal dan Lingkup

Nama (konstanta, peubah, tipe dll) :
  • Lokal : Nama-nama yang dideklarasikan di dalam prosedur tersebut dikatakan lingkupnya (scope) “lokal”. Hanya berlaku di dalam prosedur yang melingkupinya saja.
  • Global : Nama-nama yang dideklarasikan di dalam program utama dikatakan lingkupnya “global”. Dapat digunakan di bagian manapun di dalam program.


Aturan dalam korespondensi satu-satu antara parameter aktuan dan formal


  • Jumlah parameter aktual pada pemanggilan prosedur harus sama dengan jumlah parameter formal pada deklarasi prosedurnya
  • Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang bersesuaian
  • Tiap parameter aktual harus diekspresikan dalam cara yang taat-asas dengan parameter formal yang bersesuaian, bergantung pada jenis parameter formal.


Jenis Parameter formal

  • Parameter masukan (input parameter)
  • Parameter keluaran (output parameter)
  • Parameter masukan/keluaran (input/output parameter)

Parameter Masukan


Procedure HitungLuasSegitiga(input alas, tinggi : real)

DEKLARASI

  luas : integer

ALGORITMA

  Luas <- (alas * tinggi) /2

  write(luas)

Pemanggilan prosedur masukan



PROGRAM Segitiga

DEKLARASI

  i, N : integer

  alas, tinggi : real

  procedure HitungLuasSegitiga ( input alas, tinggi : real)

ALGORITMA

  read(N)

  for i <- 1 to N do

  read(alas, tinggi)

  HitungLuasSegitiga(alas, tinggi)

  endfor

Parameter Keluaran



Procedure HitungLuasSegitiga ( input alas, tinggi : real)

                   output luas : real)

DEKLARASI

 

ALGORITMA

  Luas <- (alas * tinggi) /2

Pemanggilan prosedur keluaran

 
PROGRAM Segitiga

DEKLARASI

  i, N : integer

  a, t, L : real

  Procedure HitungLuasSegitiga ( input alas, tinggi : real)

                     output luas : real)

ALGORITMA

  read(N)

  for i <- 1 to N do

  read(a, t)

  HitungLuasSegitiga(a, t, L)

  write(L)

  endfor


Parameter Masukan/Keluaran



Procedure inc(input/output x : integer)

DEKLARASI

 

ALGORITMA

  x <- x + 1


Pemanggilan prosedur masukan/keluaran


PROGRAM cetak0sampai10

DEKLARASI

  x : integer

  Procedure inc(input/output x : integer)

ALGORITMA

  x <- 0

  repeat

  write(x)

  inc(x)

  until x > 10


FUNGSI


upa-program yang memberikan/mengembalikan (return) sebuah nilai dari tipe tertentu (tipe dasar atau tipe bentukan). 

  • Fungsi diakses dengan memanggil namanya 
  • Fungsi mengandung daftar parameter formal 
  • Parameternya merupakan parameter masukan


Pendefinisian Fungsi


Function NamaFungsi (input : deklarasi parameter, jika ada) -> tipe

{Spesifikasi fungsi, berisi penjelasan tentang apa yang dilakukan  dan dikembalikan oleh fungsi .}

DEKLARASI

{semua nama yang dipakai di dalam fungsi dan hanya berlaku lokal di dalam prosedur didefinisikan di sini}

ALGORITMA

{badan fungsi, berisi urutan instruksi yang menghasilkan nilai yang akan dikembalikan oleh fungsi}

Return  ekspresi {pengembalikan nilai yang dihasilkan fungsi}



 

Contoh



Function Genap(input n : integer) –> boolean

  {true jika n adalah bilangan genap, atau false jika tidak genap}

DEKLARASI

  {tidak ada}

ALGORITMA
  return (n mod 2 = 0)


Prosedur atau Fungsi


  • Fungsi digunakan apabila modul program mengembalikan sebuah nilai
  • Prosedur digunakan bila modul menghasilkan efek netto dari (satu atau) sekumpulan aksi

Sekian, semoga bermanfaat. wassalamu'alaikum..
































1 komentar: