Perulangan Rekursif dan Perulangan Iteratif

dokumen-dokumen yang mirip
ALGORITHM. 3 Rekursif Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

Pertemuan 4 Diagram Alur / Flowchart

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA April 1, 2010 BAB 8 REKURSIF

Rekursif. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri.

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 3

I Putu Gede Darmawan

Fungsi Rekursif. Bentuk umum fungsi rekursif.

BAB V Tujuan 5.1 Rekursi Dasar

c. Membeli komputer d. Proses 2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b.

Catatan Kuliah STRUKTUR DATA BAB III REKURSIF

PERTEMUAN 7 REVIEW (QUIZ)

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 03

Design and Analysis Algorithm

A. TUJUAN PEMBELAJARAN

Recursion, Algoritma, Struktur Data. Recursion. Erick Pranata. Edisi I

Rekursif/ Iterasi/ Pengulangan

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

Design and Analysis of Algorithms CNH2G3- Week 4 Kompleksitas waktu algoritma rekursif part 1

BAB II PROSES REKURSI DAN ITERASI

Karena relasi rekurens menyatakan definisi barisan secara rekursif, maka kondisi awal merupakan langkah basis pada definisi rekursif tersebut.

Algoritma Pemrograman

Design and Analysis of Algorithm

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

Algoritma Pemrograman

Alat Peraga Menara Hanoi untuk Pembelajaran Pola Bilangan. Oleh: Tim Unit Media Alat Peraga Matematika

Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik

Algoritma Pemrograman

KATA PENGANTAR. Puji syukur kami panjatkan ke hadirat Alloh SWT atas terbentuknya Lembar Tugas

Design and Analysis of Algorithm

Recursion, Algoritma, Struktur Data. Recursion. Erick Pranata. Edisi II

RELASI. Cece Kustiawan, FPMIPA, UPI

Solusi Rekursif pada Persoalan Menara Hanoi

Praktikum 6. Konsep Rekursi Perbandingan Perulangan biasa dan Rekursi Implementasi Rekursi dalam Bahasa C

PROSEDUR. Jadi, setiap prosedur harus : - Didefinisikan (dibuat spesifikasinya) dan dituliskan kode programnya - Dipanggil, pada saat eksekusi

1) Perhatikan bentuk di bawah: U 1 U 2 U 3 U 4 U n 2, 5, 8, 11, dengan: U 3 = suku

NAMA : KELAS : LEMBAR AKTIVITAS SISWA BARISAN DAN DERET 1. Beda Barisan Aritmatika. b =.. RUMUS SUKU KE N: King s Learning Be Smart Without Limits

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Algoritma Perulangan. Kuliah algoritma dan pemrograman

Identitas dosen POKOK BAHASAN. Struktur Pengulangan. proses perhitungan dan mengulang. perhitungan PENGULANGAN PENGULANGAN. Suherman,, ST Address

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem

Fungsi Rekursif PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

ALGORITMA DAN PEMROGRAMAN

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Pemrograman Dasar L A T I H A N M E T H O D / F U N G S I M E T H O D R E K U R S I F

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

Relasi Rekursi. Definisi Relasi Rekursi

Apakah Anda sering kesulitan untuk

CCH1A4 / Dasar Algoritma & Pemrogramanan

BAB I PENDAHULUAN. penggunaan penalaran logika, dan abstraksi, matematika berkembang dari

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA SILABUS ALGORITMA PEMROGRAMAN

SATUAN ACARA PERKULIAHAN MATA KULIAH LOGIKA DAN ALGORITMA (MI/D3) KODE: IT SKS: 3 SKS. Kemampuan Akhir Yang Diharapkan

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

B. Aturan Permutasi ATURAN PENCACAHAN 11/20/2015. B. Aturan Permutasi

Soal hari Jumat (16/10) Latihan 10 MS

SATUAN ACARA PERKULIAHAN MATA KULIAH GRAPH & ANALISIS ALGORITMA (SI / S1) KODE / SKS : KK / 3 SKS

PENGULANGAN. pencacah harus bertipe integer atau karakter pernyataan adalah satu atau lebih instruksi yang. Pernyataan

REKURSIF. Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

PENGULANGAN. Ada lima macam notasi pengulangan: 1. Berdasarkan jumlah pengulangan. repeat n times

Kontes Terbuka Olimpiade Matematika

