Ada dua macam subrutin pada Pascal, yaitu prosedur dan fungsi.
Prosedur adalah bagian dari program yang dibuat terpisah untuk melaksanakan sebagian dari tugas yang harus diselesaikan oleh suatu program. Sedangkan fungsi adalah bagian dari program yang dibuat terpisah untuk melakukan fungsi tertentu yang menghasilkan suatu nilai untuk dikembalikan ke program utama.
Keduanya mempunyai kegunaan yang sama, yaitu melakukan tugas tertentu. Perbedaannya kalau fungsi selalu mengembalikan suatu nilai setelah dipanggil sedangkan prosedur tidak.
Manfaat pembuatan SUBRUTIN:
- modularisasi: suatu program yang besar dan kompleks dapat dibagi ke dalam beberpa prosedur sehingga setiap prosedur merupakan bagian yang mudah dikerjakan. dengan demikian, program besar tersebut menjadi mungkin diselesaikan.
- simplifikasi: dalam suatu program, sering diperlakukan suatu tugas yang harus dikerjakan berulang-ulang dengan nilai-nilai variabel yang berbeda. Agar tidak merepotkan maka tugas ini cukup ditulis sekali saja dalam bentuk subrutin yang kemudian dipanggil berulang-ulang sesuai kebutuhan.
Selain itu, bila terjadi kesalahan dalam suatu program yang besar maka kita hanya cukup bekerja/memperbaiki program-program kecil (subrutin) tadi saja.
Prosedur dan fungsi merupakan sub program yang sangat bermanfaat dalam pemrograman, terutama untuk program atau proyek yang besar. Manfaat penggunaan sub program antara lain adalah :
1. meningkatkan readibility, yaitu mempermudah pembacaan program
2. meningkatkan modularity, yaitu memecah sesuatu yang besar menjadi modul-modul atau bagian-bagian yang lebih kecil sesuai dengan fungsinya, sehingga mempermudah pengecekan, testing dan lokalisasi kesalahan.
3. meningkatkan reusability, yaitu suatu sub program dapat dipakai berulang kali dengan hanya memanggil sub program tersebut tanpa menuliskan perintah-perintah yang semestinya diulang-ulang.
Sub Program Rekursif adalah sub program yang memanggil dirinya sendiri selama kondisi pemanggilan dipenuhi.
adalah Dengan melihat sifat sub program rekursif di atas maka sub program rekursif harus memiliki :
1. kondisi yang menyebabkan pemanggilan dirinya berhenti (disebut kondisi khusus atau special condition)
2. pemanggilan diri sub program (yaitu bila kondisi khusus tidak dipenuhi)
Secara umum bentuk dari sub program rekursif memiliki statemen kondisional :
if kondisi khusus tak dipenuhi
then panggil diri-sendiri dengan parameter yang sesuai
else lakukan instruksi yang akan dieksekusi bila kondisi khusus dipenuhi
Dengan demikian sub program rekursif umumnya memiliki efisiensi dalam penulisan perintah, tetapi kadang tidak efisien secara algoritmis. Meskipun demikian banyak pula permasalahan-permasalahan yang lebih sesuai diselesaikan dengan cara rekursif (misalnya dalam pencarian / searching, yang akan dibahas pada pertemuan-pertemuan yang akan datang).
Referensi:
http://jauharotul.wordpress.com/2010/12/22/subrutin/
http://ftikom-unmul.nstars.org/t403-prosedur-dan-fungsi-rekursif
Tidak ada komentar:
Posting Komentar