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

Pemakaian Gotoxy Pada Program Pascal

Suatu informasi yang terdapat dilayar monitor tentu harus enak dilihat dan rapi. Jika melihat hasil program Menampilkan Lebih 1 Record Pada Pascal kurang menarik, hasilnya masih berantakan. Bagaimana membuat tampilan menjadi lebih tersusun? Untuk menyelesaikan hal ini, kita wajib menggunakan gotoxy. Gotoxy digunakan untuk menuju ke suatu koordinat tertentu pada layar monitor. Dengan menggunakan gotoxy, maka tampilan di layar akan lebih tersusun/rapi, sehingga lebih enak dilihat. Berikut pemakaian gotoxy pada program pascal. uses crt ; type     mahasiswa = record ;     nim    : string[8] ;     nama   : string[30] ;     jenjang: string[2] ;     prodi  : string[30] ;     Nilai  : byte ;     end; var    recMhs : array[1..30] of mahasiswa ;    ket    : string[10];    i      : byte ; Begin    ...

Pemrograman Dasar Komputer Dengan Pascal

Pada bagian Pemrograman dasar pascal, kita akan membahas Contoh Program Komputer tentang perhitungan matematika dasar.  Dalam perhitungan matematika, kita menggunakan operator aritmatika sebagai berikut : Penjelasan : Operator tanda kurung adalah priorotas pertama, artinya bagian yang berada dalam tanda kurang akan dikerjalan pertama kali, kemudian diikuti oleh operator dengan prioritas kedua yaitu kali dan bagi (*dan /), kemudan tambah dan kurang . Dalam  perhitungan matematika, tanda sama dengan menggunakan tanda  := (titik dua sama dengan) untuk menyatakan nilai.  Operator Div digunakan untuk membagi 2 bilangan  bulat (integer) kemudian mengambil  hasil bagi dan sisanya dibuang. Sedangkan operator Mod digunakan untuk membagi 2 bilangan bulat (integer) kemudian mengambil sisanya dan hasil baginya dibuang.  Misalnya : 7 dibagi 2. Hasil baginya 3 dan sisanya 1.  X:= 7 div 2, hasilnya 3 X:= 7 mod 2, hasilnya 1 Tipe Data...

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    ...