Rabu, 27 April 2011

SUBRUTIN PROSEDUR DAN FUNGSI

Definisi

Pemrograman Modular
Sebuah sistem program yang besar dibangun oleh ribuan baris bahkan jutaan baris perintah. Jika hal itu dibuat utuh dalam sebuah program, maka akan muncul beberapa kendala, yaitu:
- Kesulitan membaca logika program
- Kesulitan perbaikan program
- Kesulitan dalam pencarian kesalahan
- Kesulitan pengembangan program
- Kemungkinan banyak perintah yang sama ditulis secara berulang-ulang.
- Pada saat di eksekusi program menjadi lambat karena membutuhkan ruang lebih di dalam memory.
Oleh karena itu program yang besar perlu dipecah menjadi beberapa bagian program (subprogram) yang lebih kecil berupa modul-modul program yang terpisah dari program utama. Modul-modul program ini akan dijalankan dan dikendalikan oleh program utama.
Program yang dibangun oleh beberapa subprogram disebut dengan pemrograman modular

Program utama dipecah menjadi beberapa subprogram agar lebih mudah dikodekan, lebih mudah dipahami serta penghematan dalam penulisan kode program. Selain itu penggunaan memory komputer lebih sedikit sehingga program akan berjalan lebih cepat. Hal ini akan mempermudah dalam melakukan perbaikan program (debugging).

Subprogram 

Sub program adalah bagian program yang berdiri sendiri, tetapi pengontrolannya tetap dilakukan melalui program utama. Sub program dapat berupa prosedur atau fungsi. Dalam subprogram dikenal 2 macam variabel, yaitu:
1. Variabel Lokal
Variabel yang dideklarasikan di dalam sebuah subprogram, dan hanya dikenali di dalam subprogram yang bersangkutan.
2. Variabel Global
Variabel umum yang dideklarasikan di dalam program utama. Memiliki lingkup yang global sehingga dapat dikenali diseluruh bagian program baik di dalam subprogram maupun dalam program utama.

Ciri-ciri subprogram yang baik:
1. Memiliki satu fungsi tujuan (Logical Inherent)
Artinya hanya mengandung satu fungsi saja, tidak tercampur dengan hal-hal/ fungsi yang lain.
2. Tidak tergantung pada subprogram yang lain (Independent)
Dapat dijalankan sendiri-sendiri tanpa harus menunggu modul lain selesai. Selain itu harus di parameterisasi dengan baik, sehingga tidak merusak nilai dari nama variabel yang didefinisikan diluar subprogram tersebut.
3. Berukuran kecil (Small size)
Jika subprogram terlalu besar, harus dibagi-bagi lagi menjadi subprogram yang lebih sederhana.
4. Tidak menggunakan variabel global dalam badan subprogramnya.
Struktur penulisan subprogram (prosedur/ fungsi) hampir sama dengan proram pada umumnya, yaitu terdiri dari tiga bagian: Header (kepala program), Deklarasi (variabel lokal) dan badan program yang diawali BEGIN dan diakhiri dengan END dan tanda titik koma.

 Prosedur

Prosedur merupakan subprogram yang tidak selalu menghasilkan nilai, tetapi menghasilkan suatu efek netto. Efek netto diketahui dengan membandingkan keadaan awal dan keadaan akhir pada pelaksanaan sebuah prosedur.
Suatu prosedur dikenal berdasarkan nama prosedurnya, kemudian diikuti dengan parameter yang ditulis didalam tanda kurung, bila ada. 
Bentuk umum penulisan prosedur:

PROCEDURE nama_prosedur (parameter_formal);
Var
……..
Begin
Pernyataan_1;
Pernyataan_2;
.
.
.
End;

Pemanggilan prosedur:
Prosedur dijalankan dengan cara memanggil namanya dari program utama.
a. Prosedur tanpa parameter
Nama_prosedur;
b. Prosedur dengan parameter
Nama_prosedur (parameter_aktual);


Contoh:
Program luas_persegi_panjang;
Var
P,L :Real;
Procedure Luas_pp (var panjang,lebar :real);
Var
Luas : real;
Begin
Luas:=panjang * lebar;
Writeln(‘Luas Persegi Panjang = ‘, Luas:5:2);
End;

Begin
Write(‘Masukkan panjang=); Readln(P);
Write(‘Masukkan lebar=); Readln(L);
Luas_pp (P,L);
End.

 Fungsi
Fungsi merupakan subprogram yang memberikan/ mengembalikan sebuah nilai tertentu (return value). Nilai hasil dikembalikan ke dalam nama fungsi, oleh karena itu nama fungsi juga sebagai variabel yang memiliki tipe data tertentu.

Bentuk umum penulisan fungsi:
FUNCTION nama_fungsi (parameter_formal) : tipe_data;
Var
……..
Begin
Pernyataan_1;
Pernyataan_2;
.
.
.
{return value}
End;

Pemanggilan fungsi:
Fungsi dijalankan dengan cara memanggil namanya dari program utama. Fungsi pada program utama diperlakukan seperti sebuah variabel yang menampung sebuah nilai hasil fungsi.
a. Fungsi tanpa parameter
Var := Nama_fungsi;
Atau
Writeln (nama_fungsi);
b. Fungsi dengan parameter
Var := Nama_ fungsi (parameter_aktual);
Atau
Writeln (nama_fungsi(parameter_aktual));


Contoh:
Program luas_persegi_panjang;
Var
P,L,Lp :Real;
Function Luas_pp (var panjang,lebar :real):Real;
Var
Luas : real;
Begin
Luas:=panjang * lebar;
Luas_pp := Luas;
End;

Begin
Write(‘Masukkan panjang=); Readln(P);
Write(‘Masukkan lebar=); Readln(L);
Lp := Luas_pp (P,L);
Writeln (‘Luas Persegi Panjang = ‘, Lp:5:2);
End.

Referensi : 
  1. http://teguh-cahyono.blog.unsoed.ac.id/files/2010/04/BAB-VII-subritun.pdf
  2. http://lecturer.eepis-its.edu/~reni/modul%20ajar/praktikum%20shell/PrakSh9.pdf

Tidak ada komentar:

Posting Komentar