Parameter adalah nama – nama peubah yang dideklarasikan pada bagian header procedure. Kebanyakan program memerlukan pertukaran data atau informasi antara Procedure dan titik dimana ia dipanggil. Penggunaan Parameter menawarkan mekanisme pertukaran informasi tersebut. Pada item data ditransfer antara parameter actual dan parameter formal yang 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. Ketika procedure dipanggil, parameter actual menggantikan parameter formal. Tiap – tiap parameter actual berpasangan dengan parameter formal yang bersesuaian. Pendeklarasian parameter di dalam procedure bukanlah keharusan dengan kata lain parameter boleh ada atau tidak ada. Procedure bukan program yang berdiri sendiri, jadi tidak dapat dieksekusi secara langsung. Ini berarti, instruksi – instruksi di dalam procedure baru dapat dilaksanakan hanya bila procedure tersebut diakses. Cara mengakses procedure yaitu dengan memanggil namanya dari program utama. Ketika nama procedure dipanggil, kendali program berpindah secara otomatis ke procedure tersebut. Seluruh instruksi di dalam badan procedure dilaksanakan, maka kendali program berpindah secara otomatis kembali ke instruksi sesudah pemanggilan procedure. Aturan – aturan yang harus diperhatikan dalam korespondensi satu – satu antara parameter actual dan parameter formal adalah : • Jumlah parameter actual pada pemanggilan procedure harus sama dengan jumlah parameter formal pada deklarasi procedurenya. • Tiap parameter actual harus bertipe sama dengan tipe parameter formal yang bersesuaian. • Tiap parameter actual harus diekspresikan dengan cara yang taat asas dengan parameter formal yang bersesuaian, bergantung pada jenis parameter formal. Ada tiga jenis parameter formal yang disertakan di dalam procedure, yaitu : 1. Parameter masukan(input) adalah parameter yang nilainya berlaku sebagai masukkan untuk procedure 2. Parameter keluaran(output) adalah parameter yang menampung keluaran yang dihasilkan oleh procedure. 3. Parameter masukkan dan keluaran(input dan output) adalah parameter yang berfungsi sebagai masukkan sekaligus keluaran bagi procedure tersebut. Pada saat pemanggilan, parameter harus sesuai dengan parameter formalnya.
Contoh Algoritma Parameter Masukan(input)
Contoh Algoritma Parameter Keluaran(output)
Contoh Algoritma Parameter Masukan dan Keluaran(input dan output)
2. Function Sama halnya dengan Procedure, function diakses dengan memanggil namanya. Fungsi juga dapat mengandung daftar parameter formal. Parameter pada fungsi yang selalu digunakan hanya parameter masukkan. Parameter Masukkan pada fungsi berarti parameter tersebut merupakan masukkan yang digunakan oleh fungsi tersebut untuk menghasilkan nilai. Fungsi diakses dengan cara memanggil namanya dari program utama, diikuti dengan daftar parameter actual. Blok pada function hampir sama dengan blok pada procedure, hanya pada function harus dideklarasikan dengan tipe dari function tersebut yang merupakan tipe hasil dari function itu sendiri. Sehingga dikatakan function dapat mengembalikan nilai. Karena fungsi mengembalikan nilai, maka nilai tersebut dapat diperlakukan dengan dua cara, yaitu : 1. Nilai yang dikembalikan oleh fungsi ditampung di dalam sebuah peubah yang bertipe sama dengan fungsi. 2. Nilai yang dikembalikan oleh fungsi dapat langsung dimanipulasi. Contoh Algoritma Fungsi dalam Pemanggilan
Perbedaan function dan procedure dalam pemanggilan:
WriteLn(Hasil); Soal 1.Buatlah program pascal yang dapat menghitung luas segitiga menggunakan procedure dengan parameter input dan output! program aritha_pascal; uses crt; procedure inputan(alas: integer; tinggi:integer; var luas:real); begin write(‘masukkan nilai alas : ‘); readln(alas); write(‘masukkan nilai tinggi : ‘); readln(tinggi); luas:= alas*tinggi/2; end; var a,t:integer; luas : real; begin writeln(‘-======Program Procedure Luas segitiga======-‘); writeln; inputan(a,t,luas); write(‘luas segitiga adalah : ‘, luas:0:2); end. 2.Buatlah program pascal yang dapat menghitung luas segitiga dengan menggunakan pemanggilan yang nilainya langsung dicetak sebagai berikut:
program DenganFunction; uses crt; function luas(alas,tinggi : integer):single; begin clrscr; luas := 0.5 * alas * tinggi; end;; var p, l : integer; begin alas := 5; tinggi := 3; writeln(‘Luas Segitiga = ‘,luas(alas,tinggi)); alas := 2; tinggi := 7; writeln(‘Luas Segitiga = ‘,luas(alas,tinggi)); alas := 4; tinggi := 6; writeln(‘Luas Segitiga = ‘,luas(alas,tinggi)); readln; end. 3:05 PM
Jika anda diperintahkan untuk memasak masakan tertentu tentu saja anda tidak akan mendengar semua cara memasaknya kecuali anda baru belajar memasak. Kita bisa menyederhanakan perintah memasak dengan mengajarkan atau memberitahukannya terlebih dahulu pada orang yang akan beri perintah. Kita cukup katakan, "masaklah makanan A". Kita perlu menyebut langkah-langkah seperti memotong sayur, menyalakan kompor, menambahkan bumbu dan lain-lain; karena orang yang kita beri perintah sudah paham langkah-langkahnya.
Dalam pemrograman, kita juga bisa menyederhanakan sekumpulan perintah atau statement menjadi sebuah prosedur atau fungsi. Prosedur dan fungsi disebut juga subprogram. subprogram bisa digunakan dengan memanggilnya di program utama atau prosedur lainnya. Prosedur bisa digunakan berkali-kali sehingga penulisan program akan jadi lebih singkat dibandingkan dengan meletakkan semua statement/pernyataan dalam kode program. write, readln, dll; adalah contoh prosedur yang sudah ada dalam pascal. Selain menggunakan prosedur yang ada, kita bisa membuat prosedur buatan kita sendiri. Berikut ini adalah contoh prosedur sederhana dan pemanggilannya.
Subprogram bisa memiliki "parameter" atau bisa juga tidak memiliki parameter. Pada contoh di atas parameternya adalah s. Berdasarkan letaknya, parameter prosedur dan fungsi bisa terbagi 2 yaitu :
Prosedur tidak memiliki nilai kembalian, berbeda dengan function yang punya nilai yang dikembalikan di tempat pemanggilannya.
Kode program di atas menggunakan fungsi yang bernama tuliskata. Function / fungsi di atas mengembalikan panjang "parameter s" yang memiliki tipe data string ke variabel i.Berdasarkan nilai atau data yang disimpan dalam parameter, parameter dibagi 2, yaitu :
jika parameter formal atau parameter yang terdapat pada subprogram menggunakan var, maka parameter tersebut disebut pass by reference. Jika tidak ada kata var maka itu disebut pass by value. Parameter tanpa var akan menyalin nilai variabel sehingga nilai variabel tidak akan berubah jika nilai parameter diubah dalam function atau procedure.
Bandingkan hasilnya dengan contoh di bawah ini!
Parameter yang menggunakan var akan menyalin alamat variabel, dan perubahan terhadap parameter tersebut akan mengubah nilai variabel . Btw, variabel tmp pada kode program di atas disebut sebagai variabel lokal, karena penggunaannya hanya sebatas untuk function atau procedure yang ditempatinya. |