materi : rekursif - azoel.files.wordpress.com · mata pelajaran : algoritma & struktur data...

35
Mata Pelajaran Mata Pelajaran : Algoritma & Struktur Data Algoritma & Struktur Data Versi Versi : 1.0.0 1.0.0 Materi Materi : Rekursif Rekursif Penyaji Penyaji : Zulkarnaen NS Zulkarnaen NS 1

Upload: tranphuc

Post on 03-Mar-2019

260 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

Mata PelajaranMata Pelajaran :: Algoritma & Struktur DataAlgoritma & Struktur DataVersiVersi :: 1.0.01.0.0

MateriMateri :: RekursifRekursifPenyajiPenyaji :: Zulkarnaen NSZulkarnaen NS

11

Page 2: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

Rekursif/ Iterasi/ Pengulangan

22

Instruksi perulangan digunakan untuk menjalankan satu atau beberapa insturksi sebanyak berapa kali jika kondisi terpenuhi.

Dengan intruksi perulangan memungkinkan untuk menjalankan beberapa instruksi hanya dengan menuliskan instruksi tersebut satu kali saja.

Page 3: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

33

Instruksi perulangan biasa digunakan untuk:- Mengulang proses pemasukan data - Mengulang proses perhitungan- Mengulang proses penampilan hasil

pengolahan data

Page 4: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

44

Struktur perulangan terdiri dari empat bagian:- Kondisi perulangan, yaitu ekspresi

boolean yang harus dipenuhi untuk melaksakan perulangan

- Badan perulangan, yaitu satu atau lebih instruksi yang akan di ulang

- Inisialisasi, yaitu aksi yang dilakukan sebelum perulangan dilakukan pertama kali

- Terminasi, yaitu aksi yang mengakibatkan perulangan dihentikan

Page 5: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

55

Ada tiga buah perintah dalam bahasa JAVA yang digunakan untuk melakukan perulangan:- Instruksi for, untuk perulangan derminitif- Instruksi while- Instruksi do-while

Page 6: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

66

Struktur for()Karakteristik for() adalah:1. Digunakan untuk perulangan yang batasnya

sudah diketahui dengan jelas, misalnya dari 1 sampai 10.

2. Memerlukan 2 buah variabel awal dan akhir perulangan.

3. Nilai variabel penghitung akan secara otomatis bertambah atau berkurang tiap kali sebuah pengulangan dilaksanakan.

Bentuk Umum:

Page 7: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

77

Contoh perulangan menaik:

Page 8: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

88

Contoh perulangan menurun:

Page 9: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

99

Struktur while()Karakteristik while() adalah:1. Dilakukan pengecekan kondisi terlebih dahulu

sebelum dilakukan perulangan. Jika kondisi yang dicek bernilai benar (true) maka perulangan akan dilakukan.

2. Blok statement tidak harus ada. Struktur tanpa statement akan tetap dilakukan selama kondisi masih true.

Bentuk Umum:

Page 10: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

1010

Flowchart

Page 11: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

1111

Contoh perulangan menaik:

Page 12: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

1212

Contoh perulangan menurun:

Page 13: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

1313

Struktur do..while()Karakteristik do ... while() adalah:1. Perulangan akan dilakukan minimal 1x terlebih

dahulu, kemudian baru dilakukan pengecekan terhadap kondisi, jika kondisi benar maka perulangan masih akan tetap dilakukan.

2. Perulangan dengan do...while() akan dilakukan sampai kondisi false.

Bentuk Umum:

Page 14: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

1414

Flowchart

Page 15: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

1515

Contoh perulangan menaik:

Page 16: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

1616

Contoh perulangan menurun:

Page 17: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

1717

Buatlah dalam bahasa pemrograman untuk hasil output berikut ini

Untuk n=4** ** * ** * * *

Page 18: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

1818

Bagaimana menampilkan untuk output dibawah ini

Untuk n=4** ** * ** * * ** * ** **

Page 19: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

1919

