Top Banner
{Pertemuan 4 Struktur Kondisi IF} ANALISIS DAN DESAIN ALGORITMA (PG157)
31

Pertemuan 4 - Struktur Kondisi IF

Feb 17, 2017

Download

Education

Achmad Solichin
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pertemuan 4 - Struktur Kondisi IF

{Pertemuan 4 Struktur Kondisi IF}ANALISIS DAN DESAIN ALGORITMA (PG157)

Page 2: Pertemuan 4 - Struktur Kondisi IF

Outline Struktur Kondisi IF

Struktur Kondisi IF…ELSE

Struktur Kondisi IF Bertingkat (Nested-IF)

Penggunaan Struktur Kondisi IF

Page 3: Pertemuan 4 - 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…..

Page 4: Pertemuan 4 - Struktur Kondisi IF

Soal Pertama1. 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?

Page 5: Pertemuan 4 - Struktur Kondisi IF

Soal Pertama1. 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

Page 6: Pertemuan 4 - Struktur Kondisi IF

Ingat kembali: Operator PerbandinganOperator 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

Page 7: Pertemuan 4 - Struktur Kondisi IF

Selanjutnya bikin FlowchartnyaMULAI

Deklarasi A, B, C

Input A, B, C

A > B

A > CB > C

Cetak C

Cetak B

Cetak A

Cetak C

1

1

SELESAI

Page 8: Pertemuan 4 - Struktur Kondisi IF

Apakah ada cara lain?

SELALU akan ada cara yang lain

Page 9: Pertemuan 4 - Struktur Kondisi IF

Soal Pertama – Cara 21. 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

Page 10: Pertemuan 4 - Struktur Kondisi IF

Flowchart – Cara 2MULAI

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

Page 11: Pertemuan 4 - Struktur Kondisi IF

Apakah ada cara lain?

SELALU akan ada cara yang lain

Page 12: Pertemuan 4 - Struktur Kondisi IF

Soal Pertama – Cara 31. 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

Page 13: Pertemuan 4 - Struktur Kondisi IF

Flowchart – Cara 3

Page 14: Pertemuan 4 - Struktur Kondisi IF

Apakah ada cara lain?

SELALU akan ada cara yang lain

Temukan caramu sendiri!

Page 15: Pertemuan 4 - Struktur Kondisi IF

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

Page 16: Pertemuan 4 - Struktur Kondisi IF

Ingat kembali: Operator Logika&& atau AND : Logika AND (DAN) || atau OR : Logika OR (ATAU) ! atau NOT : Logika NOT (INGKARAN)

Page 17: Pertemuan 4 - Struktur Kondisi IF

Ingat kembali: Operasi LogikaA 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

Page 18: Pertemuan 4 - Struktur Kondisi IF

Soal Kedua1. 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)

Page 19: Pertemuan 4 - Struktur Kondisi IF

FlowchartMULAI

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

Page 20: Pertemuan 4 - Struktur Kondisi IF

Apa yang kita pelajari hari ini?

Struktur Kondisi IF dan IF…ELSE

Page 21: Pertemuan 4 - Struktur Kondisi IF

if ( cond ) { -

----

}

---

statements-true

next instruction

FlowchartBentuk Umum - 1biasa 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

Page 22: Pertemuan 4 - Struktur Kondisi IF

if ( cond ) { -

----

}

---

Statementstrue

next instruction

Flowchart

cond

------

----

TRUE cond

------

----

TRUE

Penulisan PROGRAMTerikat aturan / ketentuan

Penggambaran FLOWCHARTbebas

Page 23: Pertemuan 4 - Struktur Kondisi IF

if ( cond ) { -

----

}else { -

----

}

---

statements-true

statements-false

next instruction

Flowchart

Bentuk Umum - 2biasa disebut : Bentuk IF-THEN-ELSE

cond

------

------

statements-false

statements-true

----

next instruction

cond = condition

TRUEFALSE

Page 24: Pertemuan 4 - Struktur Kondisi IF

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

Page 25: Pertemuan 4 - Struktur Kondisi IF

cond

------

------

falsetrue

----

next instruction

TRUE FALSE

Penulisan PROGRAM terikat aturan,Penggambaran FLOWCHART bebas.

cond

------

------

falsetrue

----

next instruction

TRUE

FALSE

Page 26: Pertemuan 4 - Struktur Kondisi IF

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

CondTRUEFALSE

S1S2

Cond

FALSE

TRUE

S1

StrukturIF-THEN-ELSE

StrukturIF-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

Page 27: Pertemuan 4 - Struktur Kondisi 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

S1S2 False

1)

Nested IF

Page 28: Pertemuan 4 - Struktur Kondisi IF

2)

Cond1

Cond2

True

True

False

S1S3

False

S2

if (cond1) {if (cond2) {- - S1 - } else {- - S2 - } } else {- - S3 - }

Nested IF

Page 29: Pertemuan 4 - Struktur Kondisi 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

Page 30: Pertemuan 4 - Struktur Kondisi IF

Latihan di Kelas1. 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 lulusSebuah mata kuliah dinyatakan mendapat nilai lulus bila nilainya lebih besar atau sama dengan 60.

Page 31: Pertemuan 4 - Struktur Kondisi IF

Terima kasih…