Algoritma Pemrograman 2B (Pemrograman C++)

ALGORITMA PERULANGAN

B. Aturan Permutasi ATURAN PENCACAHAN 7/8/2015. B. Aturan Permutasi

STRUKTUR DATA Pertemuan 4

Pertemuan 9: BRANCHING/PERCABANGAN dalam C LOOPING/PERULANGAN/ITERASI dalam C

Pertemuan 4 Perulangan

PROGRAM STUDI TEKNIK KOMPUTER SATUAN ACARA PERKULIAHAN ALGORITMA DAN PEMROGRAMAN

PERSAMAAN KUADRAT. Persamaan. Sistem Persamaan Linear

BAB V PERULANGAN. for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

II. TINJAUAN PUSTAKA. Pada bab ini akan dibahas konsep-konsep yang mendasari konsep representasi

BAB II DASAR-DASAR ALGORITMA

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Solusi Soal Seleksi Olimpiade Tingkat Kabupaten / Kota 2010 Tim Olimpiade Komputer Indonesia 2011 versi 2, 28 Mei 2010

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

REKURSIF. Dari bahan Dasar Pemrograman oleh: Arkham Zahri Rakhman Rev.: Fazat Nur Azizah

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

Pengampu : Agus Priyanto, M.KOM

Teori Algoritma. Algoritma Perulangan

CHAPTER 8. Advanced Counting Techniques

Penyelesaian Masalah Josephus Sederhana dalam Bentuk Eksplisit

Pemetaan situasi dan detail adalah pemetaan suatu daerah atau wilayah ukur

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

Pengantar Teori Bilangan

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

FUNGSI. setiap elemen di dalam himpunan A mempunyai pasangan tepat satu elemen di himpunan B.

NomorDok : FRM/KUL/01/02 NomorRevisi : 02. Tgl.Berlaku : 1Oktober 2012 KlausaISO : & 7.5.5

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR. Pertemuan Ke-1

Algoritma Pemrograman I

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

UNIVERSITAS GUNADARMA

Penerapan BFS dan DFS pada Pencarian Solusi

Rekursif. Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.

Transkripsi:

Struktur Rekursif

Perulangan Rekursif dan Perulangan Iteratif Rekursif adalah suatu proses yang bisa memenggil dirinya sendiri. Perulangan rekursif merupakan salah satu metode didalam pemrograman yang mana dalam sebuah fungsi terdapat intruksi yang memanggil fungsi itu sendri, atau lebih sering disebut memanggil dirinya sendiri. Perulangan iteratif merupakan perulangan yang melakukan proses perulangan terhadap sekelompok intruksi. Perulangan dilakukan dalam batasan syarat tertentu. Ketika syarat tersebut tidak terpenuhi lagi maka perulangan aka terhenti.

Persamaan : Iteratif dan rekursif merupakan metode atau teknik didalam perulangan(looping) Sama-sama memiliki bagian yang berfungsi sebagai batas dalam sebuah perulangan Perbedaan : Iteratif dalam melakukan perulangan membutuhkan suatu instruksi program seperti for, repeat until dan while do, sedangkan rekursi tidak memakai instruksi program seperti itu. Cukup dengan fungsi tersebut.

Contoh Penggunaan Proses Rekursif Masalah : Memotong roti tawar tipis-tipis sampai habis. Algoritma : 1. Jika roti sudah habis atau potongannya sudah paling tipis maka pemotongan roti selesai. 2. Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut. 3. Lakukan prosedur 1 dan 2 untuk sisa potongannya.

Contoh Fungsi Rekursif Fungsi Pangkat Faktorial Deret Fibonacci Menara Hanoi

Fungsi Pangkat Menghitung 10 pangkat n dengan menggunakan konsep rekursif. Secara notasi pemrograman dapat dituliskan sebagai berikut : 10 0 = 1...(1) 10 n = 10. 10 n-1...(2) Contoh : 10 3 = 10. 10 2 10 2 = 10. 10 1 10 1 = 10. 10 0 10 0 = 1

Faktorial 0! = 1 N! = N x (N-1)! Untuk N > 0 Secara notasi pemrograman dapat dituliskan sebagai berikut : FAKT(0) = 1...(1) FAKT(N) = N * FAKT(N-1)...(2) Contoh : FAKT(5) = 5 * FAKT(4) FAKT(4) = 4 * FAKT(3) FAKT(3) = 3 * FAKT(2) FAKT (2) = 2 * FAKT(1) FAKT(1) = 1 * FAKT (0) Nilai awal;

