37. Recursive Function

 














Recursive Function :

- Recursive function Adalah Kemampuan function Memanggil function Dirinya Sendiri
- Kadang Memang Ada Banyak Problem, Yang Lebih Mudah Diselesaikan Menggunakan Recursive function,
  Seperti Contohnya Kasus factorial

Contoh Kodingannya :


function factorialLoop(int $value): int {
    $total = 1;
    for ($i = 1; $i <= $value; $i++) {
        $total *= $i;
    }
    return $total;
    }

    // Menggunakan for

    var_dump(factorialLoop(5));

    // Menggunakan Manual

    var_dump(1 * 2 * 3 * 4 * 5);

Output :

int(120)

int(120)


Factorial Recursive :


Contoh Kodingannya :


function factorialRecursive (int $value): int {
        if ($value == 1) {
            return 1;
        }

        else {
            return $value * factorialRecursive ($value - 1);
        }
    }

    var_dump(factorialRecursive(5));

Output :

int(120)


Problem Dengan Recursive :

- Walaupun Recursive function Itu Sangat Menarik, Namun Kita Perlu Berhati - Hati
- Jika Recursive Terlalu Dalam, Maka Akan Ada Kemungkinan Terjadi Memory Overflow

- Jika Terlalu Dalam, Lebih Baik Diganti Dengan Menggunakan Perulangan Biasa Yaitu for Atau while Atau do while
- Tidak Direkomendasikan Menggunakan Recursive Untuk Terlalu Dalam, Maka Dia Akan Error

Contoh Kodingannya :

 

    function loop(int $value) {
        if ($value == 0) {
            echo "End Selesai" . PHP_EOL;
        }
        else {
            echo "Loop - $value" . PHP_EOL;
            loop($value - 1);
    }
}
    loop(10);

Output :

Loop - 10
Loop - 9
Loop - 8
Loop - 7
Loop - 6
Loop - 5
Loop - 4
Loop - 3
Loop - 2
Loop - 1
End Selesai


Belum ada Komentar untuk "37. Recursive Function"

Posting Komentar