You are on page 1of 21

Struktur Kondisi IF

ANALISIS DAN DESAIN ALGORITMA


Outline
 Struktur Kondisi IF
 Struktur Kondisi IF…ELSE
 Struktur Kondisi IF Bertingkat (Nested-IF)
 Penggunaan Struktur Kondisi IF
Soal Pertama
1. Buatlah algoritma / flowchart untuk menginputkan 3 buah bilangan bulat dan
tampilkan bilangan TERBESAR diantara ketiganya (dianggap ketiga bilangan
nilainya berbeda). TIDAK BOLEH MENGGUNAKAN OPERATOR LOGIKA

Pahami soal / kasusnya terlebih dahulu.


• Apakah perlu ada inputan?
• Berapa nilai yang harus diinput?
• Apa jenis / tipe data dari nilai yang diinput?
• Apa yang diminta untuk ditampilkan?
• Apakah ada ketentuan lain?
Soal Pertama
1. Buatlah algoritma / flowchart untuk menginputkan 3 buah bilangan bulat dan
tampilkan bilangan TERBESAR diantara ketiganya (dianggap ketiga bilangan
nilainya berbeda). TIDAK BOLEH MENGGUNAKAN OPERATOR LOGIKA
Alur algoritma / logika berpikir
• Deklarasi variabel A, B, C
• Input nilai A, B, C
• Jika A > B, maka A adalah kandidat TERBESAR
• Jika A > C, maka A sudah pasti adalah TERBESAR
• Jika C > A, maka C sudah pasti adalah TERBESAR
• Jika B > A, maka B adalah kandidat TERBESAR
• Jika B > C, maka B sudah pasti adalah TERBESAR
• Jika C > B, maka C sudah pasti adalah TERBESAR
Ingat kembali: Operator Perbandingan
Operator Arti Contoh
< Kurang dari x<y Apakah x kurang dari y
<= Kurang dari sama x <= y Apakah x kurang dari sama
dengan dengan y
> Lebih dari x>y Apakah x lebih dari y
>= Lebih dari sama x >= y Apakah x lebih dari sama dengan
dengan y
== Sama dengan x == y Apakah x sama dengan y
!= Tidak sama dengan x != y Apakah x tidak sama dengan y
Selanjutnya bikin Flowchartnya
1
MULAI

A>B
Deklarasi
A, B, C
B>C A>C

Input
A, B, C
Cetak Cetak Cetak Cetak
C B C A
1

SELESAI
Soal Pertama – Cara 2
1. Buatlah algoritma / flowchart untuk menginputkan 3 buah bilangan bulat dan
tampilkan bilangan TERBESAR diantara ketiganya (dianggap ketiga bilangan
nilainya berbeda). TIDAK BOLEH MENGGUNAKAN OPERATOR LOGIKA
Alur algoritma / logika berpikir
• Deklarasi variabel A, B, C, max
• Input nilai A, B, C
• max = 0
• Jika A > max, maka max = A (A adalah kandidat TERBESAR)
• Jika B > max, maka max = B (B adalah kandidat TERBESAR)
• Jika C > max, maka max = C (C adalah kandidat TERBESAR)
• Cetak nilai max
Flowchart – Cara 2
MULAI 1 2

Deklarasi A > max C > max


A, B, C, max
max = A max = C
Input
A, B, C

Cetak
B > max
1 max

max = B SELESAI

2
Soal Kedua
1. Buatlah algoritma / flowchart untuk menginputkan 3 buah bilangan bulat dan
tampilkan bilangan TERBESAR diantara ketiganya (dianggap ketiga bilangan
nilainya berbeda). BOLEH MENGGUNAKAN OPERATOR LOGIKA

Alur algoritma / logika berpikir


• Deklarasi variabel A, B, C
• Input nilai A, B, C
• Jika A > B dan A > C, maka cetak A (A adalah TERBESAR)
• Jika B > A dan B > C, maka cetak B (B adalah TERBESAR)
• Jika C > A dan C > B, maka cetak C (C adalah TERBESAR)
Flowchart
MULAI 1 2

A > B && C > A &&


