Tampilkan postingan dengan label pass by reference. Tampilkan semua postingan
Tampilkan postingan dengan label pass by reference. Tampilkan semua postingan

Kamis, 14 Juni 2012

Parameter Passing

Parameter passing adalah parameter yang ditransmisikan ke dan atau dari subprogram.
Formal parameter dapat dikategorikan menjadi salah satu dari 3 model semantic berikut 
a. Parameter yang dapat menerima data dari parameter actual  yang berhubungan (in mode).
b.  Parameter yang dapat men-transmit data ke parameter actual (out mode).
c.  Parameter yang dapat menerima dan mentransmit data (inout mode).
Implementasi Model Parameter Passing
1.       Pass by value
Ketika parameter menggunakan pass by value, nilai dari actual parameter digunakan untuk menginisialisasi formal parameter yang berhubungan. Pass by value merupakan penerapan dari in mode.
Kelebihan : cepat dalam hubungan dan waktu akses.
Kekurangan : jika copy dibutuhkan maka penyimpanan tambahan diperlukan untuk parameter formal.
2.       Pass by reference
Merupakan implementasi dari in-out mode.
Kelebihan :
a.  Efisien dalam hal waktu dan tempat.
b. Duplikat tempat tidak dibutuhkan, begitu juga dengan pengkopian nilai data.
Kekurangan :
a.  Akses ke parameter formal akan lebih lambat daripada parameter pass by value, karena level tambahan dari indirect addressing dibutuhkan.
b.  Jika hanya komunikasi 1 jalur, pemanggilan subprogram diperlukan, kurang hati-hati dan keliru mungkin mengubah actual parameter.
c.       Alias dapat terjadi yang menimbulkan bahaya terhadap readability dan reability, serta membuat verifikasi program menjadi lebih susah.
3.       Pass by name
Merupakan penerapan dari in out mode.
Kelebihan : lebih flexible untuk late binding (dynamic binding).
Kekurangan :
a.  Terlalu kompleks untuk diimplementasikan dan tidak efisien.
b. Tingkat readability dan realibility rendah.
c. Terlalu membingungkan, susah dimengerti, dan dipahami.