Senin, 30 Juni 2014

Program yang terdapat procedure pada proses dalam bahasa pascal



Procedure dan Fungsi pada Pascal
Baik kali ini kita masuk kebagian procedure dan fungsi di pascal.
tapi sebelum membahas lebih jauh kita kenali dulu kira-kira apa sih perbedaan procedure dan fungsi di pascal.
perbedaannya yaitu.
1. Prosedur diawali dengan dengan kata procedure untuk mendeklarasikannya
contoh : procedure hitung_angka;
kalau fungsi di awali dengan kata function
function hitung_bilangan: integer;
2. Procedure tidak mengembalikan nilai ke program utama, sedangkan fungsi akan mengembalikan nilai ke program utama, itu sebabnya fungsi harus ada tipe datanya (integer, char atau string).
3. Procedure outputnya diletakkan di dalam procedure, kalau fungsi outputnya di letakkan di program utama.
4. Prosedur di panggil diprogram utama dengan menuliskan nama procedure tersebut di program utama. 




Kegunaan procedure dan function

Dalam bahasa pemrograman Pascal atau pada bahasa pemrograman umumnya, procedure dan function digunakan untuk memisahkan barisan kode program yang memiliki fungsi dan tujuan yang sama kedalam blok-blok tersendiri.Ivo Idham Perdameian
Procedure dan Function bahasa PascalDengan menggunakan procedur dan function otomatis akan menghindari kita dalam menulis kode yang berulang-ulang karena kode sudah dikelompokkan berdasarkan kegunaannya pada blok-blok tertentu seperti yang sudah saya sebutkan sebelumnya dan apabila kita memerlukannya tinggal dipanggil saja, dengan demikian program kita akan nampak lebih rapi dan lebih mudah jika akan melakukan pengeditan kode program, karena kita hanya perlu melihat bagian dari procedure atau function yang menangani proses tertentu.
Sebelum melanjutkan lebih lagi, saya mau mau mengatakan bahwa perbedaan antara procedure dan function adalah: kalau procedure tidak mengembalikan nilai/ hasil, sedangkan function mengembalikan nilai/ hasil. Untuk lebih jelas nanti akan saya berikan contoh kasusnya.


contoh :hitung_bilangan;
Fungsi di panggil dengan memasukkan ke suatu variabel. atau bisa juga dengan langsung menuliskannya di program utama.
contoh. hasil:= hitung_bilangan(a,b);
atau write(‘hasilnya adalah ‘, hitng_bilangan(a,b));
baik langsung saja ke contoh..
</pre>
<blockquote>program aritha_pascal;
uses wincrt;

procedure nama;
var nm: string;

begin
write('masukkan nama anda ');
readln(nm);
write('haloo ', nm);
end;

begin
 writeln('-======Program Procedure Input Nama======-');
nama;
 end.</blockquote>
<pre>


Procedure dengan parameter Input dan parameter Output
kalau kita lihat contoh program sebelumnya perintah input read(nama); dan output write(nama); berada di procedure yang sama. nah bagai mana caranya apabila kita membaca input di procedure a. kemudian menampilkannya di procedure b.
untuk melakukan itu kita membutuhkan yang namanya parameter. parameter ada 2 parameter input yang berfungsi sebagai inputan untuk procedure tesebut. dan yang kedua adalah parameter output. yang berufngsi untuk memberikan output pada variabel yang di parameterkan.
</pre>
<blockquote>program widy_pascal;

uses wincrt;

procedure inputnama <span style="color: red;" color="red">(var nm:string)</span>;
begin
write('masukkan nama anda ');
readln(nm);
end;

procedure tampilnama <span style="color: blue;" color="blue">(nm:string)</span>;
begin
write('haloo ',nm);
end;


var nama:string;
begin
 writeln('-======Program Procedure Input Nama======-');
inputnama(nama);
tampilnama(nama);

 end.</blockquote>
<pre>
pada prosedur inputnama tulisan yang berwana merah (var nm:string) adalah parameter output (parameter by reference). dimana nama yang di inputkan di dalam procedur akan menjadi output pada program utama sehingga di program utama nama yang telah di inpukan tadi bisa digunakan. ciri2 parameter output adalah dengan adanya var pada (var nm:string)
sedangkan untuk parameter input tidak menggunakan var. lihat coding di procedure tampilnama yang berwana biru (nm:string) nah in adalah contoh parameter input (parameter by value)
contoh lain
</pre>
<blockquote>program aritha_pascal;
uses wincrt;

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.</blockquote>
<blockquote>
Fungsi
</pre>
<blockquote>program aritha_pascal;
uses wincrt;

function luassegitiga(alas: integer; tinggi:integer) : real;
var luas:real;
begin
luas:= alas*tinggi/2;
luassegitiga:= luas;
end;


var a,t:integer;
luas : real;

begin
 writeln('-======Program Fungsi Luas segitiga======-');
 writeln;
 write('masukkan nilai alas : '); readln(a);
 write('masukkan nilai tinggi : '); readln(t);

 write('luas segitiga adalah : ', <span style="color: red;" color="red">luassegitiga(a,t):0:2</span>);

 end.</blockquote>
<pre>
tulisan yang berwarna merah adalah pemanggilan fungsi yang memberikan nilai luas dari segitiga.
kayaknya segitu aja deh ya contoh buat fungsi dan procedure. semoga bermanfaat :)

Tidak ada komentar:

Posting Komentar