Download - Algoritma dan Pemrograman C++ (Perulangan)
![Page 1: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/1.jpg)
ALGORITMADAN PEMROGRAMAN 1Semester Ganjil 2013 - 2014
Logika Perulangan
Beni Suranto, S.T., M.SoftEng
![Page 2: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/2.jpg)
• Contoh 1:Mencetak bilangan dari 1 sampai dengan 10.
• Contoh 2:Menghitung total bilangan genap antara 5 sampai dengan 45
• Contoh 3:Menghitung banyaknya karakter 'a' dari 25 karakter yang diinputkan lewat piranti masukan
• Contoh 4:Mencetak n bilangan asli pertama. Nilai n ditentukan dari piranti masukan.
Contoh kasus
![Page 3: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/3.jpg)
output(1)
output(2)
output(3)
output(4)
output(5)
output(6)
output(7)
output(8)
output(9)
output(10)
Algoritma Contoh 1
![Page 4: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/4.jpg)
total 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20
+ 22 + 24 + 26 + 28 + 30
+ 32 + 34 + 36 + 38 + 40 + 42 + 44
output(total)
Algoritma Contoh 2
![Page 5: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/5.jpg)
n_a 0
input(karakter)
if (karakter = 'a') then
n_a n_a + 1
{dst.... Diulangi sampai 25 kali}
output(n_a)
Algoritma Contoh 3
![Page 6: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/6.jpg)
• Ada sekumpulan statement yang perlu dilakukanberulang-ulang.
• Banyaknya perulangan tergantung dari persoalan
– Bagaimana kalau ada 1000 bilangan?
– Atau 10000, dst?
• Sebuah perulangan dalam algoritma, harus dijaminberhenti.
– Sesuai sifat algoritma harus berhenti
Problem
![Page 7: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/7.jpg)
Algoritma untuk Contoh 1
i 1
while (i<10) do
output(i)
i i + 1
![Page 8: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/8.jpg)
10/25/2013 Nama Mata Kuliah 8
bil_genap 6
total 0
while (bil_genap < 45) do
total total + bil_genap
bil_genap bil_genap + 2
output(total)
Algoritma untuk Contoh 2
![Page 9: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/9.jpg)
n_a 0
pencacah 1
while (pencacah < 25) do
input(karakter) {baca karakter}
if(karakter = 'a') then n_a n_a + 1
pencacah pencacah + 1
output(n_a)
Algoritma untuk Contoh 3
![Page 10: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/10.jpg)
• Terdiri dari 2 bagian:
– Kondisi berhenti
• Kondisi yang mengakibatkan perulangan berhenti
• Dinyatakan dalam ekspresi logika
• Baik eksplisit maupun implisit
– Badan perulangan
• Statement-statement yang akan diulang
• Pengulangan statement tsb akan dilakukan jika kondisiberhenti belum terpenuhi
Perulangan
![Page 11: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/11.jpg)
• Berdasarkan kondisi perulangan
• Format Penulisan
while <Kondisi-perulangan> do
<Statement>
• <Statement> akan diulang jika <kondisi-perulangan> terpenuhi(bernilai true)
• <Kondisi-perulangan> adalah ekspresi logika
While-do
![Page 12: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/12.jpg)
1. Menerima 50 data suhu air, kemudian mencetak pesan di layar monitor tentang bentuk air sesuai dengan data suhu yang dimasukkan.
2. Menerima 100 bilangan, kemudian mencetak pesan di layar monitor apakah bilangan yang dimasukkan ganjil/genap.
3. Menerima 100 karakter huruf, kemudian mencetak pesan di layar monitor apakah karakter yang dimasukkan adalah huruf vokal atau bukan.
Kasus :
![Page 13: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/13.jpg)
Algoritma untuk Soal 1
i 1
while (i<50) do
input(T)
if T ≤ 0 then
output “air membeku”
else
if T ≤ 99 then
output “air dalam bentuk cair”
else output “air menguap”
i i + 1
![Page 14: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/14.jpg)
i 1
while (i<100) do
input(bil)
if bil mod 2 = 0 then
output “bilangan genap”
else
output “bilangan ganjil”
i i + 1
Algoritma untuk Soal 2
![Page 15: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/15.jpg)
i 1
while (i<100) do
input(karakter)
if karakter == „A‟ or „U‟ or „I‟ or „E‟ or „O‟
then output “huruf vokal”
else
output “bukan huruf vokal”
i i + 1
Algoritma untuk Soal 3
![Page 16: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/16.jpg)
• Berdasarkan kondisi perulangan
• Format Penulisan
do <Statement>
while <Kondisi-perulangan>
• <Statement> akan diulang jika <kondisi-perulangan> terpenuhi (bernilai true)
• <Kondisi-perulangan> adalah ekspresi logika
Do-While
![Page 17: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/17.jpg)
Algoritma untuk soal 1 (benar?)
i 1
do
input(T)
if T ≤ 0 then
output “air membeku”
else
if T ≥ 1 and T ≤ 99 then
output “air dalam bentuk cair”
else output “air menguap”
while (i ≤ 50 ) do
i i + 1
![Page 18: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/18.jpg)
Algoritma untuk soal 2
i 1
do
input(bil)
if bil mod 2 = 0 then
output “bilangan genap”
else
output “bilangan ganjil”
i i + 1
while (i < 100)
![Page 19: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/19.jpg)
Algoritma untuk Contoh 3
i 1
do
input(karakter)
if karakter == „A‟ or „U‟ or „I‟ or „E‟ or „O‟
then output “huruf vokal”
else
output “bukan huruf vokal”
i i + 1
while (i < 25)
![Page 20: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/20.jpg)
Menerima dua buah bilangan bulat antara 1..100. Buatlah algoritma untuk menghitung total penjumlahan bilangan-bilangan ganjil antara 2 bilangan tersebut.
• Menggunakan skema:
– while – do
– Boleh ada percabangan (if-then)
Tugas
![Page 21: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/21.jpg)
input (bil_1)
input (bil_2)
bil_ganjil bil_1
if (bil_1 mod 2 == 0) then
bil_ganjil bil_ganjil + 1
total 0
while (bil_ganjil < bil_2) do
total total + bil_ganjil
bil_ganjil bil_ganjil + 2
output(total)
Solusi :
![Page 22: Algoritma dan Pemrograman C++ (Perulangan)](https://reader030.vdocuments.pub/reader030/viewer/2022012313/54848a3cb47959d80c8b4bbc/html5/thumbnails/22.jpg)
Terima kasih..