Twitter Delicious Facebook Digg Stumbleupon Favorites More

Rabu, 23 Maret 2011

Fungsi Faktorial Menggunakan Bahasa Pemrograman Java

Rekursif merupakan materi yang paling sulit dimengerti oleh pemula pemrograman. Begitu juga saya walau belum sepenuhnya mengerti mari kita coba bahas sedikit tentang Algoritma Rekursif ini.
  
Rekursif merupakan alat atau cara untuk memecahkan masalah dalam suatu fungsi atau prosedur yang memanggil dirinya sendiri. Menurut Niklaus Emil Wirth " An object is said be recursive if it partially consist or is defines in terms of itself ". Perhitungan matematika merupakan contoh dari fungsi faktorial.

Fungsi faktorial dari bilangan bulat positif n didefinisikan sebagai berikut :
    n! = n(n-1)! ,  jika n > 1
    n! = 1         ,  jika n = 0 , 1 
contoh :
    3! = 3.2!
    3! = 3.2.1!
    3! = 3.2.1
    3! = 6

Kita dapat menuliskan fungsi penghitungan faktorial seperti dibawah ini :
  1.        int faktorial (int n)
  2. {
  3.      if ((n==0)||(n==1)
  4.            return (1);
  5.      else
  6.            return (n * faktorial(n-1));
  7. }

Pada baris 3 dar fungsi diatas , nilai n dicek samadengan 0 atau 1, jika ya, maka fungsi mengembalikan nilai 1{baris 4}, jika tidak fungsi mengembalikan (nilai n * faktorial(n-1)) {baris 6}.

disinilah letak proses rekursif itu, perhatikan fungsi faktorial ini memanggil dirinya sendiri tapi dengan parameter(n-1).

Di Bawah ini merupakan contoh menghitung Jumlah Bilangan rekursif menggunakan Bahasa Pemrograman Java.

import java.util.Scanner;
public class Faktorial
{
  public static void main(String[] args)
  {
    Scanner in = new Scanner(System.in);
    int n;
    System.out.print("Masukan Nilai n = ");
    n=in.nextInt();
    System.out.println("Jumlah Nilai Faktorial = " +Faktorial(n));
  }
    static int Faktorial(int n)
  {
    if ((n == 0)||(n==1))
    return 1;
      else
    return (n * Faktorial(n - 1));
  }
}

Gambar Coding Menggunakan Netbeans


 Hasil Outputnya


Sekian pembahasan Algoritma Rekursif ini. Kalau kurang paham jangan segan-segan bertanya sama orang yang sudah dapat ilmunya lebih dahulu dari kita. Atau kalau malu, searching aja di Google mungkin bisa membantu.

8 komentar:

Unknown mengatakan...

kalau faktorialnya diberi batasan nilai bagaimana? user hanya diperbolehkan memberi inputan nilai 1-1000, klw lebih dr 1000 akan muncul pesan pemberitahuan.
output faktorialnya: 4!=4x3x2x1=24

Drian mengatakan...

Mungkin seperti ini yang dimaksud ... Maaf sebelumnya balesnya kelamaan ^_^

import java.util.Scanner;
public class faktorials {
public static void main(String[] args) {
System.out.println("Program Perkalian Faktorial");
Scanner input= new Scanner(System.in);

System.out.print("Masukkan nilai:");
int nilai= input.nextInt();
int nilai2= nilai-1;

if(nilai>=1 & nilai<=1000){
System.out.print(nilai +"!: " +nilai);
do{
System.out.print(" x " +nilai2);
nilai2--;
}while(nilai2>=1);

for(int i= nilai-1; i>=1; i--){
nilai= nilai*i;
}
System.out.println(" = "+nilai);
}
else{
System.out.println("Hanya bisa memsukan nilai dari 1-1000");
}
}
}

Unknown mengatakan...

kalau mau nampilin angkanya yg jadi nilai faktorialnya gimana mas?
misalnya yang 6! = 6!x5!x4!x3!x2!x1! = 720
mkasih masnya :)

Unknown mengatakan...

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class FaktorialRekursifOutput {

public static void main(String[] args) throws Exception {
BufferedReader x = new BufferedReader(new InputStreamReader(System.in));
int a, b;

System.out.print("Bilangan Faktorial :");
a = Integer.parseInt(x.readLine());

System.out.print(a);
System.out.println("!");

ulang(a);
System.out.println("");
faktor(a);

System.out.println("hasil = " + (faktor(a)));
}

static void ulang(int a) {
for (int i = a - 1; i > 0; i--) {
for (int j = a; j >= i; j--) {
System.out.print(j);
if (j == i) {
System.out.print("");
} else {
System.out.print(" x ");
}
}

System.out.println("");
}
}

static int faktor(int a) {
if (a == 0) {
return (1);
} else {
return (a * faktor(a - 1));
}
}
}

Unknown mengatakan...

Klo script untuk buat aplikasinya?

mixkey mengatakan...

makasih banyak yaaaa

Unknown mengatakan...

4 Faktorial ialah hasil pendaraban nombor dengan nombor berikutnya yang lebih kecil sehinggalah
nombor 1. Faktorial 5 ialah 5 3 4 3 3 3 2 3 1 = 120. Gunakan kawalan ulangan do-while untuk
mencari faktorial bagi integer positif yang dimasukkan oleh pengguna.

Unknown mengatakan...

4 Faktorial ialah hasil pendaraban nombor dengan nombor berikutnya yang lebih kecil sehinggalah
nombor 1. Faktorial 5 ialah 5 × 4 × 3 × 2 × 1 = 120. Gunakan kawalan ulangan do-while untuk
mencari faktorial bagi integer positif yang dimasukkan oleh pengguna.

TOLONG PLS !!!
TOLONG BUAT CODING !!!
JAVA !!!

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Mahasewa - Premium Blogger Themes | Blogger Templates