Nested LoopingNested Loop adalah perulangan yang terjadi di dalam sebuah loop. Perulangan yang dikerjakan terlebih dahulu adalah perulangan yang berada di dalam baru kemudian mengerjakan perulangan yang luarnya.

Page 20: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

2020

Break dan Continuebreak adalah perintah untuk menghentikan perulangan yang terjadi, dan alur program akan berpindah ke perulangan yang lebih atasnya, atau akan keluar dari perulangan jika perulangan yang dilakukan hanya satu buah.

Page 21: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

2121

Contoh break:

Page 22: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

2222

Break dan Continue lanjutan...Continue adalah perintah untuk meneruskan perulangan (melewati perulangan pada suatu kondisi tertentu) dan kemudian alur program akan melanjutkan ke proses perulangan berikutnya, atau jika proses perulangan sudah berakhir, maka proses akan keluar dari perulangan.

Page 23: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

2323

Contoh continue:

Page 24: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

2424

Setelah anda belajar nested loopingseharusnya anda sudah bisa membuat output

Untuk n=4** ** * ** * * ** * ** **

Page 25: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

2525

Latihan- Tampilkan bilangan 1-10 dengan for(),

do... while() ... dan while() ... do!- Buatlah program penghitung faktorial- Buatlah program untuk memangkatkan

bilangan dengan looping- Buatlah program untuk menampilkan

bilangan genap dari 1-100- Buatlah program menu yang selalu

berulang sampai user memilih pilihan exit!

Page 26: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

2626

Latihan lanjutan... (1)- Buatlah program untuk menampilkan tabel

penjumlahan

Page 27: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

2727

Latihan lanjutan...(2)- Buatlah program untuk menampilkan tabel

perkalian

Page 28: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

2828

Latihan lanjutan...(1)- Buatlah program yang selalu menanyakan

pada user: “mau lagi“?, jika user mengetikkan ‘Y’ atau ‘y’, maka akan mengulang program, sebaliknya jika user mengetikkan ‘T’ atau ‘t’, maka program akan selesai.

- Buatlah program untuk mendeteksi jumlah karakter VOKAL & KONSONAN dalam nama yang diinput dengan menggunakan struktur rekursif.

Page 29: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

2929

Latihan lanjutan... (2)- Buatlah deret dibawah ini:

Page 30: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

3030

Latihan lanjutan... (3)

- Buat program untuk mengihtung banyaknya bilangan genap dan ganjil serta total dari bilangan-bilangan genap dan ganjil yang ada dari n buah bilangan.

- Buat program untuk menampilkan deret bilangan prima dari 1 sampai dengan n, dimana n adalah inputan dari user.

Page 31: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

3131

Latihan lanjutan... (4)- Mencetak Tulisan “<x> AMIK Bogor<y>”

sebanyak 10 kali, dengan <x> adalah nomor urut (mulai 1 sampai 10), sedangkan <y> adalah nomor urut terbalik (mulai 10 sampai 1)

- Buatlah tabel harga fotokopian dari 1 – 100 lembar, dimana harga perlembar adalah 80 rupiah

Page 32: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

3232

Latihan lanjutan... (5)- Buatlah program untuk menampilkan deret

sebagai berikut:

Dengan 1 looping saja.

Page 33: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

3333

Latihan lanjutan... (6)- Buatlah program untuk menampilkan deret

seperti: Untuk n = 5 X O X O X X O X O X O X X O X

Page 34: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

3434

Latihan lanjutan... (7)- Buatlah program untuk menampilkan

bilangan fibonacci pada deret ke-n! Bilangan fibonacci adalah bilangan seperti: 1 1 2 3 5 8 13 ... dst Jadi jika inputan n = 7, maka hasil adalah 13

Page 35: Materi : Rekursif - azoel.files.wordpress.com · Mata Pelajaran : Algoritma & Struktur Data Versi : 1.0.0 Materi : Rekursif ... bilangan fibonacci pada deret ke -n! Bilangan fibonacci

SelesaiSelesai

3535