SlideShare a Scribd company logo
1 of 16
Struktur Rekursif
Perulangan Rekursif dan
Perulangan Iteratif
 Rekursif adalah suatu proses yang bisa memanggil
  dirinya sendiri .
 Perulangan rekursif merupakan salah satu metode
  didalam pemrograman yang mana dalam sebuah
  fungsi terdapat instruksi yang memanggil fungsi itu
  sendri, atau lebih sering disebut memanggil dirinya
  sendiri.

 Perulangan iteratif merupakan perulangan yang
  melakukan proses perulangan terhadap sekelompok
  instruksi. Perulangan dilakukan dalam batasan syarat
  tertentu. Ketika syarat tersebut tidak terpenuhi lagi
  maka perulangan akan 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 :
  100 = 1.......................................(1)
  10n = 10. 310n-1..............................(2)
         10 = 10. 102
Contoh :
                  102 = 10. 101

                          101 = 10. 100

                                   100 = 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, 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 lebih kecil tidak boleh berada
 di bawah piringan 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).
 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 :

            2N    –1
 N = jumlah piringan

More Related Content

What's hot

Teori bahasa dan automata7
Teori bahasa dan automata7Teori bahasa dan automata7
Teori bahasa dan automata7Nurdin Al-Azies
 
Makalah memaksimumkan laba
Makalah memaksimumkan labaMakalah memaksimumkan laba
Makalah memaksimumkan labaBudi Prasetyo
 
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01KuliahKita
 
Teori Pengantar Mikroekonomi Bab 15 Permintaan Terhadap Faktor-faktor Produksi
Teori Pengantar Mikroekonomi Bab 15 Permintaan Terhadap Faktor-faktor ProduksiTeori Pengantar Mikroekonomi Bab 15 Permintaan Terhadap Faktor-faktor Produksi
Teori Pengantar Mikroekonomi Bab 15 Permintaan Terhadap Faktor-faktor ProduksiNur Fajri Irvan
 
Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...
Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...
Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...Muhammad Kennedy Ginting
 
Matematika Diskrit - 06 relasi dan fungsi - 07
Matematika Diskrit - 06 relasi dan fungsi - 07Matematika Diskrit - 06 relasi dan fungsi - 07
Matematika Diskrit - 06 relasi dan fungsi - 07KuliahKita
 
11-Program Dinamis.pdf
11-Program Dinamis.pdf11-Program Dinamis.pdf
11-Program Dinamis.pdfZallZall4
 
New wave technology.docx
New wave technology.docxNew wave technology.docx
New wave technology.docxQatrunNada23
 
Riset Operasi Penugasan.ppt
Riset Operasi Penugasan.pptRiset Operasi Penugasan.ppt
Riset Operasi Penugasan.pptBastianElvn
 
Modul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionModul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionPolytechnic State Semarang
 
Makalah Teori biaya (cost theory)
Makalah Teori biaya (cost theory)Makalah Teori biaya (cost theory)
Makalah Teori biaya (cost theory)Eka Wahyuliana
 
2 dasar praktikum sinyal dgn matlab
2  dasar praktikum sinyal dgn matlab2  dasar praktikum sinyal dgn matlab
2 dasar praktikum sinyal dgn matlabSimon Patabang
 
Recursive pertemuan 5
Recursive pertemuan 5Recursive pertemuan 5
Recursive pertemuan 5Basiroh M.Kom
 
Rpl 10-perancangan user interface
Rpl 10-perancangan user interfaceRpl 10-perancangan user interface
Rpl 10-perancangan user interfacef' yagami
 
Re-Juve - Brand Archetype Pilot Study
Re-Juve - Brand Archetype Pilot StudyRe-Juve - Brand Archetype Pilot Study
Re-Juve - Brand Archetype Pilot StudyHaykal Hafizul
 

What's hot (20)

Teori bahasa dan automata7
Teori bahasa dan automata7Teori bahasa dan automata7
Teori bahasa dan automata7
 
Bab1 c - Matematika Bisnis
Bab1 c - Matematika BisnisBab1 c - Matematika Bisnis
Bab1 c - Matematika Bisnis
 
Makalah memaksimumkan laba
Makalah memaksimumkan labaMakalah memaksimumkan laba
Makalah memaksimumkan laba
 
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
 
