Analisis dan desain Algoritma (PG157)

  {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 / fowchart 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 / fowchart untuk menginputkan 3 buah

  bilangan bulat dan tampilkan bilangan TERBESAR diantara ketiganya (dianggap ketiga bilangan nilainya berbeda).

BOLEH MENGGUNAKAN OPERATOR LOGIKA

  Soal Pertama

1. Buatlah algoritma / fowchart 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?

  Soal Pertama

1. Buatlah algoritma / fowchart 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 TERB
  • Jika B > A, maka B adalah kandidat TERBESAR

  Ingat kembali: Operator Perbandingan Operat Arti Conto   or h

  

< Kurang dari x < y Apakah x kurang dari y

<= Kurang dari sama x <= y Apakah x kurang dari dengan 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 Selanjutnya bikin Flowchartnya MUL AI

  Deklar asi A, B, C Input

  A, B, C A > B

  A > C B > C

  Cetak C Cetak B

  Cetak A Cetak C

  1

  1

  

Apakah ada cara lain?

SELALU akan ada cara yang lain Soal Pertama – Cara 2

1. Buatlah algoritma / fowchart 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)

  Flowchart – Cara 2 MUL AI

  Deklarasi

  A, B, C, max Input

  A, B, C A > max

  Cetak max

  1

  1 max = A B > max

  C > max 2 max =

  C

  

Apakah ada cara lain?

SELALU akan ada cara yang lain Soal Pertama – Cara 3

1. Buatlah algoritma / fowchart 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

  Flowchart – Cara 3

  

Apakah ada cara lain?

SELALU akan ada cara yang lain

  

Temukan caramu sendiri! Bagaimana dengan Soal Kedua?

1. Buatlah algoritma / fowchart 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 / fowchart untuk menginputkan 3 buah

  bilangan bulat dan tampilkan bilangan TERBESAR diantara

ketiganya (dianggap ketiga bilangan nilainya berbeda).

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 / fowchart 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 MUL

  1

  2 AI A > B C > A &&

  && Deklarasi A > C

  C > B

A, B, C

  Cetak Cetak C A

  Input

  A, B, C B > A &&

  SELES

1 B > C

  AI

  

Apa yang kita pelajari hari ini?

Struktur Kondisi IF dan IF…ELSE

  if ( cond ) {

  Flowchart Bentuk Umum - 1 biasa disebut : Bentuk IF-THEN

  Bentuk Umum - 1 biasa disebut : Bentuk

  IF-THEN

  cond

  • }
  • statements- true
  • statements-true next instruction

  next instruction TRUE Cara-Kerja

  Bila nilai cond

  • TRUE, maka kerjakan semua instruksi yang ada dalam statements-true
if ( cond ) { -

  • Statements true next instruction

  }

  Flowchart cond

  TRUE cond

  TRUE

  Penulisan PROGRAM Terikat aturan / ketentuan

  Penggambaran FLOWCHART bebas

  if ( cond ) {

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

  Bentuk Umum - 2 biasa disebut : Bentuk

  IF-THEN-ELSE

  cond

  • } else {
  • statements- false statements- true
  • }

  next instruction TRUE FALSE

  • statements-true statements-false next instruction
if ( cond ) {

  Flowchart

  • } else {
  • }
  • statements- false statements- true
  • statements-true statements-false next instruction

  Cara-Kerja

  cond

  next instruction TRUE FALSE

  Bila nilai cond

  • TRUE, maka kerjakan semua instruksi yang ada dalam statements-true

  Setelah selesai, lanjutkan ke next-instruction

  cond

  • false true
  • false true

  next instruction TRUE FALSE

  Penulisan PROGRAM terikat aturan, Penggambaran FLOWCHART bebas. cond

  next instruction TRUE FALSE

Nested IF Nested IF

  Perhatikan kembali struktur

  IF-THEN-ELSE dan

  IF- THEN Statement seperti yang sudah diterangkan

  sebagai berikut :

FALSE TRUE

  TRUE Cond Cond

  FALSE S2 S1 S1 Struktur

  Struktur

  IF-THEN-ELSE

  IF-THEN Dari ilustrasi struktur diatas, S adalah satu atau sekelompok statement. Nested IF 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)

  False True { if (cond2) Cond1 { -

  True

  • S1

  Cond2

  • }

  S2

  False

  S1

  } else { -

  • S2
Nested IF Nested IF

  2) if (cond1) {if (cond2)

  True

False

  {-

  Cond1

  • S1
  • False True

  }

  Cond2

  else {-

  • S2

  S3

  • S2 S1

  } } else {-

  • S3
  • }
Nested IF Nested IF

  3) if cond1 { -

  • S1

  True False

  • Cond1

  if cond2 { -

  False

  • S2

  S1 Cond3 True

  • }
  • S5 S4

  True

  • S3

  Cond2

  • } else

  False S2

  {if cond3 { -

  • S4
  • } else

  S3

  { -

  • S5
  • } }
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 Terima kasih…