SP243-111065-551-8 395KB Sep 10 2011 08

advertisement
Pertemuan 8
Struktur Kendali Percabangan
WHILE & DO-WHILE
Dasar Pemrograman
Renni Angreni, S.Kom.
WHILE
• Pernyataan while melakukan
perulangan sampai syarat dari while
terpenuhi atau pernyataan break
dihampiri.
• Pernyataan while merupakan salah
satu pernyataan yang berguna untuk
memroses suatu pernyataan atau
beberapa pernyataan beberapa kali.
Flowchart WHILE
kondisi
T
pernyataan
selanjutnya
Y
Pernyataan
• while (ungkapan)
pernyataan;
• while (ungkapan)
{ pernyataan1;
pernyataan2;
…
pernyataanN;
}
• Bagian pernyataan pada while akan
dieksekusi selama ungkapan pada while
bernilai benar.
• Pengujian terhadap ungkapan pada while
dilakukan sebelum bagian pernyataan.
Oleh karena itu, ada kemungkinan bagian
pernyataan pada while tidak dijalankan
sama sekali, yaitu kalau kondisi yang
pertama kali bernilai salah.
• Jika menggunakan pernyataan while
pastikan bahwa suatu saat ungkapan
while bernilai salah, jika tidak maka
pernyataan akan dijalankan selamanya.
Contoh
Cth1
bandingkan
Cth2
#include <iostream>
#include <conio.h>
using namespace std;
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{ int i=0;
while (i <= 10) {
cout<<“C++”;
i = i + 1;
}
_getch();
}
void main()
{ int i=0;
while (i <= 10) {
cout<<“C++”;
}
_getch();
}
• Pada Cth1, penggunaan while untuk melakukan
perulangan menampilkan tulisan “C++”. Variabel i
bertindak sebagai pencacah untuk mengingat
jumlah tulisan yang sudah ditampilkan. Itulah
sebabnya mula-mula diisi dengan nol, kemudian
untuk setiap putaran isi variabel dinaikkan (i=i+1).
Oleh karena variabel ini dijadikan sebagai kondisi
pada while, suatu ketika kondisi (i <= 10) akan
bernilai salah (yaitu pada i mencapai nilai 11)
sehingga while akan berakhir, pernyataan dalam
while tidak dieksekusi lagi.
• Pada layar akan dicetak tulisan “C++” sebanyak
11 kali (kondisi i=0 sampai i=10).
• Pada Cth2, penggunaan while sama untuk
melakukan perulangan menampilkan tulisan
“C++”. Variabel i bertindak sebagai pencacah
untuk mengingat jumlah tulisan yang sudah
ditampilkan. Itulah sebabnya mula-mula diisi
dengan nol, tetapi dalam pernyataan while tidak
ada pernyataan yang dapat membuat kondisi
while (i <= 10) bernilai salah sehingga pernyataan
di dalam while akan dijalankan terus menerus
(nilai i selalu nol, i selalu <=10).
• Pada layar akan dicetak tulisan “C++” berulangulang (tidak berhenti).
• Pada contoh struktur while di atas, pencacah
(variabel i) harus diberi nilai awal, dan ada
pernyataan yang membuat kondisi while bernilai
salah, serta urutan pernyataan yang akan
dieksekusi dalam while berpengaruh.
Contoh
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
int i = 1;
while (i<=10) {
cout<<i<<endl;
i = i + 1;
}
_getch();
}
Pernyataan
i = i + 1;
dapat dituliskan
i += 1;
atau
i++;
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
int i = 1;
while (i<=10) {
i = i + 1;
cout<<i<<endl;
}
_getch();
}
Urutan pernyataan di
dalam while berpengaruh.
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
int i = 1;
while (i <= 10) {
cout<<i<<endl;
i = i + 1;
if (i == 8) break;
}
_getch();
}
Struktur kendali
IF di dalam while
Buatlah sebuah program C++ (dengan While) untuk :
1. Menampilkan 20 buah huruf C.
2. Menampilkan angka 1 – 20.
3. Menampilkan angka 20 – 1.
4. Menampilkan angka ganjil dari 1 – 50.
5. Menampilkan angka genap dari 1 – 50.
6. Menampilkan bilangan kelipatan 3 dari 1 – 100.
7. Bertanya kepada user “Apakah ingin membeli?”
sampai dijawab “ya”.
8. Menampilkan bilangan kelipatan 8 dari rentang 1
sampai batas rentang yang diinput user.
DO … WHILE
• Pernyataan do…while sama dengan
pernyataan while hanya saja kondisi
perulangan dicek di akhir perulangan
(kalau while di awal perulangan).
Sehingga perulangan do…while akan
dieksekusi minimal satu kali,
sedangkan pada while bagian
pernyataan mungkin tidak akan
dieksekusi sama sekali.
Flowchart DO…WHILE
Pernyataan
kondisi
Y
T
Pernyataan
selanjutnya
do {
pernyataan1;
pernyataan2;
…
pernyataanN;
} while (ungkapan);
Contoh
Cth1
bandingkan
Cth2
#include <iostream>
#include <conio.h>
using namespace std;
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{ char abjad = 'A';
do {
cout<<abjad<<" ";
abjad += 1;
} while (abjad<='Z');
_getch();
}
void main()
{ char abjad = 'A';
do {
cout<<abjad<<" ";
abjad += 1;
} while (abjad<'A');
_getch();
}
• Pada Cth1, penggunaan do…while untuk
mencetak huruf sampai kondisi di dalam while
terpenuhi, yaitu (abjad<=‘Z’) sama halnya dengan
penggunaan while. Pada layar akan ditampilkan A
BCDEFGHIJKLMNOPQRSTUVWX
Y Z.
• Sedangkan pada Cth2, penggunaan do…while
tidak terjadi perulangan karena kondisi pada while
telah bernilai salah, tetapi pernyataan di dalam do
akan dijalankan dahulu sebelum pengecekan
kondisi, sehingga hanya akan mencetak satu buah
huruf saja yaitu A. Berbeda dengan penggunaan
while dimana pengecekan dilakukan di awal
sehingga pernyataan tidak akan dijalankan karena
telah bernilai salah.
Contoh
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{ int i=0;
do {
cout<<"C++"<<endl;
i = i + 1;
} while (i<=10);
_getch();
}
Pernyataan
i = i + 1;
dapat dituliskan
i += 1;
atau
i++;
Buatlah sebuah program C++ (dengan do…while)
untuk :
1. Menampilkan 20 buah huruf C.
2. Menampilkan angka 1 – 20.
3. Menampilkan angka 20 – 1.
4. Menampilkan angka ganjil dari 1 – 50.
5. Menampilkan angka genap dari 1 – 50.
6. Menampilkan bilangan kelipatan 3 dari 1 – 100.
7. Bertanya kepada user “Apakah ingin membeli?”
sampai dijawab “ya”.
8. Menampilkan bilangan kelipatan 8 dari rentang 1
sampai batas rentang yang diinput user.
9. Buatlah sebuah program C++ yang menerima input
berupa jumlah barang dan harga barang, yang
kemudian menampilkan total harganya. Setelah
program berakhir, user ditanya apakah mau
mengulang menjalankan program atau tidak. Jika
menjawab ‘Y’ maka program diulang dari awal, jika
menjawab ‘T’ maka program selesai.
-- Sekian --
Dasar Pemrograman
Renni Angreni, S.Kom.
Download