Tutorial Turbo Pascal : PROCEDURE

Definisi Prosedur

Procedure merupakan salah satu jenis subprogram dalam turbo pascal. Dalam sebuah procedure, anda akan seperti membuat suatu program dalam program. Anda dapat memasukkan kumpulan instruksi yang biasa anda ketik dalam suatu program pascal kedalam badan atau body procedure, dan anda dapat memanggil semua instruksi tersebut hanya dalam sekali pemanggilan procedure.
Contoh:
(* Write dan ReadLn Diulang-ulang *)
(* Misalkan variabel a, b, c, d, e, f, g, h, dan i sudah terdefinisi *)
Write('Masukkan nilai a: '); ReadLn(a);
Write('Masukkan nilai b: '); ReadLn(b);
Write('Masukkan nilai c: '); ReadLn(c);
Write('Masukkan nilai d: '); ReadLn(d);
Write('Masukkan nilai e: '); ReadLn(e);
Write('Masukkan nilai f: '); ReadLn(f);
Write('Masukkan nilai g: '); ReadLn(g);
Write('Masukkan nilai h: '); ReadLn(h);
Write('Masukkan nilai i: '); ReadLn(i); 

Nah, seperti pada contoh di atas, apabila kita ingin mendapatkan input pengguna dalam pascal, kita pasti akan menggunakan pasangan suami-istri Write-Read. Bagaimana kalau kita harus meminta 100 input kepada user? Siapkah anda mengetikkan 200 baris pasangan suami istri Write-Read? Capek banegt lah!
Procedure pada titik ini datang membantu anda. Dengan procedure, anda dapat mempersatukan pasangan suami istri Write-Read dalam satu rumah dan ketika anda ingin menggunakan jasa Write-Read untuk meminta dan menerima input, anda cukup memanggil procedurenya saja.
Untuk deklarasi procedure kita gunakan sintaks:

(* Deklarasi Procedure *)
Procedure -Nama Prosedur-(Parameter)
(*Deklarasi Variabel*)
Begin
 (*Procedure Body atau Tubuh Prosedur*)
End; 

Keterangan
Nama Prosedur adlaah nama dari prosedur anda. Aturan penamaan prosedur sama dengan aturan penamaan variabel
Parameter adalah ‘bahan-bahan yang diperlukan untuk melakukan operasi prosedur’. Lihat pembahasan parameter di bawah ini.
Deklarasi Variabel disini maksudnya variabel-variabel yang hanya bisa digunakan di dalam prosedur. Bisa berguna sebagai tempat penyimpanan nilai sementara barangkali.
Procedure Body atau Tubuh Prosedur adalah perintah-perintah yang akan dijalankan ketika prosedur ini dipanggil dan semua parameternya terpenuhi, jika dibutuhkan.

JENIS-JENIS PROSEDUR

1. Prosedur Tanpa Parameter

Prosedur seperti ini tidak mengambil parameter apapun untuk dapat dipanggil. Seperti anda akan memasak mie dan semua bahannya sudah tersedia sehingga mie tinggal dimasak. 

Procedure Contoh1(ParameterInput1: Integer)
Begin
 ...
End;

(* Pemanggilan Contoh1 dalam program body: Contoh1 *)

Procedure Contoh2(ParameterInputSejenis1, ParameterInputSejenis2: Integer) (* Ada dua parameter *)
Begin

End;

(* Pemanggilan Contoh2 dalam program body: Contoh2(1,2) *)

Procedure Contoh3(ParameterInputBedaJenis1: Integer; ParameterInputBedaJenis2: String) (* Ada dua parameter dengan jenis yang berbeda *)
Begin

End;

(* Pemanggilan Contoh3 dalam program body: Contoh3(1, 'Kumaha Urang weh :p') *)





2. Prosedur dengan Parameter Input



Prosedur seperti ini meminta setidaknya satu parameter untuk dapat dipanggil. Seperti anda ingin membuat secangkir kopi dan anda menyuruh adik anda untuk membelikan gula. Adik anda akan menanyakan berapa gula yang harus dia beli, apakah setengah kilogram, seperempat kilogram, seperenambelas kilogram, atau berapa?


Pemanggilan prosedur dengan parameter input seperti anda menyuruh adik anda membelikan gula, dan jalannya prosedur tersebut tidak mungkin berjalan tanpa parameter yang diberikan oleh anda. (Anda tidak bisa membuat kopi manis tanpa gula, kan?)


Procedure Contoh1(ParameterInput1: Integer)
Begin
 ...
End;

(* Pemanggilan Contoh1 dalam program body: Contoh1 *)

Procedure Contoh2(ParameterInputSejenis1, ParameterInputSejenis2: Integer) (* Ada dua parameter *)
Begin

