Sabtu, 17 Januari 2015

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.perbedaan antara procedure dan function adalah: kalau procedure tidak mengembalikan nilai/ hasil, sedangkan function mengembalikan nilai/ hasil.

      Procedure adalah suatu program yang terpisah dalam blok tersendiri yang berfungsi sebagai subprogram. Penggunaan prosedur diawali dengan kata cadangan procedure dalam bagian deklarasi prosedur. Pemanggilan prosedur dapat dilakukan dengan menggunakan judul prosedur.
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 dipanggil sewaktu-waktu.
Sebagaimana halnya sebuah program, suatu procedure juga memiliki header dan block.
Perbedaan bentuknya dengan program hanyalah pada bagian header-nya saja.
Bentuk Umum header suatu procedure adalah :

PROCEDURE nama; 
    atau 
  PROCEDURE nama (formal parameter : jenis);  


contoh program:

 program subprogram;
uses crt;
var
   hasil, nilai1, nilai2 : integer;
   hasilbagi : real;

procedure tambah;
begin
     hasil := nilai1 + nilai2;
     writeln('nilai x + y = ',hasil);
     end;
procedure kurang (p,q: integer);
begin
     hasil := nilai1 - nilai2;
     writeln('nilai x - y = ',hasil);
     end;
function kali : integer;
begin
     kali := nilai1 * nilai2;
     end;
function bagi (p,q : integer): real;
begin
     bagi := p / q;
end;
procedure tukar (var p,q:integer);
var r : integer;
begin
     r := p;
     p := q;
     q := r;
end;
var pilih : integer;


Begin

     pilih := 0;
     while (pilih <>5) do
     begin
          writeln;
          writeln('masukkan pilihan proses');
          writeln;
          writeln('1. penjumlahan');
          writeln('2. pengurangan');
          writeln('3. perkalian');
          writeln('4. pembagian');
          writeln('5. selesai');
          writeln;
          repeat
                write('masukkan pilihan anda : ');readln(pilih);
                until pilih in [1,2,3,4,5];
          if pilih = 5 then exit;
          write('masukkan nilai x : ');readln(nilai1);
          write('masukkan nilai y : ');readln(nilai2);
          case pilih of
          1 : tambah;
          2 : begin
            if nilai1 < nilai2 then
            tukar (nilai1, nilai2);
            kurang(nilai1, nilai2);
          end;
          3 : writeln('hasil x * y = ', kali);
          4 : begin
            hasilbagi := bagi(nilai1,nilai2);
            writeln('hasil x / y = ',hasilbagi:10:4);
          end;
     end;
end;
end.

hasil dari program di atas :

1 komentar:

  1. Lucky 15 Casino - KLRH - Web Site - JT Hub
    Lucky 15 Casino · Find nearby. 제주도 출장샵 We provide free and 경기도 출장안마 easy 아산 출장안마 internet access, and fast online slots. · Experience the excitement 광주광역 출장안마 of Vegas right 원주 출장샵

    BalasHapus