Anda di halaman 1dari 30

Keputusan dan Perulangan

Pertemuan ke-5 dan 6


MK. Algoritma dan Pemrograman
Prodi Teknik Elektro
Universitas Padjadjaran

Dr. Darmawan Hidayat, M.T.

Pokok Bahasan dan Tujuan


Pokok bahasan: Keputusan dan perulangan (Decision and Loops)
Sub pokok bahasan:
1. Pemrograman if...else
2. Perulangan for...
3. Perulangan do...while
4. Instruksi break dan continue
5. Pernyataan switch...case
6. Lompatan goto
Tujuan:
Setelah mengikuti praktikum dengan pokok bahasan keputusan dan perulangan
mahasiswa mampu menuliskan program C untuk perhitungan matematika dan
logika menggunakan perintah-perintah uji kondisi dan perulangan dengan benar.
Waktu: 6 x 50 menit = 300 menit
Pertemuan ke-5 dan 6
Dr. Darmawan Hidayat, M.T.

Pemrograman if, if..else dan


if...else tersarang

Dr. Darmawan Hidayat, M.T.

Pernyataan if
if (kondisi) {
pernyataan untuk kondisi bernilai true;
}
Pernyataan if menguji nilai kondisi.
Jika kondisi bernilai true (syarat terpenuhi) maka
pernyataan di dalam tubuh pernyataan if akan
dieksekusi tetapi jika kondisi bernilai false maka
pernyataan di dalam tubuh if akan diabaikan.
Dr. Darmawan Hidayat, M.T.

Contoh1: pernyataan if
Buat program untuk mencetak suatu bilangan yang dimasukkan oleh pengguna hanya
jika bilangan tersebut adalah negatif
#include<stdio.h>
int main(){
int num;
Keluaran 1
Masukkan suatu bilangan.-2
printf("Masukkan suatu bilangan.\n"); Bilangan = -2
Pernyataan if di Bahasa C mudah...
scanf("%d",&num);
if(num<0){
Jika pengguna memasukkan -2 maka kondisi (num<0)
printf("Bilangan = %d\n",num);
bernilai true. Sehingga, Number = -2 ditampilkan di monitor.
}
Keluaran 2
return0;
Masukkan suatu bilangan.5
Pernyataan if di Bahasa C mudah...
}
Dr. Darmawan Hidayat, M.T.
5

Pernyataan if...else
Pernyataan if...else digunakan jika programmer ingin
mengeksekusi pernyataan-pernyataan ketika kondisi bernilai
true dan mengeksekusi pernyataan-pernyataan lainnya jika
bernilai false.
Sintaks if...else:
if (kondisi)
{
pernyataan jika kondisi true;
}
else
{
pernyataan jika kondisi false;
}
Dr. Darmawan Hidayat, M.T.

Contoh 2: Pernyataan if...else


