Skip to main content

Subrutin (Procedure Dan Function) Pada Pascal


Di setiap bahasa pemrograman pasti mempunyai yang namanya sub rutin yaitu sub program atau bagian terkecil dari suatu program yang digunakan untuk keperluan tertentu. Hanya saja masing-masing bahasa pemrograman mungkin menyebutnya dengan istilah/cara yang berbeda. Dengan menggunakan procedure dan function pembuatan program yang besar dan komplek menjadi lebih mudah.

Sub rutin dibagi menjadi dua macam, yaitu Procedure dan Function. Yang membedakan antara procedure dengan function adalah jika procedure tidak menghasilkan/mengembalikan suatu nilai, akan tetapi function mengembalikan suatu nilai.
Sebagai contoh kita membuat program yang digunakan untuk mencetak identitas sebanyak 3 kali (di Pascal).

   program tanpaprocedure;
   begin
      write('Nama : Untung Subagyo');
      write('Alamat Asal : Kebumen');
      write('Alamat Tinggal: Yogyakarta');
      write('Nama : Untung Subagyo');
      write('Alamat Asal : Kebumen');
      write('Alamat Tinggal: Yogyakarta');
      write('Nama : Untung Subagyo');
      write('Alamat Asal : Kebumen');
      write('Alamat Tinggal: Yogyakarta');
   end.

tapi kalo menggunakan procedure

   program pakeprocedure;
   procedure identitas;
   begin
      write('Nama : Untung Subagyo'); 
      write('Alamat Asal : Kebumen');
      write('Alamat Tinggal: Yogyakarta');
   end;
   begin
      identitas;
      identitas;
      identitas;
   end.

Ketika kita menggunakan procedure, dan kita membutuhkan suatu pekerjaan berulang kali, maka kita tinggal memanggil procedure tersebut. Pada contoh program di atas, tidak ada nilai yang dikembalikan ke procedure. Biasanya procedure digunakan untuk melakukan pekerjaan-pekerjaan yang tidak menghasilkan nilai, misalkan untuk menampilkan sesuatu berulang kali. 
Di dalam pascal sudah tersedia beberapa procedure. Sebagai contoh, write adalah procedure untuk menampilkan tulisan di layar. clrscr adalah procedure yang digunakan untuk membersihkan layar. Jika kita sering melakukan pekerjaan yang sama berulang kali, dan pekerjaan tersebut membutuhkan sekumpulan perintah/statement, maka sebaiknya kita membuat procedure untuk keperluan tersebut.
Sama seperti procedure, function merupakan sekumpulan perintah yang digunakan untuk keperluan tertentu, yang mungkin pekerjaan tersebut sering kita lakukan. Hanya saja, function menghasilkan/mengembalikan suatu nilai. Biasanya function digunakan untuk perhitungan. 
Nilai yang dihasilkan bisa disimpan ke suatu penampung terlebih dahulu (misalnya variabel), atau bisa juga langsung dicetak. Di dalam pascal terdapat beberapa function yang sudah tersedia, seperti readln digunakan untuk meminta masukan dari user melalui keyboard.
Sebagai contoh kita menginginkan untuk menghitung luas segitiga beberapa kali:
   
   PROGRAM TanpaFunction;
   var p, l : integer;
   BEGIN
      alas := 5;
      tinggi := 3;
      writeln('Luas Segitiga = ',alas*tinggi*0.5);
      alas := 2;
      tinggi := 7;
      writeln('Luas Segitiga = ',alas*tinggi*0.5);
      alas := 4;
      tinggi := 6;
      writeln('Luas Segitiga = ',alas*tinggi*0.5);
   END.

Jika menggunakan function

   PROGRAM DenganFunction;
   FUNCTION luas(alas,tinggi : integer):single;
   BEGIN
      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));
   END.

Pada contoh di atas, function menghasilkan nilai luas segitiga yang langsung dicetak.

Silahkan anda simpulkan apa kegunaan dari procedure dan function.

SEKIAN......

Comments

Popular posts from this blog

Latihan Dan Soal Untuk Program Penyeleksian Kondisi Pascal (Bagian 2)

Sebelumnya saya sudah posting mengenai  Latihan Dan Soal Untuk Program Penyeleksi Kondisi Pascal (Bagian 1)  Kali ini saya akan menlanjutkan beberapa latihan - latihan lagi. Langsung saja berikut latihan-latihannya : 1. Buatlah program untuk mengetahui harga dan besar angsurannya jika dikredit  selama 10 tahun.     Adapun daftar sebagai berikut: Tipe Harga Angsuran/Bulan A Rp  50.000.000 Rp  500.000 B Rp  65.000.000 Rp  650.000 C Rp  75.000.000 Rp  750.000 D Rp  85.000.000 Rp  850.000 Jawab :    Program Kredit_Angsuran_Rumah;    uses crt;    var      tipe, jenis: char;    begin      clrscr;      writeln('   PROGRAM KREDIT ANGSURAN RUMAH   ');     ...

Program Menghitung Luas Segitiga dengan Pascal

  Oke sudah lama sekali saya tidak menulis di blog ini , maklum banyak kegiatan di luar salah satunya tugas kuliah yang semakin menumpuk akibat sering ditunda-tunda. Dan kali ini saya akan memberikan tutorial tentang cara membuat program untuk menghitung luas segitiga siku-siku dengan menggunakan bahasa pemrograman turbo pascal sehingga kita tidak perlu repot-repot lagi menghitung secara manual, cukup dengan memasukkan data dan tunggu hasilnya.  Segitiga Siku siku  langkah-langkahnya sebagai berikut: 1. Buka Turbo pascal atau Tpw , masih bingung antara pascal dengan      TPW?    santai, sebenrnya keduanya merupakan sebuah software yang sama ,    bedanya TPW ialah Turbo pascal yang digunakan untuk komputer yang    memiliki sistem operasi windows. 2. Masukkan kode-kode di bawah ini..    program hitungsegitiga;    uses wincrt;    var a,b,c,d,e:real;    begin  ...

Latihan Dan Soal Perulangan Pascal (Bagian 3)

Sebelumnya saya sudah posting mengenai Latihan Dan Soal Perulangan Pascal (Bagian 2) Kali ini saya akan menlanjutkan beberapa latihan - latihan lagi. Langsung saja berikut latihan-latihannya : Buatlah Program dengan 3 moodel perulangan(Repeat-Until, While, dan For untuk permasalahan deret ukur 3, 9, 23, ...... jawab : PERULANGAN REPEAT-UNTIL     uses crt;    var      i,p,nilai   : integer;    begin      clrscr;      writeln(' PERULANGAN REPEAT-UNTIL ');      writeln('-------------------------');      writeln;      write('Masukkan Jumlah Deret = ');readln(p);      writeln;      nilai   :=3;      i       :=1;      repeat      begin           write(nilai:5);           i    ...