Teori Pengantar Mikroekonomi Bab 15 Permintaan Terhadap Faktor-faktor Produksi
Teori Pengantar Mikroekonomi Bab 15 Permintaan Terhadap Faktor-faktor ProduksiTeori Pengantar Mikroekonomi Bab 15 Permintaan Terhadap Faktor-faktor Produksi
Teori Pengantar Mikroekonomi Bab 15 Permintaan Terhadap Faktor-faktor Produksi
 
Pengenalan Simulink
Pengenalan SimulinkPengenalan Simulink
Pengenalan Simulink
 
Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...
Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...
Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...
 
Matematika Diskrit - 06 relasi dan fungsi - 07
Matematika Diskrit - 06 relasi dan fungsi - 07Matematika Diskrit - 06 relasi dan fungsi - 07
Matematika Diskrit - 06 relasi dan fungsi - 07
 
11-Program Dinamis.pdf
11-Program Dinamis.pdf11-Program Dinamis.pdf
11-Program Dinamis.pdf
 
4.paragraf
4.paragraf4.paragraf
4.paragraf
 
New wave technology.docx
New wave technology.docxNew wave technology.docx
New wave technology.docx
 
Riset Operasi Penugasan.ppt
Riset Operasi Penugasan.pptRiset Operasi Penugasan.ppt
Riset Operasi Penugasan.ppt
 
Modul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionModul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_function
 
Bab 5
Bab 5Bab 5
Bab 5
 
Makalah Teori biaya (cost theory)
Makalah Teori biaya (cost theory)Makalah Teori biaya (cost theory)
Makalah Teori biaya (cost theory)
 
2 dasar praktikum sinyal dgn matlab
2  dasar praktikum sinyal dgn matlab2  dasar praktikum sinyal dgn matlab
2 dasar praktikum sinyal dgn matlab
 
Logika pemrograman
Logika pemrogramanLogika pemrograman
Logika pemrograman
 
Recursive pertemuan 5
Recursive pertemuan 5Recursive pertemuan 5
Recursive pertemuan 5
 
Rpl 10-perancangan user interface
Rpl 10-perancangan user interfaceRpl 10-perancangan user interface
Rpl 10-perancangan user interface
 
Re-Juve - Brand Archetype Pilot Study
Re-Juve - Brand Archetype Pilot StudyRe-Juve - Brand Archetype Pilot Study
Re-Juve - Brand Archetype Pilot Study
 

Viewers also liked

Algoritma dan Struktur Data - Rekursif
Algoritma dan Struktur Data - RekursifAlgoritma dan Struktur Data - Rekursif
Algoritma dan Struktur Data - RekursifKuliahKita
 
Struktur data (alokasi memory)
Struktur data (alokasi memory)Struktur data (alokasi memory)
Struktur data (alokasi memory)Abbedul Thembock
 
4 rekursi
4 rekursi4 rekursi
4 rekursiYu Nita
 

Viewers also liked (7)

Bab 8 rekursif
Bab 8 rekursifBab 8 rekursif
Bab 8 rekursif
 
Algoritma dan Struktur Data - Rekursif
Algoritma dan Struktur Data - RekursifAlgoritma dan Struktur Data - Rekursif
Algoritma dan Struktur Data - Rekursif
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
 
Struktur Kontrol
Struktur KontrolStruktur Kontrol
Struktur Kontrol
 
Struktur data (alokasi memory)
Struktur data (alokasi memory)Struktur data (alokasi memory)
Struktur data (alokasi memory)
 
4 rekursi
4 rekursi4 rekursi
4 rekursi
 
Rekursi
Rekursi Rekursi
Rekursi
 

Similar to Bab 8 struktur rekursif

13_Rekursif.pptx
13_Rekursif.pptx13_Rekursif.pptx
13_Rekursif.pptxSapaFilut
 
6 rekursif induksi matematik.pdf
6 rekursif  induksi matematik.pdf6 rekursif  induksi matematik.pdf
6 rekursif induksi matematik.pdfNestyoRizky
 
Operational Research
Operational ResearchOperational Research
Operational ResearchDavid Loekito
 
Rekursi dan Relasi Rekurens Kelas 11 Sains Tek.pptx
Rekursi dan Relasi Rekurens Kelas 11 Sains Tek.pptxRekursi dan Relasi Rekurens Kelas 11 Sains Tek.pptx
Rekursi dan Relasi Rekurens Kelas 11 Sains Tek.pptxrulimustiyawan37
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
 
rekursi dan relasi rekurens
rekursi dan relasi rekurensrekursi dan relasi rekurens
rekursi dan relasi rekurenstedi_apendi
 
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )Kelinci Coklat
 