Deklarasi A>C C>B
A, B, C
Cetak Cetak
A C
Input
A, B, C

B > A &&
1 B>C SELESAI
Cetak
B

2
Struktur Kondisi IF dan IF…ELSE
Bentuk Umum - 1
biasa disebut : Bentuk IF-THEN Flowchart

if ( cond )
TRUE
{ - cond
- statements-true
-
- - statements-
- -
- true
} -
-
-
- next instruction
-
-
- next instruction
Cara-Kerja -
-
-
Bila nilai cond
- TRUE, maka kerjakan semua instruksi yang ada dalam statements-true
Setelah selesai, lanjutkan ke next-instruction

- FALSE, maka langsung ‘meloncat’ mengerjakan isnstruksi yang ada di


next-instruction
Flowchart
if ( cond )
{ -
- Statements
- true
TRUE cond
- cond
-
} TRUE
-
-
- next -
- -
- - -
- instruction - -
-
-
-

Penulisan PROGRAM - -
- -
Terikat aturan / ketentuan - -
- -

Penggambaran FLOWCHART
bebas
Bentuk Umum - 2
biasa disebut : Bentuk IF-THEN-ELSE
Flowchart
if ( cond )
{ -
- statements-true
- FALSE TRUE
- cond
-
}
else - statements- - statements-
- -
- false - true
{ - -
-
-
-
- - -
- statements-false
-
-
} - next instruction
-
- next instruction -
- -
-

cond = condition
if ( cond ) Flowchart
{ -
- statements-true
-
-
} - FALSE TRUE
else cond
{ -
- statements-false
- -
-
statements- -
-
statements-
- - false - true
} -
- -
- -
- -
- next instruction
-
-
- next instruction
Cara-Kerja -
-
-
Bila nilai cond
- TRUE, maka kerjakan semua instruksi yang ada dalam statements-true
Setelah selesai, lanjutkan ke next-instruction

- FALSE, maka kerjakan semua instruksi yang ada dalam statements-false


Setelah selesai, lanjutkan ke next-instruction
Penulisan PROGRAM terikat aturan,
Penggambaran FLOWCHART bebas.

FALSE
TRUE FALSE cond
cond
TRUE
-
- - - -
- - - false
- true - false true - -
- - - -
- - - -
- - -
-

- next
- next instruction - instruction
- -
- -
-
Nested IF
Perhatikan kembali struktur IF-THEN-ELSE dan IF-THEN
Statement seperti yang sudah diterangkan sebagai berikut :

FALSE TRUE TRUE


Cond Cond

FALSE

S2 S1 S1

Struktur Struktur
IF-THEN-ELSE IF-THEN

Dari ilustrasi struktur diatas, S adalah satu atau sekelompok statement. Didalam kelompok S
mungkin terdapat statement IF sehingga terjadi IF secara berjenjang atau secara tersarang yang
biasa disebut Nested If
(nest = sarang)
Nested IF
Dari ilustrasi struktur diatas, S adalah satu atau sekelompok statement.
Didalam kelompok S mungkin terdapat statement IF sehingga terjadi IF secara
berjenjang atau secara tersarang yang biasa disebut Nested If
(nest = sarang)

Contoh :
1) if (cond1)
False True
{ if (cond2) Cond1
{ -
- S1 True
Cond2
-
} S2
}
False S1
else { -
- S2
-
}
Nested IF

2) if (cond1)
{if (cond2) False True
{- Cond1
- S1
-
} False
Cond2
True
else {-
- S2
- S3
} S2 S1
}
else {-
- S3
-
}
Nested IF 3)
if cond1
{ -
- S1 True
- False Cond1
if cond2
{ -
- S2 False True S1
Cond3
-
}
- S5 S4
- S3 True
- Cond2
}
else False S2
{if cond3
{ -
- S4
-
}
else S3
{ -
- S5
-
}
}

Perhatikan posisi letak ‘titik’ Endif (akhir fungsi if ) dalam flowchart.


Posisi ini penting untuk menganalisa aliran terutama untuk nested IF yang
komplek atau untuk proses pengulangan yang bersifat rekursif.
Terima kasih…

You might also like