Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

RECURSION ( rekursi ).

Presentasi serupa


Presentasi berjudul: "RECURSION ( rekursi )."— Transcript presentasi:

1 RECURSION ( rekursi )

2 A. Tanpa menggunakan Fungsi
#include<stdio.h> void main() { int I, hasil, N; scanf(“%i”, &N); for( I=N; I >= 1; I--) { hasil = hasil * I; } printf(“%i”, hasil); } Bila N = 5, maka : N! = 5 * 4 * 3 * 2 * 1 = 120 atau : #include<stdio.h> main() { int I, hasil, N; scanf(“%i”, &N); hasil = 1; for( I=1; I <= N; I++) { hasil = hasil * I; } printf(“%i”, hasil); } Bila N = 5, maka : N! = 1 * 2 * 3 * 4 * 5 = 120

3 B. Menggunakan Fungsi b1) Menggunakan Fungsi non recursive Cara-2 Cara-1 #include<stdio.h> void HITUNG(); void vain() { HITUNG(); } void HITUNG() { int I, hasil, N; scanf(“%i”, &N); for( I=N; I >= 1; I--) { hasil = hasil * I; } printf(“%i”, hasil); #include<stdio.h> void HITUNG(int X); void main() { int N; scanf(%i”, &N); HITUNG(N); } void HITUNG(int X) { int I, hasil; hasil = 1; for( I=X; I >= 1; I--) { hasil = hasil * I; } printf(“%i”, hasil);

4 Cara-3 Cara-4 #include<stdio.h> void HITUNG(int X); int hasil; void main() { int N; scanf(%i”, &N); HITUNG(N); printf(“%i”, hasil); } void HITUNG(int X) { int I; hasil = 1; for( I=X; I >= 1; I--) { hasil = hasil * I; } #include<stdio.h> void HITUNG(int X); void main() { int FACT, N; scanf(%i”, &N); FACT = HITUNG(N); printf(“%i”, FACT); } void HITUNG(int X) { int I, hasil; hasil = 1; for( I=X; I >= 1; I--) { hasil = hasil * I; } return(hasil);

5 Cara-5 #include<stdio.h> void HITUNG(int X); void main() { int N; scanf(%i”, &N); printf(“%i”, HITUNG(N)); } void HITUNG(int X) { int I, hasil; hasil = 1; for( I=X; I >= 1; I--) { hasil = hasil * I; } return(hasil);

6 #include<stdio.h> void HITUNG(int n); void main() { int N;
b2) Menggunakan Fungsi yang bersifat recursive Cara-1 #include<stdio.h> void HITUNG(int n); void main() { int N; scanf(%i”, &N); printf(“%i”, HITUNG(N)); } void HITUNG(int n) { int x,y; if(n == 0) return(1); x = n - 1; y = HITUNG(x); return(n * y);

7 #include<stdio.h> int HITUNG(int n); void main() { int N;
scanf("%i", &N); printf("\n%i", HITUNG(N)); } int HITUNG(int n) { int x, y; if(n == 0) return(1); x = n - 1; y = HITUNG(x); printf("\n%i", n*y); return(n * y); Sebelum keluar dari fungsi HITUNG terlebih dahulu mencetak nilai yang di return yaitu n*y 1 2 6 24 120 Dicetak dalam fungsi HITUNG dengan: printf(“\n”, n*y); Dicetak dalam program Utama dengan : printf(“\n”, HITUNG(N);

8 #include<stdio.h> #include<conio.h> void KETIK(char C);
Cara-1 Input : Jakarta Tercetak : atrakaJ atau : a t r a k a J #include<stdio.h> #include<conio.h> void KETIK(char C); void main() { char X; X = getche(); KETIK(X); printf("% c", X); } void KETIK(char C) { C = getche(); if(C == '\r') { printf("\n"); return; KETIK(C); printf("%c ", C); Menginput satu karakter Menginput satu karakter Mencetak satu karakter

9 Misal yang diketik : ABCD<Enter>
Dalam Program Utama X= getche( ) --> X berisi ‘A’ KETIK(C) Dalam fungsi KETIK( ) C=getche( )--> C berisi ‘B’ KETIK(C) Dalam fungsi KETIK( ) C=getche( )--> C berisi ‘C’ KETIK(C) Dalam fungsi KETIK( ) C=getche( )--> C berisi ‘D’ KETIK(C) Dalam fungsi KETIK( ) C=getche( )-- > C berisi ‘ \r’ return printf(“%c”, C); tercetak : D return printf(“%c”, C); tercetak : C return printf(“%c”,C); tercetak : B return printf(“%c”, X); tercetak : A dan proses selesai Maka tercetak : D C B A


Download ppt "RECURSION ( rekursi )."

Presentasi serupa


Iklan oleh Google