Banner IDwebhost

Monday, March 25, 2019

CONTOH PROGRAM PERPANGKATAN dan FAKTORIAL MENGGUNAKAN ITERASI dan REKURSIF

| Monday, March 25, 2019



              Sebelum saya menjelaskan perbedaan dan persamaan apa itu algoritma rekursif dan algoritma iterasi. Pengertian algoritma rekursif adalah rekursif berarti suatu proses yang memanggil dirinya sendiri. Dalam rekursif sebenarnya terkandung pengertian prosedur atau fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi prosedur atau fungsi harus dipanggil lewat pemanggil prosedur atau fungsi. Sedangkan pengertian iterasi adalah , iterasi dapat diartikan sebagai suatu proses atau metode yang digunakan secara berulang-ulang (pengulangan) dalam menyelesaikan suatu permasalahan matematik. Iterasi merupakan suatu teknik perulangan yang digunakan pada penulisan program.

Perbedaan algoritma rekursif dan algoritma iterasi
Iterasi
Rekursi
Perintah iterasi, merupakan proses perulangan yang loop based
Menggunakan fungsi rekursi, fungsi tersebut akan memanggil dirinya sendiri
Menggunakan struktur perualangan (repetition structure)
Menggunakan struktur seleksi (selection structure)
Pengalokasian memori relatif kecil
Pengalokasian memori relatif besar
Nilai tak hingga akan membuat CPU cycle digunakan terus-menerus
Nilai tak hingga akan membuat sistem crash
Kode umumnya lebih panjang daripada rekursi
Kode umumnya lebih pendek dari iterasi
Rekursi akan terhenti apa bila sudah mencapai indeks dasar
Iterasi akan terhenti apa bila kondisi loop tidak terpenuhi
Ini adalah perbedaan umum antara algoritma iterasi dan algoritma rekursif


Sekarang adalah persamaan antara algoritma iterasi dan algoritma rekursif
Persamaan antara keduanya adalah terletak di penggunaannya yaitu sama2 menggunakan bahasa pemrograman.


Contoh program Perpangkatan Rekursif dan Iterasi
#include <stdio.h>
int pangkat_r(int x, int n){
            if(n == 0)
            { return 1;
                        }else{
                                    return x * pangkat_r(x, n-1);
                        }         
          }
int pangkat_i(int x, int n){
            int temp =1;
            for(int i=1;i<=n;i++)
            {
                        temp *=x;
            }         
           return temp;    
}
main ()
{
int x,n;
printf("Masukkan Nilai positif yang akan dipangkatkan : "); scanf("%d",&x);
    printf("Masukkan Banyaknya Pangkat : "); scanf("%d",&n);
printf("\n\n\nHasil Perpangkatan Rekursif diatas adalah = %d", pangkat_r(x,n));
    printf("\nHasil Perpangkatan Iteratif diatas adalah = %d", pangkat_i(x,n));
return 0;
}

Contoh program Faktorial Rekursif dan Iterasi

#include <stdio.h>
int fak_r(int x){
            if(x == 0)
            { return 1;
                        }else{
                                    return x * fak_r(x-1);
                        }                              
}
int fak_i(int x){
            int temp =1;
            for(int i=1;i<=x;i++)
            {
                        temp *=i;
            }         
            return temp;    
}
main ()
{
int x,n;
printf("\t\t berikut adalah program mencari hasil faktorial\n");
printf("Masukkan Nilai positif : "); scanf("%d",&x);
printf("\n\n\nHasil faktorial Rekursif diatas adalah = %d", fak_r(x));
    printf("\nHasil faktorial Iteratif diatas adalah = %d", fak_i(x));
return 0;
}



loading...

Related Posts

No comments:

Post a Comment