Analisis dan desain Algoritma (PG157)
{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 / fowchart 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 / fowchart untuk menginputkan 3 buah
bilangan bulat dan tampilkan bilangan TERBESAR diantara ketiganya (dianggap ketiga bilangan nilainya berbeda).
BOLEH MENGGUNAKAN OPERATOR LOGIKA
Soal Pertama
1. Buatlah algoritma / fowchart 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?
Soal Pertama
1. Buatlah algoritma / fowchart 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 TERB
- Jika B > A, maka B adalah kandidat TERBESAR
Ingat kembali: Operator Perbandingan Operat Arti Conto or h
< Kurang dari x < y Apakah x kurang dari y
<= Kurang dari sama x <= y Apakah x kurang dari dengan sama dengan y> Lebih dari x > y Apakah x lebih dari y >= Lebih dari sama x >= y Apakah x lebih dari sama dengan dengan y Selanjutnya bikin Flowchartnya MUL AI
Deklar asi A, B, C Input
A, B, C A > B
A > C B > C
Cetak C Cetak B
Cetak A Cetak C
1
1
Apakah ada cara lain?
SELALU akan ada cara yang lain Soal Pertama – Cara 2
1. Buatlah algoritma / fowchart 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)
Flowchart – Cara 2 MUL AI
Deklarasi
A, B, C, max Input
A, B, C A > max
Cetak max
1
1 max = A B > max
C > max 2 max =
C
Apakah ada cara lain?
SELALU akan ada cara yang lain Soal Pertama – Cara 3
1. Buatlah algoritma / fowchart 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
Flowchart – Cara 3
Apakah ada cara lain?
SELALU akan ada cara yang lain
Temukan caramu sendiri! Bagaimana dengan Soal Kedua?
1. Buatlah algoritma / fowchart 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 / fowchart untuk menginputkan 3 buah
bilangan bulat dan tampilkan bilangan TERBESAR diantara
ketiganya (dianggap ketiga bilangan nilainya berbeda).
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 A B Hasil
TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE A B Hasil
TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE Logika AND
Logika OR Soal Kedua
1. Buatlah algoritma / fowchart 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 MUL
1
2 AI A > B C > A &&
&& Deklarasi A > C
C > B
A, B, C
Cetak Cetak C A
Input
A, B, C B > A &&
SELES
1 B > C
AI
Apa yang kita pelajari hari ini?
Struktur Kondisi IF dan IF…ELSE
if ( cond ) {
Flowchart Bentuk Umum - 1 biasa disebut : Bentuk IF-THEN
Bentuk Umum - 1 biasa disebut : Bentuk
IF-THEN
cond
- }
- statements- true
- statements-true next instruction
next instruction TRUE Cara-Kerja
Bila nilai cond
- TRUE, maka kerjakan semua instruksi yang ada dalam statements-true
- Statements true next instruction
}
Flowchart cond
TRUE cond
TRUE
Penulisan PROGRAM Terikat aturan / ketentuan
Penggambaran FLOWCHART bebas
if ( cond ) {
Flowchart Bentuk Umum - 2 biasa disebut : Bentuk IF-THEN-ELSE
Bentuk Umum - 2 biasa disebut : Bentuk
IF-THEN-ELSE
cond
- } else {
- statements- false statements- true
- }
next instruction TRUE FALSE
- statements-true statements-false next instruction
Flowchart
- } else {
- }
- statements- false statements- true
- statements-true statements-false next instruction
Cara-Kerja
cond
next instruction TRUE FALSE
Bila nilai cond
- TRUE, maka kerjakan semua instruksi yang ada dalam statements-true
Setelah selesai, lanjutkan ke next-instruction
cond
- false true
- false true
next instruction TRUE FALSE
Penulisan PROGRAM terikat aturan, Penggambaran FLOWCHART bebas. cond
next instruction TRUE FALSE
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. Nested IF 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 { -
True
- S1
Cond2
- }
S2
False
S1
} else { -
- S2
2) if (cond1) {if (cond2)
True
False
{-
Cond1
- S1
- False True
}
Cond2
else {-
- S2
S3
- S2 S1
} } else {-
- S3
- }
3) if cond1 { -
- S1
True False
- Cond1
if cond2 { -
False
- S2
S1 Cond3 True
- }
- S5 S4
True
- S3
Cond2
- } else
False S2
{if cond3 { -
- S4
- } else
S3
{ -
- S5
- } }
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 Terima kasih…