Kamis, 21 November 2019

PERBANDINGAN REKURSIF, FOR, DAN WHILE PADA JAVA

Fungsi rekursif dalam pemrograman merupakan fungsi yang memanggil dirinya sendiri. Fungsi rekursif sering saya bayangkan seperti perulangan. Karena tingkah lakunya yang mengulang-ulang setiap pemanggilan dirinya.

BERIKUT SOURCE CODENYA :
package reks;
public class RekS {
  public static void test (int x) {
      if (x<100) {
          x=x+2;
          System.out.print(" ");
          System.out.print(x);
          test(x);
      }
  }
  
  public static void loopfor (int y) {
      int n=0;
      for(int i=0;i<50;i++){
          n=n+2;
         System.out.print(n+" ");
         }
  }
  
  public static void loopwh (int z) {
        int nilaiw =0;
        while(z<=50){
            nilaiw = nilaiw+2;
            System.out.print(" ");
            System.out.print(nilaiw);
            z++;
        }
    }
  
    public static void main(String[] args) {
        int angka =0;
        //if
        long awal=System.nanoTime();
        System.out.println(">>>>>REKURSIF :");
        test(angka);
        long akhir=System.nanoTime();
        long all=akhir-awal;
        System.out.println("");
        System.out.println("waktu proses: "+all+" Nanosecond" );
        //for
        int angka2=0;
        System.out.println(">>>>>LOOPING FOR :");
        long awalb=System.nanoTime();
        loopfor(angka2);
        long akhirb=System.nanoTime();
        long allb=akhirb-awalb;
        System.out.println("");
        System.out.println("waktu proses: "+allb+" Nanosecond" );
        //while
        int angka3=0;
        System.out.println(">>>>>LOOPING WHILE :");
        long awalc=System.nanoTime();
        loopwh(angka3);
        long akhirc=System.nanoTime();
        long allc=akhirc-awalc;
        System.out.println("");
        System.out.println("waktu proses: "+allc+" Nanosecond" );
    }
    

}

OUTPUT :
>>>>>REKURSIF :
 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100
waktu proses: 8527021 Nanosecond
>>>>>LOOPING FOR :
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 
waktu proses: 4612002 Nanosecond
>>>>>LOOPING WHILE :
 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102
waktu proses: 17271008 Nanosecond

BUILD SUCCESSFUL (total time: 0 seconds)

PERBANDINGAN REKURSIF, FOR, DAN WHILE PADA JAVA Fungsi rekursif dalam pemrograman merupakan fungsi yang memanggil dirinya sendiri. Fungsi ...