Jumat, 19 Desember 2014

MODUL PENDALAMAN PROCEDURE


MODUL
PENDALAMAN PROCEDURE
(Ditujukan Untuk Memenuhi Tugas Akhir Mata Kuliah Pemrograman)




        













Disusun Oleh :

Nerly Angraeni (4611414035)

Safit Firmansyah (4611414021)

Fitra Jelita (4611414006)








UNIVERSITAS NEGERI SEMARANG
2014
Prosedur adalah suatu program yang terpisah dalam blok tersendiri yang berfungsi sebagai subprogram. Penggunaan prosedur diawali dengan kata cadangan procedure di dalam bagian deklarasi procedure. Pemanggilan prosedur dapat dilakukan dengan menggunakan judul Prosedur. Ketika sebuah procedure dieksekusi maka. Instruksi-instruksi di dalamnya dikerjakan satu persatu.
Dalam dunia pemrograman, procedure merupakan modul program yang mengerjakan tugas yang spesifik dan menghasilkan suatu efek netto. Efek netto ini dapat diketahui dengan membandingkan keadaan awal dan keadaan akhir pada pelaksanaan sebuah procedure. Oleh karena itu pada setiap procedure perlu didefinisikan keadaan awal dan keadaan akhir. Pada program terstruktur banyak menggunakan prosedur karena :
  • Sebagai penerapan program yang modular yaitu memecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur.
  • Untuk beberapa perintah yang sering digunakan berulang, cukup dituliskan sekali dalam prosedur dan dapat dipanggil sewaktuwaktu.

  1. Pendefinisian Procedure
Pendefinisian procedure artinya menuliskan nama procedure, mendeklarasikan nama-nama konstanta, peubah dan tipe, dan menjabarkan rangkaian aksi yang dilakukan. Parameter adalah nama-nama peubah yang dideklarasikan pada bagian header procedure. Penggunaan parameter menawarkan mekanisme pertukaran informasi antara procedure dan titik dimana ia dipanggil. Tiap item data transfer antara parameter actual dan parameter formal harus bersesuaian. Parameter actual adalah parameter yang disertakan pada waktu pemanggilan procedure sedangkan parameter formal adalah parameter yang dideklarasikan di dalam bagian header procedure itu sendiri. Parameter boleh ada atau tidak ada (bukan merupakan keharusan). Procedure dengan parameter lebih menjamin modularitas program. Procedure tanpa parameter bekerja dengan nama global.
  1. Pemanggilan procedure
Procedure bukan program yang berdiri sendiri. Instruksi-instruksi di dalam procedure baru dapat dilaksanakan hanya bila procedure tersebut diakses. Procedure diakses dengan cara menganggil namanya dari program pemanggil. Jika procedure tanpa parameter, maka pemanggilannyacukup dengan namanya saja. Ketika procedure dipanggil, kendali program berpindah secara tomatis ke procedure tersebut.

1)      Procedure Non Parameter
Procedure non parameter maksudnya tidak ada pengiriman parameter atau variabel tertentu ke program utama.  Cara mendefinisikan procedure non parameter adalah sebagai berikut :


Saat program dijalankan akan seperti berikut:


2)       Procedure Parameter
Parameter adalah data masukan untuk sub program yang nantinya akan diproses lebih lanjut pada sub program tersebut. Dalam pascal dikenal 2 macam parameter yaitu Parameter nilai dan Parameter referensi. Cara mendeklarasikan procedure dengan parameter adalah sebagai berikut :
Rounded Rectangle: Procedure B(X : integer; var Y : integer);
begin 
{ statement }
End;
 



Pada deklarasi prosedur di atas, parameter X adalah parameter nilai sedang parameter Y adalah parameter referensi. Jadi, pendeklarasian parameter referensi didahului oleh reserved word var. Parameter referensi ini nantinya dapat dijadikan sebagai variable keluaran dari prosedur. Berikut ini adalah contoh program dengan procedure parameter :


Saat dijalankan akan seperti berikut :

