Catatan: Blog ini sekarang pindah ke www.kodedasar.com

Perbedaan Prosedur dan Fungsi pada Pascal disertai Contoh & Kegunaanya

Damas Amirul Karim - Last Updated 23 April 2018
Perbedaan Prosedur dan Fungsi pada Pascal disertai Contoh & Kegunaanya
    Dalam pemrograman pascal tingkat akhir anda akan mengenal dua istilah baru bernama prosedur dan fungsi. Lalu, bagaimana cara menggunakanya?

    Prosedur dan fungsi adalah sebuah program terpisah (diluar program utama) dalam blok tersendiri yang berfungsi sebagai subprogram. Itu artinya...


    ...Kita dapat menggunakan konsep modular yaitu: dengan memecah sebuah program yang rumit menjadi beberapa subprogram yang lebih sederhana.

    Dari segi efisiensi, prosedur dan fungsi cukup dituliskan sekali namun dapat dipanggil kapan saja atau digunakan berulang-ulang.

    Karena keduanya memiliki kesamaan yang cukup besar yaitu sebagai subprogram, maka banyak dari kita masih sulit membedakan antara prosedur dan fungsi.

    Bahkan saya bisa menebak bahwa anda mungkin bingung apakah kita akan membuat program menggunakan prosedur atau malah menggunakan fungsi.

    Jangan khawatir, diakhir pembahasan saya berjanji anda akan memahami perbedaanya. Baiklah mari kita mulai dari yang pertama yaitu prosedur.

    Apa perbedaan antara prosedur dan fungsi?

    1. Prosedur (sintaks: procedure)


    Prosedur memiliki dua bentuk, yang pertama dinamakan procedure sederhana karena tidak menerima argumen (nilai atau data) ketika dieksekusi.

    
    Program Judul_Program;
       Procedure Judul_Prosedur;
       Begin
       ........
       ........
       End;
    Begin
    .........
    .........
    End.
    
    

    Dalam penerapannya, procedure sederhana dipakai untuk menampilkan pilihan menu, dsb. Berikut contoh programnya:

    
    Program Procedure_Sederhana ;
    uses crt;
       PROCEDURE MENU;
       begin
          writeln('Pilihan Menu');
          writeln(' 1: Statemen Percabangan');
          writeln(' 2: Statemen Perulangan');
          writeln(' 3: Statemen Array');
       end;
    Begin
       writeln('Sebelum prosedur');
       MENU;
       writeln('Sesudah prosedur');
       readln;
    end.
    
    

    Untuk memanggil procedure sederhana anda hanya perlu mengetikan nama prosedur lalu diakhiri dengan tanda titik koma (;)

    Yang kedua bernama procedure Kompleks karena menerima nilai yang diproses ketika dieksekusi. Silahkan perhatikan contoh berikut:

    
    Program KenalanYuk;
    uses crt;
    var hasil: integer;
       Procedure Perkenalan(var nama:string;umur:integer);
       Begin
          writeln('Hai nama saya ', nama, ' dan umur saya ', umur);
       End;
    Begin
       Perkenalan('Andi', 21);
       Perkenalan('Budi', 23);
       readln;
    end.
    
    

    Dalam program diatas, saya menggunakan prosedur kompleks dimana kita membutuhkan sebuah parameter untuk mendapatkan nilai nama dan umur.

    
    Procedure Namaprosedur (parameter:tipedata);
    
    

    Jadi kita memanggil prosedur Perkenalan dengan menyertakan parameter nama dan umur, kemudian nilai tersebut akan disimpan pada variabel nama dan umur untuk ditampilkan ke layar menggunakan perintah writeln.

    2. Fungsi (sintaks: Function)


    Deklarasi Function (fungsi) dalam pascal hampir sama dengan deklarasi procedure, namun fungsi harus dideklarasikan dengan tipenya.

    Bentuk deklarasi fungsi adalah sebagai berikut :

    
    Function judul_fungsi(daftar_parameter): type;
    
    

    Fungsi juga memakai variabel saat dieksekusi, namun mempunyai kemampuan untuk menghasilkan nilai pada procedure atau program yang memanggilnya.

    Perhatikan contoh berikut ini:

    
    Program FungsiPenjumlahan;
    uses crt;
       Function hitung(Var A,B : integer):integer;
       begin
          hitung:=A+B;
       end;
       
    Var x,y : integer;
    Begin
       Writeln('Silahkan masukan Angka (1-10):');
       write('Nilai X : ');readln(x);
       write('Nilai Y : ');readln(y);
       writeln;
       write(x,' + ',y,' = ',hitung(x,y));
       readln;
    end.
    
    

    Pada program diatas saya menggukan fungsi hitung bertipe integer dengan parameter A dan B sebagai variabel lokal. Kemudian saya juga menggunakan variabel x dan y sebagai variabel global untuk menyimpan nilai input.

    Cara pemanggilan fungsi pun sama dengan prosedur yaitu dengan cara mengetikan nama fungsi diikuti parameter dan diakhiri dengan titik koma.

    Lalu, apa yang membedakan prosedur dan fungsi?


    Jadi yang membedakan antara prosedur dan fungsi adalah:

    Prosedur diawali dengan keyword Procedure sedangkangkan fungsi diawali dengan keyword Fungtion. Kemudian prosedur dapat terbentuk dengan parameter maupun tanpa paramenter sedangkan fungsi wajib menggunakan parameter.

    Terakhir nilai yang dihasilkan dari fungsi akan disimpan pada nama fungsi itu sendiri dan dapat dipindah alihkan sedangkan prosedur tidak.

    Perbedaan paling utama adalah anda bisa menyimpan nilai pada nama fungsi, anda dapat mencobanya dengan cara menyimpan nilai fungsi ke sebuah variabel, contoh:

    
    namaVariabel:=hitung(x,y);
    
    

    Sekian pembahasan mengenai prosedur dan fungsi, semoga bermanfaat. Jangan lewatkan seri panduan belajar pascal kami.
    Tunggu, sedang memuat. . .