{Pertemuan 1}

advertisement
{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
<=
Kurang dari sama x <= y
dengan
>
Lebih dari
x>y
>=
Lebih
dari
sama x >= y
dengan
==
Sama dengan
x == y
!=
Tidak sama dengan
x != y
Apakah x kurang dari y
Apakah x kurang dari sama
dengan y
Apakah x lebih dari y
Apakah x lebih dari sama dengan
y
Apakah x sama dengan 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
1
Cetak
C
Cetak
C
Cetak
C
SELESAI
Cetak
C
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
Deklarasi
A, B, C, max
1
2
A > max
C > max
max = A
max = C
Input
A, B, C
1
Cetak
max
B > max
max = B
2
SELESAI
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
Deklarasi
A, B, C
1
2
A > B &&
A>C
C > A &&
C>B
Input
A, B, C
1
Cetak
C
Cetak
A
B > A &&
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
if ( cond )
{
}
-
Flowchart
cond
TRUE
statements-true
-
statementstrue
next instruction
Cara-Kerja
-
next instruction
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
cond
-
next
instruction
Penulisan PROGRAM
Terikat aturan / ketentuan
TRUE
-
cond
TRUE
-
-
Penggambaran FLOWCHART
bebas
Bentuk Umum - 2
biasa disebut : Bentuk IF-THEN-ELSE
Flowchart
if ( cond )
{
}
else
{
}
-
statements-true
FALSE
-
cond
statementsfalse
TRUE
-
statementstrue
statements-false
next instruction
-
next instruction
cond = condition
if ( cond )
{
}
else
{
} -
-
Flowchart
statements-true
FALSE
statements-false
-
cond
TRUE
-
statementsfalse
statementstrue
next instruction
Cara-Kerja
-
next instruction
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.
TRUE
cond
FALSE
cond
FALSE
TRUE
-
-
true
-
false
next instruction
true
-
-
-
false
next
instruction
Nested IF
Perhatikan kembali struktur IF-THEN-ELSE dan IF-THEN
Statement seperti yang sudah diterangkan sebagai berikut :
FALSE
Cond
TRUE
Cond
TRUE
FALSE
S2
S1
Struktur
IF-THEN-ELSE
S1
Struktur
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)
{ if (cond2)
{ - S1
}
}
else { - S2
}
False
Cond1
True
Cond2
S2
False
True
S1
Nested IF
2)
if (cond1)
{if (cond2)
{- S1
}
else {- S2
}
}
else {- S3
}
False
Cond1
True
False
S3
S2
Cond2
True
S1
Nested IF 3)
if cond1
{ - S1
if cond2
{ - S2
}
- S3
}
else
{if cond3
{ - S4
}
else
{ - S5
}
}
False
False
S5
Cond3
Cond1
True
True
S1
S4
Cond2
True
False
S3
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.
S2
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…
Download