Pengertian Rekursif pada Pascal


2.1      Procedure Dan Fungsi Rekursif
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.
(Mustofa, 2008)
Rekursif adalah salah satu teknik pemograman dengan cara memanggi sebuah fungsi atau procedure dari dirinya sendiri, baik itu secara langsung atau tidak langsung. Pemanggilan fungsi rekursif secara langsung berarti dalam fungsi tersebut terdapat statement untuk memanggil dirinya sendiri sedangkan secara tidak langsung berati fungsi rekursif memanggil 1 atau lebih fungsi lain sebelum memanggil dirinya sendiri (Endra, 2008).
Sub Program Rekursif adalah sub program yang memanggil dirinya sendiri selama kondisi pemanggilan dipenuhi. 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 Sub program rekursif umumnya dipakai untuk permasalahan yang memiliki langkah penyelesaian yang terpola atau langkah-langkah yang teratur.
Bila Kita memiliki suatu masalah dan mengetahui algoritma penyelesaiannya, terkadang sub program rekursif menjadi pilihan bila memang memungkinkan untuk dipergunakan. Secara algoritmis (dari segi algoritma, yaitu bila kita mempertimbangkan penggunaan memori, waktu eksekusi sub program) sub program rekursif sering bersifat tidak efisien.
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) (Mustofa, 2008).
Contoh sub program rekursif dalam bahasa Pascal.
    1. Contoh sederhana
PROCEDURE TULIS_1(banyak : integer;kata : string);
begin
if banyak > 1 then TULIS_1(banyak-1,kata);
writeln(kata, banyak:5);
end;
 
OUTPUT (misal dipanggil dengan TULIS_1(5,"Cetakan ke "))
Cetakan ke 1
Cetakan ke 2
Cetakan ke 3
Cetakan ke 4
Cetakan ke 5
(Mustofa, 2008).
2.2       Proses Rekursif
Untuk memahami proses rekursif yang terjadi dalam sebuah fungsi rekursif, perhatikan contoh sederhana di bawah ini. Contoh di bawah ini menyajikan satu fungsi untuk menghitung harga faktoral suatu integer seperti yang telah dijelaskan di atas

Function FAKT(N:integer):integer;
Begin
If N= 0 then
FAKT := 1
Else
FAKT := N* FAKT (N-1)
end;

(Gunawan,2005).
  




[1]    [2]    [3]

Tidak ada komentar:

Posting Komentar

Berkomentarlah secara relevan sesuai topic yang di bahas..
Pengunjung yang super selalu meninggalkan jejak di komentar.