Fungsi adalah subprogram yang dapat dipanggil oleh program utama dan juga oleh fungsi yang lain. Selain kedua metode pemaanggilan tersebut, fungsi juga dapat dipanggil oleh dirinya sendiri. yang dimaksud disini adalah pemanggilan fungsi didalam fungsi itu sendiri, dalam artian bukan pada fungsi yang lain. Fungsi yang melakukan pemanggilan terhadap dirinya sendiri adalh fungsi rekrusif.
berikut adalah contoh program yang menerapkan fungsi rekrusif untuk menghitung nilai jumlah deret bilangan dari suatu bilangan. Contoh programnya adalah sebagai berikut:
Perhatikan "return (bil + hitungDeret(bil - 1));" pada kode program diatas, pemanggilan fungsi hitungDeret tersebut berada pada bloknya sendiri dengan parameter yang diubah. Hal yang harus diperhatikan dalam pembuatan rekrusif adalah fungsi tersebut harus berhenti dimana didalam fungsi tersebut harus ada pengkondisian bahwa fungsi harus berhenti.
Pada contoh diatas, code untuk menghentikan fungsi tersebut ada pada kode program "if (bil == 0)" dan "return 0;" apabila inputan parameternya 0, maka akan menghasilkan 0. Namun jika tidak, maka proses akan memenggil fungsi yaitu dirinya sendiri.
Supaya tidak penasaran lebih jauh, mari coba memenggil fungsi dengan hitungDeret(5), maka proses yang akan dilakukan adalah sebagai berikut:
Hasil Output programnya:
0 komentar:
Post a Comment