Misal : Hitung 5! dapat dihitung dengan cara rekursif sebagai berikut : 5! = 5 * 4! secara rekursif nilai dari 4! dapat dihitung kembali dengan cara : 4 * 3! sehingga 5! menjadi 5! = 5 * 4 * 3! secara rekursif nilai dari 3! dapat dihitung kembali dengan cara : 3 * 2! sehingga 5! menjadi 5! = 5 * 4 * 3 * 2! secara rekursif nilai dari 2! dapat dihitung kembali dengan cara : 2 * 1 sehingga 5! menjadi 5! = 5 * 4 * 3 * 2 * 1

Deret Fibonacci Deret Fibonacci : 0, 1, 2, 3, 5, 8, 13,... Secara notasi pemrograman dapat dituliskan sebagai berikut : FIBO (1) = 0 dan FIBO (2) = 1...(1) FIBO (N) = FIBO (N-1) + FIBO (N-2)...(2) Contoh : FIBO(5) = FIBO (4) + FIBO (3) FIBO (4) = FIBO(3) + FIBO (2) FIBO (3) = FIBO (2) + FIBO (1) Nilai Awal

Konsep Menara Hanoi Tujuan permainan ini adalah memindahkan n buah piringan dari tonggak asal A melalui tonggak bantu B menuju tonggak tujuan C. dengan aturan piring yang lebuh kecil tidak boleh berada dipiringan yang lebih besar.

Bayangkan keadaan berikut: Ada 3 tiang (a, b, c) tempat piringan dengan ukuran yang bervariasi dapat ditumpuk. Pada mulanya semua piringan ada di a. Tugasnya adalah Memindah semua piringan ke c dengan aturan sbb: pada satu saat hanya boleh memindah 1 piringan setiap perpindahan berupa pengambilan piringan teratas dari satu tiang dan memasukannya ketiang lain, diatas piringan lain yang mungkin sudah ada pada tiang tersebut. Tidak boleh meletakan piringan diatas piringan lain yang lebih kecil. (piringan yang lebih besar tidak boleh berada di atas piringan yang lebih kecil). pada setiap akhir pemindahan semua piringan harus berada di tiang

Dalam notasi algoritma dapat dituliskan sebagai berikut : Jika n = 1, maka langsung pindahkan saja piringan dari tiang A ke tiang C dan selesai. Pindahkan n- 1 piringan yang paling atas dari tiang A ke tiang B. Pindahkan piringan ke n ( piringan terakhir) dari tiang A ke tiang C. Pindahkan n-1 piringan dari tiang B ke tiang C.

Untuk Penyelesaian masalah kita daftarkan terlebih dahulu langkah-langkah penyelesaiannya: ketika kondisi piringan N= 1 Piringan 1 dipindahkan dari A ke C. N =2 Pindahkan piringan 1 dari A ke B Pindahkan piringan 2 dari A ke C Pindahkan piringan 1 dari B ke C

Langkah pemindahan tersebut di atas dapat diubah menjadi notasi sebagai berikut : Menara (n, asal, bantu, tujuan) Untuk jumlah piringan n > 1 dapat dibagi menjadi tiga notasi penyelesaian. Menara(n-1, asal, bantu, tujuan); Menara (n, asal, bantu, tujuan); atau asal tujuan Menara (n, bantu, asal, tujuan);

Langkah Pemindahan Piring Menara (1, A, C, B)...A B Menara (2,A, B, C) A C... A C Menara (1, B, A, C)...B C Menara (3, A, C, B) A B... A B Menara (1, C, B, A)...C A Menara (2, C, A, B)C B...C B Menara (1, A, C, B)...A B Menara (4, A, B, C) A C... A C Menara (1, B, A, C)...B C Menara (2, B, C, A) B A...B A Menara (1, C, B, A)...C A Menara (3, B, A, C) B C... B C Menara (1, A, C, B)...A B Menara (2, A, B, C) A C...A C Menara (1, B, A, C)...B C

Ilustrasi di atas menghasilkan 15 langkah penyelesaian dari permasalahan konsep menara Hanoi dengan jumlah piringan sebanyak 4 buah. Rumus Langkah Pemindahan : 2 N 1 N = jumlah piringan