{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
dengan
x <= y Apakah x kurang dari sama
dengan y
> Lebih dari x > y Apakah x lebih dari y
>= Lebih dari sama
dengan
x >= y Apakah x lebih dari sama 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
MULAI
Deklarasi
A, B, C
Input
A, B, C
A > B
A > CB > C
Cetak
C
Cetak
B
Cetak
A
Cetak
C
1
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
Deklarasi
A, B, C, max
Input
A, B, C
A > max
Cetak
max1
1
SELESAI
max = A
B > max
max = B
2
C > max
2
max = C
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
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 / 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
Input
A, B, C
A > B &&
A > C
1
1
SELESAI
B > A &&
B > C
2
C > A &&
C > B
2
Cetak
A
Cetak
B
Cetak
C
Apa yang kita pelajari hari ini?
Struktur Kondisi IF dan IF…ELSE
if ( cond )
{ -
-
-
-
-
}
-
-
-
statements-true
next instruction
Flowchart
Bentuk Umum - 1
biasa disebut : Bentuk IF-THEN
cond
-
-
-
-
-
-
statements-
true
-
-
-
-
next instruction
TRUE
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
if ( cond )
{ -
-
-
-
-
}
-
-
-
Statements
true
next
instruction
Flowchart
cond
-
-
-
-
-
-
-
-
-
-
TRUE cond
-
-
-
-
-
-
-
-
-
-
TRUE
Penulisan PROGRAM
Terikat aturan / ketentuan
Penggambaran FLOWCHART
bebas
if ( cond )
{ -
-
-
-
-
}
else
{
-
-
-
-
-
}
-
-
-
statements-true
statements-false
next instruction
Flowchart
Bentuk Umum - 2
biasa disebut : Bentuk IF-THEN-ELSE
cond
-
-
-
-
-
-
-
-
-
-
-
-
statements-
false
statements-
true
-
-
-
-
next instruction
cond = condition
TRUEFALSE
Flowchart
Cara-Kerja
cond
-
-
-
-
-
-
-
-
-
-
-
-
statements-
false
statements-
true
-
-
-
-
next instruction
TRUEFALSE
if ( cond )
{ -
-
-
-
-}
else
{ -
-
-
-
-}
-
-
-
statements-true
statements-false
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
cond
-
-
-
-
-
-
-
-
-
-
-
-
falsetrue
-
-
-
-
next instruction
TRUE FALSE
Penulisan PROGRAM terikat aturan,
Penggambaran FLOWCHART bebas.
cond
-
-
-
-
-
-
-
-
-
-
-
-
false
true
-
-
-
-
next
instruction
TRUE
FALSE
Perhatikan kembali struktur IF-THEN-ELSE dan IF-THEN
Statement seperti yang sudah diterangkan sebagai berikut :
Cond
TRUEFALSE
S1S2
Cond
FALSE
TRUE
S1
Struktur
IF-THEN-ELSE
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 :
if (cond1)
{ if (cond2)
{ -
- S1
-
}
}
else { -
- S2
-
}
Cond1
Cond2
True
True
False
S1
S2 False
1)
Nested IF
2)
Cond1
Cond2
True
True
False
S1
S3
False
S2
if (cond1)
{if (cond2)
{-
- S1
-
}
else {-
- S2
-
}
}
else {-
- S3
-
}
Nested IF
Cond1
Cond2
True
True
False
S2False
Cond3
True
S4
False
S5
S1
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.
if cond1
{ -
- S1
-
if cond2
{ -
- S2
-
}
-
- S3
-
}
else
{if cond3
{ -
- S4
-
}
else
{ -
- S5
-
}
}
3)Nested IF
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…

