Anda di halaman 1dari 31

{Pertemuan 4

Struktur Kondisi IF}


ANALISIS DAN DESAIN ALGORITMA (PG157)
Outline
 Struktur Kondisi IF
 Struktur Kondisi IF…ELSE
 Struktur Kondisi IF Bertingkat (Nested-IF)
 Penggunaan Struktur Kondisi IF
Masih ingat dengan Latihan ini?
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

2. Buatlah algoritma / flowchart untuk menginputkan 3 buah bilangan bulat dan


tampilkan bilangan TERBESAR diantara ketiganya (dianggap ketiga bilangan
nilainya berbeda). BOLEH MENGGUNAKAN OPERATOR LOGIKA

Mari kita bahas satu per satu…..


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 C C C
1

SELESAI
Apakah ada cara lain?
SELALU akan ada cara yang lain
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
Apakah ada cara lain?
SELALU akan ada cara yang lain
Soal Pertama – Cara 3
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, max
• Input nilai A
• max = A
• Input nilai A
• Jika A > max, maka max = A
• Input nilai A
• Jika A > max, maka max = A
• Cetak nilai max
Flowchart – Cara 3
Apakah ada cara lain?
SELALU akan ada cara yang lain

Temukan caramu sendiri!


Bagaimana dengan Soal Kedua?
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

2. Buatlah algoritma / flowchart untuk menginputkan 3 buah bilangan bulat dan


tampilkan bilangan TERBESAR diantara ketiganya (dianggap ketiga bilangan
nilainya berbeda). BOLEH MENGGUNAKAN OPERATOR LOGIKA

Soal sama, tapi boleh menggunakan operator logika


Ingat kembali: Operator Logika
 && atau AND : Logika AND (DAN)
 || atau OR : Logika OR (ATAU)
 ! atau NOT : Logika NOT (INGKARAN)
Ingat kembali: Operasi Logika
Logika AND Logika OR
A B Hasil A B Hasil
TRUE TRUE TRUE TRUE TRUE TRUE
TRUE FALSE FALSE TRUE FALSE TRUE
FALSE TRUE FALSE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE FALSE FALSE
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
Apa yang kita pelajari hari ini?

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
-
}
- statements- - statements-
else - -
- 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
- False True
if cond2 Cond1
{ -
- S2 False True
- Cond3 S1
}
-
- S3 S5 S4
- True
Cond2
}
else
{if cond3 False S2
{ -
- 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.
Latihan di Kelas
1. Susun algoritma (program) untuk menginput 3 buah bilangan yang masing-masing
menyatakan panjang sisi sebuah segitiga. Kemudian periksa ketiga buah garis (sisi) tersebut .
Bila ketiga buah garis (sisi) tersebut panjangnya sama maka cetak perkataan “SAMA SISI”.
Bila hanya dua sisi yang sama maka cetak perkataan “SAMA KAKI “. Tapi bila ketiga-tiganya
tidak sama maka cetak perkataan “SEMBARANG”. Tidak boleh menggunakan logical operator
AND dan OR.
2. Susun program untuk menginput tiga buah bilangan yang menyatakan nilai ujian tiga buah
mata kuliah.
 Cetak perkataan “TIGA” bila ketiga mata kuliah tersebut mendapat nilai lulus.
 Cetak perkataan “DUA”, bila hanya dua dari dari ketiga mata kuliah tersebut yang mendapat nilai
lulus.
 Cetak perkataan “SATU” bila hanya satu mata kuliah yang mendapat nilai lulus.
 Cetak perkataan “NOL” bila ketiga mata kuliah tersebut dinyatakan tidak lulus
Sebuah mata kuliah dinyatakan mendapat nilai lulus bila nilainya lebih besar atau sama dengan 60.
Terima kasih…

Anda mungkin juga menyukai