Buat program untuk mengecek bilangan yang dimasukkan oleh
pengguna bernilai genap atau ganjil:
#include<stdio.h>
main(){
int num;
printf(Masukkan sebuah nilai = \n");
scanf("%d",&num);
if((num%2)==0) //sisa= 0 atau 1 ?
printf("%d genap.",num);
else
printf("%d ganjil.",num);
Return 0;
}

Keluaran 1
Masukkan sebuah nilai = 25
25 ganjil.
Keluaran 2
Masukkan sebuah nilai = 22
22 genap.

Dr. Darmawan Hidayat, M.T.

Pernyataan if...else tersarang


Pernyataan if...else
tersarang digunakan ketika
program memerlukan lebih
dari satu uji kondisi.
Sintaks if...else tersarang:

if (kondisi1){
pernyataan untuk kondisi1 true;
}
else
if(kondisi2) {
pernyataan untuk kondisi2 true;
}
else
if (kondisi3) {
pernyataan jika kondisi1 dan 2 false dan kondisi3 true;
}
.
.
.
else {
pernyataan jika semua kondisi false;
}
Dr. Darmawan Hidayat, M.T.

Cara kerja if..else tersarang


Pernyataan if..else tersarang memiliki lebih dari satu uji kondisi.
Jika kondisi pertama bernilai true maka pernyataan di dalam kurung {} akan
dieksekusi.
Namun, jika bernilai salah maka kondisi kedua akan diuji.
Jika kondisi kedua bernilai ture maka pernyataan di dalam {} di bawahnya
akan dieksekusi.
Jika seluruh kondisi beernilai false maka maka pernyataan di dalam else akan
dieksekusi dan program akan keluar dari nested if ...else.

Standar ANSI menentukan 15 tingkat tersarang yang tersedia

Dr. Darmawan Hidayat, M.T.

Contoh 3: Pernyataan if else tersarang


Buat program untuk menghubungkan dua nilai integer yang
dimasukkan pengguna dengan tanda = atau > atau <

Keluaran 1
Enter two integers to check.
5
3
Result: 5 > 3

#include<stdio.h>
int main(){
int numb1, numb2;
Keluaran 2
printf("Enter two integers to check\n");
Enter two integers to check.
scanf("%d %d",&numb1,&numb2);
-4
if(numb1==numb2)//checking whether two integers are equal.
-4
printf("Result: %d = %d",numb1,numb2);
Result: -4 = -4
else
if(numb1>numb2)//checking whether numb1 is greater than numb2.
printf("Result: %d > %d",numb1,numb2);
else
printf("Result: %d > %d",numb2,numb1);
return0;
}
Dr. Darmawan Hidayat, M.T.

10

Perulangan
1. Perulangan for
2. Perulangan while
3. Perulangan do..while
4. Instruksi break dan continue
5. Lompatan goto
Dr. Darmawan Hidayat, M.T.

11

Perulangan for...
Perulangan menyebabkan program mengeksekusi suatu blok instruksi tertentu
secara berulang hingga kondisi uji bernilai false.
Perulangan digunakan dalam melakukan tugas berulang di dalam pemrograman.
Terdapat tiga jenis perulangan di dalam pemrograman C:
1. Perulangan for
2. Perulangan while
3. Perulangan do..while
Sintaks

Dr. Darmawan Hidayat, M.T.

12

Perulangan for...

Diagram alir for

Sintaks
for(nilai awal; ungkapan uji; pernyataan perbaruan) {
pernyataan yang dieksekusi;
}

Dr. Darmawan Hidayat, M.T.

13

Contoh perulangan for


Buat sebuah program untuk menghitung penjumlahan n bilangan natural pertama
dimana n dimasukkan oleh pengguna. Cat. Bilangan natural adalah 1,2,3
#include<stdio.h>
int main(){
int n, count, sum=0;
printf("Masukkan nilai n = ");
scanf("%d",&n);
for(count=1;count<=n;++count) //for berhenti jika count>n
{
sum=sum+count;
}
printf("Jumlah = %d",sum);
return0;
Output
}
Masukkan nilai n = 19
Jumlah = 190
Catat: Ungkapan awal, uji dan perbaruan dipisahkan
dengan
titik koma (;).
Dr. Darmawan
Hidayat, M.T.

14

Perulangan while
Sintaks:

while (kondisi)
{
pernyataan.
}

Perulangan while menguji nilai kondisi.

Jika kondisi bernilai true maka pernyataan di


dalam blok perulangan while dalam kurung {}
akan dieksekusi.
Kemudian kondisi akan diuji lagi apakah
bernilai true atau false akibat eksekusi
pernyataan di dalam blok.
Proses ini terus berlanjut hingga kondisi
bernilai false.
Dr. Darmawan Hidayat, M.T.

15

Contoh perulangan while


Buat program C untuk menampilkan sepuluh bilangan asli pertama.
Bilangan asli = 1,2,3,
#include <stdio.h>

#include <conio.h>
main()
{
int cacah=1;

while(cacah<=10)
{
printf ( "%d\n",cacah);
++cacah;
}
getch();
return 0;
Dr. Darmawan Hidayat, M.T.

16

Perulangan do...while
Pada C, perulangan do...while sangat mirip
dengan perulangan while.
Uji kondisi perulangan while ada di awal
perulangan sedangkan uji kondisi perulangan
do...while berada di akhir perulangan.
Sintaks perulangan do...while

do
{
pernyataan;
}
while (kondisi);

Dr. Darmawan Hidayat, M.T.

17

Contoh do...while

#include <stdio.h>
#include <conio.h>

Buat program C untuk


menampilkan sepuluh bilangan asli
pertama.
Bilangan asli = 1,2,3,

main()
{
int cacah=1;
do
{

printf ( "%d\n",cacah);
++cacah;

}
while (cacah<=10);

getch();
return 0;

Dr. Darmawan Hidayat, M.T.

18

Instruksi break dan continue


Ada dua pernyataan untuk mengubah aliran program yaitu break dan
continue.
Perulangan melakukan pekerjaan yang berulang hingga kondisi
bernilai false.
Terkadang diperlukan keluar mengabaikan pekerjaan dalam perulangan atau
menghentikan perulangan tanpa uji kondisi.

Untuk keperluan tersebut dapat digunakan pernyataan break dan


continue.
Pernyataan break juga digunakan dalam pernyataan switch untuk
keluar dari switch
Dr. Darmawan Hidayat, M.T.

19

Pernyataan break
Pernyataan break digunakan
digunakan untuk menghentikan
perulangan pada tiga perulangan C
for, while dan do...while.
Pernyataan break digunakan
bersama dengan pernyataan if.
Sintaks pernyataan break

break;

Dr. Darmawan Hidayat, M.T.

20

Pernyataan break
while (kondisi1) {
pernyataan
if (kondisi2) {
break;
}
pernyataan;
}

do{
pernyataan
if (kondisi2) {
break;
}
pernyataan;
}
while (kondisi1)

For (nilai awal; uji kondisi; ungkapan perbaruan)


pernyataan;
if (kondisi) {
break;
}
pernyataan;
}
Dr. Darmawan Hidayat, M.T.

21

Pernyataan continue
Terkadang diperlukan
melompati beberapa
pernyataan di dalam
perulangan.
Untuk keperluan itu dapat
digunakan pernyataan
continue.
Sintaks pernyataan continue

continue;

Dr. Darmawan Hidayat, M.T.

22

Pernyataan continue
while (kondisi1) {
pernyataan
if (kondisi2) {
continue;
}
pernyataan;
}

do{
pernyataan
if (kondisi2) {
continue;
}
pernyataan;
}
while (kondisi1)

For (nilai awal; uji kondisi; ungkapan perbaruan)


pernyataan;
if (kondisi) {
continue;
}
pernyataan;
}
Dr. Darmawan Hidayat, M.T.

23

Contoh continue
Buat program C untuk
menghitung perkalian 4
bilangan integer yang
dimasukkan pengguna.
Jika pengguna
memasukkan 0 maka
bilangan 0 akan dilewati.

#include<stdio.h>
#include<conio.h>
main()
{
int i,num,product;
for(i=1,product=1;i<=4;++i)
{
printf("Masukkan bilangan ke-%d = ",i);
scanf("%d",&num);
if(num==0)
continue; /*jika num=0, product*=num dilewati, loop lanjut*/
product=product*num;
}
printf("Hasil perkalian empat bilangan tersebut = %d",product);
getch();
return 0;
}Dr. Darmawan Hidayat, M.T.
24

Dr. Darmawan Hidayat, M.T.

25

Pernyataan switch...case
Pembuatan keputusan diperlukan ketika program menghadapi situasi
untuk memilih satu pilihan di antara banyak pilihan pernyataan.
Untuk keperluan ini dapat digunakan if...else tersarang namun ini akan
membuat program menjadi kompleks.

Masalah ini dapat diatasi dengan pernyataan switch...case.

Dr. Darmawan Hidayat, M.T.

26

Pernyataan switch...case
Sintaks switch...case
switch (n) {
case konstanta1:
pernyataan jika n=konstanta1;
break;
case konstanta2:
pernyataan jika n=konstanta2;
break;
.
.
.
default:
pernyataan jika n = tidak ada yang cocok;
}

Nilai n adalah sebuah bilangan integer atau karakter.


Jika nilai n cocok dengan konstanta pada case maka
kode pernyataan terkait akan dieksekusi.
Jika nilai n tidak ada yang cocok dengan satupun
konstanta case maka kode pernyataan di dalam
default yang akan dieksekusi lalu meninggalkan
pernyataan switch.

Dr. Darmawan Hidayat, M.T.

27

Contoh pernyataan switch...case


# include <stdio.h>
int main(){
char o;
float num1,num2;
printf("Select an operator either + or - or * or / \n");
scanf("%c",&o);
printf("Enter two operands: ");
scanf("%f%f",&num1,&num2);
switch(o){
case'+':
printf("%.1f + %.1f = %.1f",num1, num2, num1+num2);
break;
case'-':
printf("%.1f - %.1f = %.1f",num1, num2, num1-num2);
break;
case'*':
printf("%.1f * %.1f = %.1f",num1, num2, num1*num2);
break;
case'/':
printf("%.1f / %.1f = %.1f",num1, num2, num1/num2);
break;
default:
printf("Error! operator is not correct");
break;
}
return0;
}

Buat program yang meminta pengguna untuk memilih


operator ('+','-','*' or '/') dan memasukkan dua operan dan
melakukan perhitungan terkait pada operan tersebut.

Keluaran
Enter operator either + or - or * or /
*
Enter two operands: 2.3
4.5
2.3 * 4.5 = 10.3
Dr. Darmawan Hidayat, M.T.

28

Lompatan goto
Pernyataan goto digunakan untuk
mengubah urutan normal eksekusi label merupakan suatu pengenal.
program dengan memindahkan
Ketika kontrol program mencapai pernyataan
kendali ke bagian lain di program.
goto maka kontrol program akan lompat
menuju label: dan mengeksekusi perintah di
Sintaks pernyataan goto
bawahnya.
goto label;
.............
.............
.............
label:
statement;
Dr. Darmawan Hidayat, M.T.

29

Contoh pernyataan goto

Dr. Darmawan Hidayat, M.T.

30

Anda mungkin juga menyukai