Laporan Modul 1.docx

  • Uploaded by: PENYO' BOY
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Laporan Modul 1.docx as PDF for free.

More details

  • Words: 405
  • Pages: 6
PEMBAHASAN

Rekursif berarti bahwa suatu proses bisa memanggil dirinya sendiri. Rekursif adalah kemampuan suatu rutin untuk memanggil dirinya sendiri. Dalam Rekursif sebenarnya terkandung pengertian prosedur dan fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi prosedur dan fungsi harus dipanggil lewat pemanggil prosedur dan fungsi. Rekursif merupakan teknik pemrograman yang penting dan beberapa bahasa pemrograman mendukung keberadaan proses rekursif ini. Dalam prosedur dan fungsi, pemanggilan ke dirinya sendiri bisa berarti proses berulang yang tidak bisa diketahui kapan akan berakhir. Contoh paling sederhana dari proses rekursif ini adalah proses menghitung nilai faktorial dari suatu bilangan bulat positif dan mencari deret Fibbonacci dari suatu bilangan bulat. Nilai faktorial secara rekursif dapat ditulis sebagai 0 ! = 1 N ! = N x (N-1) ! yang secara pemrograman dapat ditulis sebagai Faktorial(0) = 1 Faktorial(N) = N*Faktorial(N-1)

TUGAS

import java.util.Scanner; public class Tugas1 { static void Perpindahan(int jumlah, char sumber, char tujuan, char perantara){ if(jumlah == 0){ return; } else { Perpindahan(jumlah-1, sumber, perantara, tujuan); System.out.println("Pindahkan cakram " + jumlah + " dari " + sumber + " ke " + tujuan); Perpindahan(jumlah-1, perantara, tujuan, sumber); } } public static void main(String[] arg){ Scanner in = new Scanner(System.in); System.out.print("masukan jumlah : "); int a = in.nextInt(); Perpindahan(a, 'A', 'B', 'C'); } }

import java.util.Scanner; public class Tugas2 { public static void PembalikanAngka(int Angka) { if (Angka < 10) { System.out.println(Angka); return; } else { System.out.print(Angka % 10); PembalikanAngka(Angka/10); } } public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.print("Masukan Beberapa Deret Angka : "); int a = in.nextInt(); System.out.print("Deret Angka Setelah Pembalikan : "); PembalikanAngka(a); } }

LISTING PROGRAM public class Praktik1 { static long faktorial(long i){ if (i==0) return 1; return i*faktorial(i-1); } public static void main(String[] arg){ System.out.println(faktorial(4)); } }

import java.util.Scanner; public class Latihan1{ static int faktorial(int i){ if (i==0) return 1; return i*faktorial(i-1); } public static void main(String[] arg){ Scanner in = new Scanner(System.in); System.out.print("Masukan Nilai Faktorial : "); int a = in.nextInt(); System.out.println(faktorial(a)); } }

public class Latihan2 { public static void main(String[] args){ int a=0,b=1; int n = 10; for (int i=1;i<=n;i++){ System.out.print(a+" "); a=a+b; b=a-b; } } }

KESIMPULAN

Fungsi rekursif merupakan salah satu konsep yang penting untuk dikuasai. Hal inidikarenakan fungsi ini memiliki sangat banyak implementasi, yang dalam hal iniadalah implementasi dalam algoritma. Fungsi rekursif

memiliki

kelebihan

dankelemahan

masing-masing.

Secara

umum

fungsi

rekursif

memiliki algoritma yanglebih mudah dipahami dan dibuat tetapi membutuhkan penggunaan memori yang besar.

Related Documents


More Documents from "Nur Hijria Miftahul Khairi"