Penjelasan : Dapat dilihat pada program diatas bahwa a dan t merupakan parameter nilai sedangkan l merupakan parameter referensi. Variabel l akan menampung hasil perhitungan dari a dan t sehingga terjadi pengiriman parameter a, t, l ke alas, tinggi dan luas.

  1. Parameter masukan dan keluaran
Kita sudah melihat parameter masukan digunakan pada situasi dimana informasi dikirim hanya dari titik pemanggilan prosedur ke prosedur itu sendiri Sedangkan parameter keluaran hanya mengirim informasi dari prosedur ke titik pemanggilan prosedur. Prosedur juga harus dapat mengakomodasi baik masukan atau keluaran ke blok program pemanggil. Parameter masukan/keluaran umunya digunakan pada situasi seperti ini.
Ketika prosedur yang mengandung parameter keluaran dipanggil, nama parameter actual didalam program pemanggil menggantikan nama parameter formal yang bersesuaian didalam prosedur. Selain itu isi atau nilai parameter aktual juga ikut disalin kedalam parameter formal. Jadi, nama dan nilai parameter actual digunakan diseluruh bagian prosedur. Akibat penggunaan parameter masukan/keluaran, bila parameter aktual diubah nilainya didalam badan prosedur, maka sesudah pemanggilan prosedur nilai parameter aktual di titik pemanggilan juga berubah. Ini berbeda dengan parameter masukan, yang dalan hal ini meskipun nilai parameter actual didalam badan prosedur diubah, nilai parameter actual tersebut tidak berubah di titik pemanggilan.
Parameter masukan/keluaran dideklarasikan didalam header prosedur dengan kata kunci input/output. Hal lain yang harus diperhatikan pada jenis parameter masukan / keluaran ini adalah parameter actual harus berupa peubah, tidak boleh berupa konstanta atau ekspresi.

Contoh Parameter Masukan/Keluaran:


Output

Penjelasan : karena menggunakan parameter masukan/keluaran maka dalam parameter prosedur tam diawalai dengan kata “var”.  bila parameter aktual diubah nilainya didalam badan prosedur, maka sesudah pemanggilan prosedur nilai parameter aktual di titik pemanggilan juga berubah.
  1. Parameter masukkan

Pada Parameter Masukan, nilai (value) parameter aktual diisikan (assign) ke dalam parameter formal yang bersesuaian. Nilai yang digunakan di dalam badan prosedur yang bersangkutan. Nilai yang dinyatakan oleh parameter masukan tidak dapat dikirim dalam arah sebaliknya. Itulah alasan mengapa parameter jenis ini diacu sebagai parameter masukan. Perubahan nilai parameter di dalam badan prosedur tidak mengbah nilai parameter aktual. Karena yang dipentingkan adalah nilainya, maka nama parameter aktual boleh berbeda dengan nama parameter formala yang bersesuaian. Dalam prosedur menghitung luas segitiga berikut ini, jika program utama ingin mengomunikasikan panjang alas dan tinggi segitiga prosedur  HitunglahLuasSegitiga, maka perubah alas dan tinggi harus dideklarasikan sebagai parameter formal di bagian header prosedur.
Perhatikan Algoritma diatas, kata kunci input pada bagian hearder menyatakan bahwa alas dan tinggi adalah parameter masukan. Keadaan awal (K.awal) prosedur adalah kondisi dimana alas dan tinggi sudah terdefinisi nilainya. Ini berarti bahwa alas dan tinggi sudah harus berisi nilai sebelum pelaksanaan prosedur. Keadaan akhir (K.akhir) prosedur adalah kondisi dimana luas segitiga tercetak (misalnya ke layar). Program utama yang memanggil prosedur HitunglahLuasSegitiga harus mendeklarasikan prosedur ini dan memanggilnya dengan parameter aktual yang bersesuaian:

Prosedur HitunglahLuasSegitiga dipanggil dari program utama dengan menyertakan panjang alas dan tinggi segitiga. Karena yang dipentingkan adalah nilainya, maka nama parameter aktual tidaka harus sama dengan nama parameter formal yang bersesuaian asalkan tipenya tetap sama.