Pertemuan 4 - Struktur Kondisi IF

  • 1.
    {Pertemuan 4 Struktur KondisiIF} ANALISIS DAN DESAIN ALGORITMA (PG157)
  • 2.
    Outline  Struktur KondisiIF  Struktur Kondisi IF…ELSE  Struktur Kondisi IF Bertingkat (Nested-IF)  Penggunaan Struktur Kondisi IF
  • 3.
    Masih ingat denganLatihan 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…..
  • 4.
    Soal Pertama 1. Buatlahalgoritma / 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?
  • 5.
    Soal Pertama 1. Buatlahalgoritma / 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
  • 6.
    Ingat kembali: OperatorPerbandingan Operator Arti Contoh < Kurang dari x < y Apakah x kurang dari y <= Kurang dari sama dengan x <= y Apakah x kurang dari sama dengan y > Lebih dari x > y Apakah x lebih dari y >= Lebih dari sama dengan x >= y Apakah x lebih dari sama dengan y == Sama dengan x == y Apakah x sama dengan y != Tidak sama dengan x != y Apakah x tidak sama dengan y
  • 7.
    Selanjutnya bikin Flowchartnya MULAI Deklarasi A,B, C Input A, B, C A > B A > CB > C Cetak C Cetak B Cetak A Cetak C 1 1 SELESAI
  • 8.
    Apakah ada caralain? SELALU akan ada cara yang lain
  • 9.
    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
  • 10.
    Flowchart – Cara2 MULAI Deklarasi A, B, C, max Input A, B, C A > max Cetak max1 1 SELESAI max = A B > max max = B 2 C > max 2 max = C
  • 11.
    Apakah ada caralain? SELALU akan ada cara yang lain
  • 12.
    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
  • 13.
  • 14.
    Apakah ada caralain? SELALU akan ada cara yang lain Temukan caramu sendiri!
  • 15.
    Bagaimana dengan SoalKedua? 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
  • 16.
    Ingat kembali: OperatorLogika && atau AND : Logika AND (DAN) || atau OR : Logika OR (ATAU) ! atau NOT : Logika NOT (INGKARAN)
  • 17.
    Ingat kembali: OperasiLogika 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
  • 18.
    Soal Kedua 1. Buatlahalgoritma / 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)
  • 19.
    Flowchart MULAI Deklarasi A, B, C Input A,B, C A > B && A > C 1 1 SELESAI B > A && B > C 2 C > A && C > B 2 Cetak A Cetak B Cetak C
  • 20.
    Apa yang kitapelajari hari ini? Struktur Kondisi IF dan IF…ELSE
  • 21.
    if ( cond) { - - - - - } - - - statements-true next instruction Flowchart Bentuk Umum - 1 biasa disebut : Bentuk IF-THEN cond - - - - - - statements- true - - - - next instruction TRUE 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
  • 22.
    if ( cond) { - - - - - } - - - Statements true next instruction Flowchart cond - - - - - - - - - - TRUE cond - - - - - - - - - - TRUE Penulisan PROGRAM Terikat aturan / ketentuan Penggambaran FLOWCHART bebas
  • 23.
    if ( cond) { - - - - - } else { - - - - - } - - - statements-true statements-false next instruction Flowchart Bentuk Umum - 2 biasa disebut : Bentuk IF-THEN-ELSE cond - - - - - - - - - - - - statements- false statements- true - - - - next instruction cond = condition TRUEFALSE
  • 24.
    Flowchart Cara-Kerja cond - - - - - - - - - - - - statements- false statements- true - - - - next instruction TRUEFALSE if (cond ) { - - - - -} else { - - - - -} - - - statements-true statements-false 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
  • 25.
    cond - - - - - - - - - - - - falsetrue - - - - next instruction TRUE FALSE PenulisanPROGRAM terikat aturan, Penggambaran FLOWCHART bebas. cond - - - - - - - - - - - - false true - - - - next instruction TRUE FALSE
  • 26.
    Perhatikan kembali strukturIF-THEN-ELSE dan IF-THEN Statement seperti yang sudah diterangkan sebagai berikut : Cond TRUEFALSE S1S2 Cond FALSE TRUE S1 Struktur IF-THEN-ELSE 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
  • 27.
    Dari ilustrasi strukturdiatas, 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 : if (cond1) { if (cond2) { - - S1 - } } else { - - S2 - } Cond1 Cond2 True True False S1 S2 False 1) Nested IF
  • 28.
    2) Cond1 Cond2 True True False S1 S3 False S2 if (cond1) {if (cond2) {- -S1 - } else {- - S2 - } } else {- - S3 - } Nested IF
  • 29.
    Cond1 Cond2 True True False S2False Cond3 True S4 False S5 S1 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. if cond1 { - - S1 - if cond2 { - - S2 - } - - S3 - } else {if cond3 { - - S4 - } else { - - S5 - } } 3)Nested IF
  • 30.
    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.
  • 31.