End;

(* Pemanggilan Contoh2 dalam program body: Contoh2(1,2) *)

Procedure Contoh3(ParameterInputBedaJenis1: Integer; ParameterInputBedaJenis2: String) (* Ada dua parameter dengan jenis yang berbeda *)
Begin

End;

(* Pemanggilan Contoh3 dalam program body: Contoh3(1, 'Kumaha Urang weh :p') *)


3. Prosedur dengan Parameter Output



Prosedur seperti ini meminta setidaknya satu parameter untuk menyimpan hasil operasi. Bayangkan masak nasi goreng dan anda meminta sebuah mangkok untuk menyimpan hasil masaknya. Seperti membuat kopi di rumah dan anda meminta istri anda untuk mengambilkan cangkir tempat anda menuangkan kopi yang anda buat (di dalam coffee maker atau sejenisnya).


 1: Procedure ContohProsedurDenganOutput(ParameterInput: Real; var ParameterOutput: Integer)
 2: Begin
 3:  ...
 4: End;
 5: 
 6: (* Contoh Pemanggilan: ContohProsedurDenganOutput(1.0, SimpanOutputnyaDisini) dengan
 7:    variabel SimpanOutputnyaDisini telah didefinisikan sebelumnya dan berjenis Integer *)
 8:    
 9: Procedure BuatSecangkirKopi(Gula: KiloanGula; var GelasTempatNyimpanKopi: Cangkir)
10: Begin
11:  SiapkanSebungkusKopi(KapalApi);
12:  CampurKopiDengan(Gula);
13:  AdukKopi;
14:  TuangkanKedalam(GelasTempatNyimpanKopi);
15:  Sajikan;
16: End;
17: 
18: (* Contoh diatas adalah contoh fiktif untuk menggambarkan bedanya parameter input
19:    dengan parameter output *)


4. Prosedur dengan gabungan parameter Input dan Output

Prosedur seperti ini adalah gabungan dari prosedur dengan parameter input dan output. Bayangkan anda akan membuat kopi. Anda meminta adik anda membelikan gula lalu anda buat kopinya dalam coffee-maker dan anda meminta istri anda untuk mengambilkan cangkir tempat hasil kopinya dituangkan. Gula dianalogikan sebagai parameter input, proses pembuatan kopi dianalogikan sebagai procedure dan cangkir dianalogikan sebagai parameter output.


 1: Procedure ContohProsedurDenganOutput(ParameterInput: Real; var ParameterOutput: Integer)
 2: Begin
 3:  ...
 4: End;
 5: 
 6: (* Contoh Pemanggilan: ContohProsedurDenganOutput(1.0, SimpanOutputnyaDisini) dengan
 7:    variabel SimpanOutputnyaDisini telah didefinisikan sebelumnya dan berjenis Integer *)
 8:    
 9: Procedure BuatSecangkirKopi(Gula: KiloanGula; var GelasTempatNyimpanKopi: Cangkir)
10: Begin
11:  SiapkanSebungkusKopi(KapalApi);
12:  CampurKopiDengan(Gula);
13:  AdukKopi;
14:  TuangkanKedalam(GelasTempatNyimpanKopi);
15:  Sajikan;
16: End;
17: 
18: (* Contoh diatas adalah contoh fiktif untuk menggambarkan bedanya parameter input
19:    dengan parameter output *)


KAPAN DAN MENGAPA PROSEDUR?


Prosedur merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam procedure dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.


Golongan orang yang membutuhkan prosedur adalah setiap programmer yang membangun sebuah aplikasi yang cukup besar dengan fungsi tertentu yang sangat rumit akan sangat memerlukan prosedur/ fungsi. Setiap tugas/ fungsi akan ditempatkan pada posisi tetentu untuk mempermudah erorr handling/ debugging dilakukan. Error Handling adalah proses mengatasi setiap error atau gangguan dalam sebuah program. Debugging adalah proses menemukan permasalahan dalam suatu script program.


Dengan prosedur, kita dapat menangkap dan menemukan serta memecahkan permasalahan dalam script dengan mudah karena anda akan menemukan runtime error anda tidak dalam program body, melainkan dalam procedure yang anda panggil (jika erorrnya memang dari procedure body).


Subprogram (prosedur/ fungsi) digunakan dimana seorang programmer memerlukan beberapa tugas/ fungsi tertentu dalam satu program. Jika program yang memiliki tugas/ fungsi tertentu yang harus digunakan dan berjumlah banyak maka tidak mungkin menambahkan tugas/ fungsi tersebut berkali-kali. Cape ngetiknya, itu aja. Filenya juga jadi besar.


END
  



Post a Comment

[blogger]

Author Name

Contact Form

Name

Email *

Message *

Powered by Blogger.