Contoh program dengan Parameter Masukan :


Output

Penjelasan : karena menggunakan parameter masukan  maka dalam parameter prosedur tam tidak diawalai dengan kata “var”.  bila parameter aktual diubah nilainya didalam badan prosedur, maka sesudah pemanggilan prosedur nilai parameter aktual di titik pemanggilan  tidak berubah.

  1. Parameter Keluaran
Prosedur mngkin menghasilkan satu atau lebih keluaran yang digunakan oleh program pemanggil. Jika ini kasusnya, maka nilai keluaran tersebt ditampung di dalam parameter keluaran. Ketika prosedur yang mengandung parameter keluaran dipanggil, maka nama parameter aktual menggantikkan (subtitute) nama parameter formal yang bersesuaian di dalam prosedur. Selanjutnya, nama parameter aktal akan digunakkan selama pelaksanaan prosedur (ini berawal dari parameter masukkan, yang dalam hal ini nilai dari parameter aktal yang di-assign ke dalam parameter formal). Karena nama parameter merupakan suatu lokasi memori, maka bila didalam prosedur parameter aktual diisi satu nilai, nilai ini akan tetap berada di dalam parameter aktual meskipun prosedur selesai dilaksanakan. Jadi, setelah pemanggilan, parameter aktual berisi suatu nilai yang merupakan keluaran dari prosedur tersebut.

Contoh Parameter Keluaran :


Output

Penjelasan : karena menggunakan parameter keluaran  maka dalam parameter prosedur tam diawalai dengan kata “var”. 

CONTOH LAINNYA

Contoh Program dengan Parameter Masukan


Output

Contoh Program dengan Parameter Keluaran



Output






Contoh Program dengan Parameter masukan/keluaran


Outputnya :


***






LEBIH JAUH TENTANG PROCEDURE

Pada penjelasan sebelumnya telah disingung mengenai macam parameter (parameter nilai dan parameter reference). Berikut penjelasannya.

  1. Pengiriman parameter secara Nilai

Pada pengiriman parameter secara nilai, parameter formal akan berisi nilai yang dikirimkan dari parameter nyata dan nilai parameter tersebut akan lokal di prosedur yang dikirim, sifat dari pengiriman nilai ini adalah satu arah, sehingga perubahan nilai dari parameter formal tidak akan mempengaruhi nilai parameter nyata. Contoh :

Saat program dijalankan akan seperti berikut ini :


Kemudian bawah ini merupakan contoh bahwa perubahan pada parameter formal tidak akan mempengaruhi nilai parameter nyata, karena sifatnya adalah satu arah.

Output:


  1. Pengiriman parameter secara acuan (by reference)
Sifat dari pengiriman parameter secara acuan adalah dua arah artinya perubahan dari parameter formal akan mempengaruhi nilai dari parameter nyata. Cara deklarasi diprocedure dengan kata cadangan Var seperti berikut :
Rounded Rectangle: Procedure kali(Var a,b,c : integer); -> parameter formal
kali(x,y,z); -> parameter aktual
 






Contoh :
Di dalam pascal diperkenankan prosedur memanggil prosedur yang lain seperti contoh berikut :
 
























Outputnya :

Penjelasan : dengan memangil procedure tiga, maka secara otomatis procedure satu dan procedure dua akan terpanggil karena antara procedure satu, dua dan tiga telah dikatkan satu dengan yang lainnya.





CARA MEMANGGIL PROCEDURE

  1. Prosedur Tersarang
Prosedur tersarang adalah prosedur yang terdapat di dalam prosedur yang lain dan dipanggil oleh prosedur diluarnya. (procedure dalam procedure)



Outputnya:






  1. Prosedur memanggil dirinya sendiri (rekursi)

Di dalam pascal diperkenankan memanggil prosedurnya sendiri. Istilah ini disebut sebagai recursion. Dalam penggunaanya membutuhkan memory yang besar. Karena pada setiap pemanggilan sejumlah memory tambahan dibutuhkan.


Outputnya :


-Sekian, Terimakasih-






Tidak ada komentar:

Posting Komentar