OPERASI REKURSI PENGENALAN REKURSI Rekursi adalah suatu kemampuan

  • Slides: 13
Download presentation
OPERASI REKURSI

OPERASI REKURSI

PENGENALAN REKURSI Rekursi adalah suatu kemampuan subrutin untuk memanggil dirinya sendiri. Rekursi sangat berguna

PENGENALAN REKURSI Rekursi adalah suatu kemampuan subrutin untuk memanggil dirinya sendiri. Rekursi sangat berguna untuk mempermudah pemrograman. Namun, rekursi mempunyai kelemahan yaitu memungkinkan terjadinya overflow dan kebutuhan memori yang tinggi

PENGENALAN REKURSI Contoh pemanfaatan opersi rekursi : Perhitungan m! Penyelesaian : Untuk m =

PENGENALAN REKURSI Contoh pemanfaatan opersi rekursi : Perhitungan m! Penyelesaian : Untuk m = 0 atau m = 1 → hasil = 1 Untuk m > 0 → m x (m – 1) ! MISAL : UNTUK M = 4 MAKA 4 x 3 x 2 x 1 = 24

PENGENALAN REKURSI 4! Perhitungan Penyelesaian : ( 1! ) → ( 2 ! )

PENGENALAN REKURSI 4! Perhitungan Penyelesaian : ( 1! ) → ( 2 ! ) → (3 ! ) → (4!) ( 1! ) → ( 2 x 1! ) → (3 x 2! ) → ( 4 x 3! ) 1 2 6 24 1 → 2 x 1 → 3 x 2 x 1→ 4 x 3 x 2 x 1 1 2 6 24

PENGENALAN REKURSI Untuk m = 4 maka hasilnya = 24

PENGENALAN REKURSI Untuk m = 4 maka hasilnya = 24

CONTOH SOAL 1 : Perhitungan m! ALGORITMA : SUBRUTIN faktorial(n) JIKA n = 0

CONTOH SOAL 1 : Perhitungan m! ALGORITMA : SUBRUTIN faktorial(n) JIKA n = 0 ATAU 1 MAKA NILAI – BALIK 1 SEBALIKNYA NILAI – BALIK n x faktorial(n-1) AKHIR – JIKA AKHIR – SUBRUTIN

CONTOH SOAL 1 : Perhitungan m! REKURSI Catt : || adalah operasi OR

CONTOH SOAL 1 : Perhitungan m! REKURSI Catt : || adalah operasi OR

MODIFIKASI PROGRAM TANPA INPUT

MODIFIKASI PROGRAM TANPA INPUT

Catt : || adalah operasi OR

Catt : || adalah operasi OR

HASIL EKSEKUSI PROGRAM :

HASIL EKSEKUSI PROGRAM :

CONTOH SOAL 1 : Perhitungan m! // Program pemakaian rekursi untuk menghitung faktorial import

CONTOH SOAL 1 : Perhitungan m! // Program pemakaian rekursi untuk menghitung faktorial import java. util. Scanner; public class Faktorial. Rekursi { public static void main(String[] args) { int n; long hasil; Scanner scan = new Scanner(System. in); System. out. print("Angka faktorial yang dihitung (n) = "); n = scan. next. Int(); hasil = faktorial(n); System. out. println("Nilai Faktorial dari " + n + " = " + n + "! = " + hasil); } public static long faktorial(int n) { if ( (n == 0) || (n == 1) ) return 1; else return n * faktorial(n-1); } }

// Modifikasi Program pemakaian rekursi untuk menghitung faktorial tanpa input // import java. util.

// Modifikasi Program pemakaian rekursi untuk menghitung faktorial tanpa input // import java. util. Scanner; public class Faktorial. Rekursi { public static void main(String[] args) { int n, bil; long hasil; // Scanner scan = new Scanner(System. in); System. out. print("Angka faktorial yang dihitung (n) = "); // n = scan. next. Int(); n=5; hasil = faktorial(n); System. out. println("Nilai Faktorial dari " + n + " = " + n + "! = " + hasil); bil = 1; hasil = 1; while (bil <= n) { hasil = faktorial(bil); System. out. println("Nilai Faktorial dari " + bil + " = " + bil + "! = " + hasil); bil = ++bil; } } public static long faktorial(int n) { if ( (n == 0) || (n == 1) ) return 1; else return n * faktorial(n-1); } }

Thank you! Any Questions? Jun Akizaki – The Power of Power. Point Title Font:

Thank you! Any Questions? Jun Akizaki – The Power of Power. Point Title Font: Bebas Neue Text Font: Roboto Icon: Font generated by flaticon. com under CC BY. The authors are: Stephen Hutchings.