Pertemuan 4 Struktur Kondisi IF ANALISIS DAN DESAIN

  • Slides: 31
Download presentation
{Pertemuan 4 Struktur Kondisi IF} ANALISIS DAN DESAIN ALGORITMA (PG 157)

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

Outline q Struktur Kondisi IF…ELSE q Struktur Kondisi IF Bertingkat (Nested-IF) q Penggunaan Struktur

Outline q Struktur Kondisi IF…ELSE q Struktur Kondisi IF Bertingkat (Nested-IF) q Penggunaan Struktur Kondisi IF

Masih ingat dengan Latihan ini? 1. Buatlah algoritma / flowchart untuk menginputkan 3 buah

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

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

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

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

Selanjutnya bikin Flowchartnya 1 MULAI A>B Deklarasi A, B, C B>C A>C Input A, B, C 1 Cetak C Cetak B SELESAI Cetak A

Apakah ada cara lain? SELALU akan ada cara yang lain

Apakah ada cara lain? SELALU akan ada cara yang lain

Soal Pertama – Cara 2 1. Buatlah algoritma / flowchart untuk menginputkan 3 buah

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 >

Flowchart – Cara 2 MULAI Deklarasi A, B, C, max 1 2 A > max C > max = A max = C Input A, B, C 1 Cetak max B > max = B 2 SELESAI

Apakah ada cara lain? SELALU akan ada cara yang lain

Apakah ada cara lain? SELALU akan ada cara yang lain

Soal Pertama – Cara 3 1. Buatlah algoritma / flowchart untuk menginputkan 3 buah

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 Cetak nilai max

Flowchart – Cara 3

Flowchart – Cara 3

Apakah ada cara lain? SELALU akan ada cara yang lain Temukan caramu sendiri!

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

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 q && atau AND : Logika AND (DAN) q ||

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

Ingat kembali: Operasi Logika AND Logika OR A B Hasil TRUE TRUE FALSE TRUE

Ingat kembali: Operasi Logika AND Logika OR A B Hasil TRUE TRUE FALSE TRUE FALSE TRUE FALSE FALSE

Soal Kedua 1. Buatlah algoritma / flowchart untuk menginputkan 3 buah bilangan bulat dan

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

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

Apa yang kita pelajari hari ini? Struktur Kondisi IF dan IF…ELSE

Bentuk Umum - 1 biasa disebut : Bentuk IF-THEN if ( cond ) {

Bentuk Umum - 1 biasa disebut : Bentuk IF-THEN if ( cond ) { } - statements-true Flowchart cond 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

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 if ( cond ) {

Bentuk Umum - 2 biasa disebut : Bentuk IF-THEN-ELSE if ( cond ) { } else { } - statements-true statements-false next instruction Flowchart FALSE - cond statementsfalse - TRUE - statementstrue next instruction cond = condition

if ( cond ) { } else { } - - Flowchart statements-true FALSE

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

Penulisan PROGRAM terikat aturan, Penggambaran FLOWCHART bebas. TRUE - cond FALSE - true - FALSE 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

Nested IF Perhatikan kembali struktur IF-THEN-ELSE dan IF-THEN Statement seperti yang sudah diterangkan sebagai berikut : FALSE Cond TRUE FALSE S 2 S 1 Struktur IF-THEN-ELSE S 1 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

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 (cond 1) { if (cond 2) { - S 1 } } else { - S 2 } False Cond 1 True Cond 2 S 2 False True S 1

Nested IF 2) if (cond 1) {if (cond 2) {- S 1 } else

Nested IF 2) if (cond 1) {if (cond 2) {- S 1 } else {- S 2 } } else {- S 3 } False Cond 1 True False S 3 S 2 Cond 2 True S 1

Nested IF 3) if cond 1 { - S 1 if cond 2 {

Nested IF 3) if cond 1 { - S 1 if cond 2 { - S 2 } - S 3 } else {if cond 3 { - S 4 } else { - S 5 } } False S 5 Cond 3 Cond 1 True S 1 S 4 Cond 2 True False S 3 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. S 2

Latihan di Kelas 1. Susun algoritma (program) untuk menginput 3 buah bilangan yang masing-masing

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. q Cetak perkataan “TIGA” bila ketiga mata kuliah tersebut mendapat nilai lulus. q Cetak perkataan “DUA”, bila hanya dua dari ketiga mata kuliah tersebut yang mendapat nilai lulus. q Cetak perkataan “SATU” bila hanya satu mata kuliah yang mendapat nilai lulus. q 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…

Terima kasih…