Rekursi dan relasi rekurens
Rekursi dan relasi rekurensRekursi dan relasi rekurens
Rekursi dan relasi rekurensLeonardo024
 
WLAN and Its benefit
WLAN and Its benefitWLAN and Its benefit
WLAN and Its benefitguest91544b
 
MATLAB Dalam Tuntunan Praktis
MATLAB Dalam Tuntunan PraktisMATLAB Dalam Tuntunan Praktis
MATLAB Dalam Tuntunan Praktisstaffpengajar
 

Similar to Bab 8 struktur rekursif (20)

207 p06
207 p06207 p06
207 p06
 
Tistrukdat9
Tistrukdat9Tistrukdat9
Tistrukdat9
 
13_Rekursif.pptx
13_Rekursif.pptx13_Rekursif.pptx
13_Rekursif.pptx
 
6 rekursif induksi matematik.pdf
6 rekursif  induksi matematik.pdf6 rekursif  induksi matematik.pdf
6 rekursif induksi matematik.pdf
 
Operational Research
Operational ResearchOperational Research
Operational Research
 
8 Rekursif
8 Rekursif8 Rekursif
8 Rekursif
 
Job4
Job4Job4
Job4
 
Pertemuan 6 Rekursif
Pertemuan 6 RekursifPertemuan 6 Rekursif
Pertemuan 6 Rekursif
 
Rekursi dan Relasi Rekurens Kelas 11 Sains Tek.pptx
Rekursi dan Relasi Rekurens Kelas 11 Sains Tek.pptxRekursi dan Relasi Rekurens Kelas 11 Sains Tek.pptx
Rekursi dan Relasi Rekurens Kelas 11 Sains Tek.pptx
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
Makalah
MakalahMakalah
Makalah
 
model dinamik
model dinamikmodel dinamik
model dinamik
 
rekursi dan relasi rekurens
rekursi dan relasi rekurensrekursi dan relasi rekurens
rekursi dan relasi rekurens
 
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
 
Rekursi dan relasi rekurens
Rekursi dan relasi rekurensRekursi dan relasi rekurens
Rekursi dan relasi rekurens
 
Pp 4(bab4)
Pp 4(bab4)Pp 4(bab4)
Pp 4(bab4)
 
WLAN and Its benefit
WLAN and Its benefitWLAN and Its benefit
WLAN and Its benefit
 
MATLAB Dalam Tuntunan Praktis
MATLAB Dalam Tuntunan PraktisMATLAB Dalam Tuntunan Praktis
MATLAB Dalam Tuntunan Praktis
 
Lk 12 hal 19
Lk 12 hal 19Lk 12 hal 19
Lk 12 hal 19
 
Bab iv
Bab ivBab iv
Bab iv
 

More from risal07

Transistor
TransistorTransistor
Transistorrisal07
 
Thyristor
ThyristorThyristor
Thyristorrisal07
 
Semikonduktor
SemikonduktorSemikonduktor
Semikonduktorrisal07
 
Jenis kapasitor
Jenis kapasitorJenis kapasitor
Jenis kapasitorrisal07
 
Induktor
InduktorInduktor
Induktorrisal07
 
Hukum kirchhoff
Hukum kirchhoffHukum kirchhoff
Hukum kirchhoffrisal07
 
Chapter 7 cpu struktur dan fungsi
Chapter 7 cpu struktur dan fungsiChapter 7 cpu struktur dan fungsi
Chapter 7 cpu struktur dan fungsirisal07
 
Chapter 6 input output
Chapter 6 input outputChapter 6 input output
Chapter 6 input outputrisal07
 
Bab 7 struktur looping
Bab 7 struktur loopingBab 7 struktur looping
Bab 7 struktur loopingrisal07
 
Bab 12 metode greedy
Bab 12 metode greedyBab 12 metode greedy
Bab 12 metode greedyrisal07
 
Bab 11 interface metaphorsdanmodelkonseptual
Bab 11 interface metaphorsdanmodelkonseptualBab 11 interface metaphorsdanmodelkonseptual
Bab 11 interface metaphorsdanmodelkonseptualrisal07
 
Bab 9 penjadwalan cpu
Bab 9 penjadwalan cpuBab 9 penjadwalan cpu
Bab 9 penjadwalan cpurisal07
 
Bab 7 struktur looping
Bab 7 struktur loopingBab 7 struktur looping
Bab 7 struktur loopingrisal07
 
Bab 6 konsep dasar pemrograman (2)
Bab 6 konsep dasar pemrograman (2)Bab 6 konsep dasar pemrograman (2)
Bab 6 konsep dasar pemrograman (2)risal07
 
Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)risal07
 
