{Pertemuan 4 Struktur Kondisi IF ANALISIS DAN DESAIN ALGORITMA (PG157)
Outline Struktur Kondisi IF Struktur Kondisi IF ELSE Struktur Kondisi IF Bertingkat (NestedIF) 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 x >= y Apakah x lebih dari sama dengan 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 1 Deklarasi A, B, C B > C A > B A > C Input A, B, C 1 Cetak C Cetak C Cetak C Cetak C 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 1 2 Deklarasi A, B, C, max Input A, B, C 1 A > max B > max max = A C > max Cetak max max = C max = B SELESAI 2
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 atau OR! atau NOT : Logika AND (DAN) : Logika OR (ATAU) : Logika NOT (INGKARAN)
Ingat kembali: Operasi Logika Logika AND A B Hasil TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE Logika OR A B Hasil TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE 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 1 2 Deklarasi A, B, C Input A, B, C A > B && A > C Cetak A C > A && C > B Cetak C 1 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 IFTHEN Flowchart if ( cond ) { statementstrue next instruction cond Bila nilai cond TRUE, maka kerjakan semua instruksi yang ada dalam statementstrue Setelah selesai, lanjutkan ke nextinstruction CaraKerja FALSE, maka langsung meloncat mengerjakan isnstruksi yang ada di nextinstruction TRUE statementstrue next instruction
if ( cond ) { Statements true next instruction cond Flowchart TRUE cond TRUE Penulisan PROGRAM Terikat aturan / ketentuan Penggambaran FLOWCHART bebas
Bentuk Umum 2 biasa disebut : Bentuk IFTHENELSE if ( cond ) { else { statementstrue statementsfalse next instruction FALSE Flowchart cond TRUE statementsfalse statementstrue next instruction cond = condition
if ( cond ) { statementstrue Flowchart else { CaraKerja statementsfalse next instruction FALSE cond TRUE Bila nilai cond TRUE, maka kerjakan semua instruksi yang ada dalam statementstrue Setelah selesai, lanjutkan ke nextinstruction FALSE, maka kerjakan semua instruksi yang ada dalam statementsfalse Setelah selesai, lanjutkan ke nextinstruction statementsfalse statementstrue next instruction
Penulisan PROGRAM terikat aturan, Penggambaran FLOWCHART bebas. TRUE cond FALSE cond FALSE true false true TRUE false next instruction next instruction
Nested IF Perhatikan kembali struktur IFTHENELSE dan IFTHEN Statement seperti yang sudah diterangkan sebagai berikut : FALSE Cond TRUE Cond TRUE FALSE S2 S1 S1 Struktur IFTHENELSE Struktur IFTHEN 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 S2 False Cond1 True Cond2 False True S1
Nested IF 2) if (cond1) {if (cond2) { S1 else { S2 else { S3 False S3 Cond1 True False S2 Cond2 True S1
Nested IF 3) if cond1 { S1 if cond2 { S2 S3 else {if cond3 { S4 else { S5 False S5 Cond3 False Cond1 True S4 True S1 True Cond2 S3 False S2 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.
Latihan di Kelas 1. Susun algoritma (program) untuk menginput 3 buah bilangan yang masingmasing 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 ketigatiganya 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