RECURSION ( rekursi ).

Slides:



Advertisements
Presentasi serupa
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
Advertisements

Algoritma dan Struktur Data
ARRAY (Lanjutan).
PERTEMUAN VIII STRUKTUR LANJUT JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Oleh : Muh. Zen S. Hadi, ST.
Konsep Pemrograman Contoh Program C # include int main() { printf("Hello World From About\n"); getche (); return 0; }
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
7. 1 Bab 07 Menginput Nilai melalui Keyboard.
ARRAY Dr. Lily Wulandari.
5. 1 Bab 05 Tipe Data dan Mengisi Variabel.
Algoritma dan Struktur Data
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
P ERULANGA N K OMPLEK S. BREAK Digunakan untuk menghentikan suatu proses perulangan yang sedang terjadi. Biasanya dikarenakan oleh suatu kondisi Break.
Bab 05 Tipe Data dan Mengisi Variabel
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
contoh aplikasi sederhana yang terpaksa menggunakan
Dasar Pemrograman Pertemuan 10 Pengulangan dalam C
{Pertemuan 6 Struktur Perulangan}
ALGORITMA & STRUKTUR DATA I
Bab & 7.3 NESTED LOOP Array 1 Dimensi 273.
#include<stdio.h>
Perulangan (looping) BERSARANG & ARRAY
POINTER 6.3 & 7.3 NESTED LOOP.
06.3 Hari-6.
04.3 Hari-4.
{Pertemuan 7 Struktur Perulangan Lanjutan}
04.2 Hari-4.
04.1 Hari-4.
Bentuk standar dalam penulisan bahasa c/c++
Struktur Data Khoiriya Latifa, M.Kom.
07.3 Hari-7.
PERULANGAN (LOOPING) Looping merupakan proses perulangan suatu blok pernyataan sebanyak yang diinginkan. Ada tiga bentuk dalam proses perulangan: Perulangan.
PERTEMUAN 9 Algoritma Presented by : Sity Aisyah, M.Kom
09.5 Hari-9.
09.4 Hari-9.
Pertemuan 9 Pengulangan dalam C Erna Sri Hartatik
Contoh Aplikasi Sederhana
PEMROGRAMAN DASAR.
Pemrograman Terstruktur
PEMROGRAMAN DASAR (BAHASA C)
FUNGSI.
7.1 Bab 07 Menginput Nilai melalui Keyboard 103.
Struktur Data Khoiriya Latifa, M.Kom.
FUNCTION 6.3 & 7.3 NESTED LOOP.
10.5 Nested loop 6.3 & 7.3 NESTED LOOP 255.
291.
04.2 Hari-4.
Perulangan (looping) Oleh: Sri Supatmi.
Perulangan (looping) BERSARANG & ARRAY
Struktur Data Khoiriya Latifa, M.Kom.
Pemograman Terstruktur
Pemrograman Terstruktur
S. Indriani Lestariningati, M.T
09.3 Hari-9.
Pertemuan Hari ke - 1 Sesi-2.
Pertemuan Hari ke - 1 Sesi-1.
PERINTAH INPUT DAN OUTPUT
mencetak Total kedua bilangan tersebut
Praktikum KBP 2 Array.
09.6 Hari-9.
Perulangan (looping) Oleh: Sri Supatmi.
BAB 14 RECURSION Pengertian Recursion. Recursion:
Arithmetic Expression
Bab 08 Menghitung Total Data yang Diinput Dari Keyboard
Data dan Struktur Data.
Bab 05 Tipe Data dan Mengisi Variabel
STRUKTUR perulangan (1)
Soal-soal.
Bab 03 Variabel dan Tipe Data
contoh aplikasi array 2 dimensi
BAB 14 RECURSION Pengertian Recursion. Recursion:
Transcript presentasi:

RECURSION ( rekursi )

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

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);

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);

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);

#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);

#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);

#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

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