Bab 4 konsep algoritma
Bab 4 konsep algoritmaBab 4 konsep algoritma
Bab 4 konsep algoritmarisal07
 
Bab 3 notasi algoritma
Bab 3 notasi algoritmaBab 3 notasi algoritma
Bab 3 notasi algoritmarisal07
 

More from risal07 (20)

Transistor
TransistorTransistor
Transistor
 
Thyristor
ThyristorThyristor
Thyristor
 
Semikonduktor
SemikonduktorSemikonduktor
Semikonduktor
 
Jenis kapasitor
Jenis kapasitorJenis kapasitor
Jenis kapasitor
 
Induktor
InduktorInduktor
Induktor
 
Hukum kirchhoff
Hukum kirchhoffHukum kirchhoff
Hukum kirchhoff
 
Dioda
DiodaDioda
Dioda
 
Chapter 7 cpu struktur dan fungsi
Chapter 7 cpu struktur dan fungsiChapter 7 cpu struktur dan fungsi
Chapter 7 cpu struktur dan fungsi
 
Chapter 6 input output
Chapter 6 input outputChapter 6 input output
Chapter 6 input output
 
Bab 7 struktur looping
Bab 7 struktur loopingBab 7 struktur looping
Bab 7 struktur looping
 
Bab 12 metode greedy
Bab 12 metode greedyBab 12 metode greedy
Bab 12 metode greedy
 
Bab 11 interface metaphorsdanmodelkonseptual
Bab 11 interface metaphorsdanmodelkonseptualBab 11 interface metaphorsdanmodelkonseptual
Bab 11 interface metaphorsdanmodelkonseptual
 
Bab 9 penjadwalan cpu
Bab 9 penjadwalan cpuBab 9 penjadwalan cpu
Bab 9 penjadwalan cpu
 
Bab 7 struktur looping
Bab 7 struktur loopingBab 7 struktur looping
Bab 7 struktur looping
 
Bab 6 konsep dasar pemrograman (2)
Bab 6 konsep dasar pemrograman (2)Bab 6 konsep dasar pemrograman (2)
Bab 6 konsep dasar pemrograman (2)
 
Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)
 
Bab 4 konsep algoritma
Bab 4 konsep algoritmaBab 4 konsep algoritma
Bab 4 konsep algoritma
 
Bab 3 notasi algoritma
Bab 3 notasi algoritmaBab 3 notasi algoritma
Bab 3 notasi algoritma
 
Bab 5
Bab 5Bab 5
Bab 5
 
Bab 4
Bab 4Bab 4
Bab 4
 

Bab 8 struktur rekursif

  • 2. Perulangan Rekursif dan Perulangan Iteratif  Rekursif adalah suatu proses yang bisa memanggil dirinya sendiri .  Perulangan rekursif merupakan salah satu metode didalam pemrograman yang mana dalam sebuah fungsi terdapat instruksi yang memanggil fungsi itu sendri, atau lebih sering disebut memanggil dirinya sendiri.  Perulangan iteratif merupakan perulangan yang melakukan proses perulangan terhadap sekelompok instruksi. Perulangan dilakukan dalam batasan syarat tertentu. Ketika syarat tersebut tidak terpenuhi lagi maka perulangan akan terhenti.
  • 3.  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.
  • 4. 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.
  • 5. Contoh Fungsi Rekursif  Fungsi Pangkat  Faktorial  Deret Fibonacci  Menara Hanoi
  • 6. Fungsi Pangkat  Menghitung 10 pangkat n dengan menggunakan konsep rekursif.  Secara notasi pemrograman dapat dituliskan sebagai berikut : 100 = 1.......................................(1) 10n = 10. 310n-1..............................(2) 10 = 10. 102 Contoh : 102 = 10. 101 101 = 10. 100 100 = 1
  • 7. 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;
  • 8.  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
  • 9. Deret Fibonacci  Deret Fibonacci : 0, 1, 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
  • 10. 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 lebih kecil tidak boleh berada di bawah piringan yang lebih besar.
  • 11.  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).
  • 12.  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.
  • 13.  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
  • 14.  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);
  • 15. 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
  • 16.  Ilustrasi di atas menghasilkan 15 langkah penyelesaian dari permasalahan konsep menara Hanoi dengan jumlah piringan sebanyak 4 buah.  Rumus Langkah Pemindahan : 2N –1 N = jumlah piringan