Aliran Kendali Flow Control Pernyataanpernyataan yang menentukan urutan

  • Slides: 19
Download presentation
Aliran Kendali (Flow Control) Pernyataan-pernyataan yang menentukan urutan eksekusi § Pernyataan/struktur berurutan (sequence) §

Aliran Kendali (Flow Control) Pernyataan-pernyataan yang menentukan urutan eksekusi § Pernyataan/struktur berurutan (sequence) § Pencabangan bersyarat (selection, conditional structure) § if, if-else, switch-case § Pengulangan (repetition, iteration, loop) § for, while, do-while Pemrograman Lanjut: Aliran Kendali 1

Pencabangan bersyarat Dalam sebuah algoritma, seringkali suatu atau sekelompok instruksi harus dilaksanakan bila suatu

Pencabangan bersyarat Dalam sebuah algoritma, seringkali suatu atau sekelompok instruksi harus dilaksanakan bila suatu persyaratan dipenuhi (bernilai benar) dan sebaliknya, dilewati atau tidak dilaksanakan jika persyaratan tersebut tidak dipenuhi (bernilai salah). Menggunakan if else jika Kondisi/syarat , Expresi boolean, Jika memenuhi syarat, Jika tidak memenuhi Pernyataan pencabangan bersyarat terdiri dari: if, if-else switch-case Pemrograman Lanjut: Aliran Kendali 2

Pernyataan if Penggambaran dalam flow-chart Statements sebelum if Boolean Eks. boolean expression true false

Pernyataan if Penggambaran dalam flow-chart Statements sebelum if Boolean Eks. boolean expression true false Statement; . . . Statements setelah if Pemrograman Lanjut: Aliran Kendali 3

Pernyataan if Sintaks : if (boolean expression)statement; atau if (boolean expression) { statement 1;

Pernyataan if Sintaks : if (boolean expression)statement; atau if (boolean expression) { statement 1; statement 2; …… } Block statement Jika ekspresi boolean bernilai TRUE, maka statement atau block statement akan dilaksanakan. Pemrograman Lanjut: Aliran Kendali 4

Pernyataan if-else Penggambaran if-else dalam flow-chart Statements sebelum if false Boolean Eks. boolean expression

Pernyataan if-else Penggambaran if-else dalam flow-chart Statements sebelum if false Boolean Eks. boolean expression Statement_11; Statement_12; . . . true Statement_01; Statement_02; . . . Statements setelah if Pemrograman Lanjut: Aliran Kendali 5

Pernyataan if-else Sintaks : if (ekspresi boolean) statement_01; else statement_02; atau if (ekspresi boolean)

Pernyataan if-else Sintaks : if (ekspresi boolean) statement_01; else statement_02; atau if (ekspresi boolean) { statement_01; …… Block statement_01 } else { statement_02; Block statement_02 …. . . } Jika ekspresi boolean bernilai TRUE, maka statement_01 atau block statement_01 yang dilaksanakan, jika bernilai FALSE maka statement_02 atau block statement_02 yang dilaksanakan. Pemrograman Lanjut: Aliran Kendali 6

Pernyataan if-else Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan

Pernyataan if-else Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung diskriminan d = b*b – 4*a*c 3. Bila d >= 0 maka hitung x 1 dan x 2 Bila d < 0 maka print akar imajiner dan stop 4. Stop Menghitung x 1, dengan rumus : -b + d 2*a Menghitung x 2, dengan rumus : -b - d 2*a Pemrograman Lanjut: Aliran Kendali 7

Latihan 1. Buatlah pseudocode dari suatu permasalahan penentuan kelulusan mahasiswa. Kelulusan ditentukan dari suatu

Latihan 1. Buatlah pseudocode dari suatu permasalahan penentuan kelulusan mahasiswa. Kelulusan ditentukan dari suatu nilai yang dimasukkan. Jika nilai yang dimasukkan lebih besar atau sama dengan 60, maka munculkan pesan “Mahasiswa Lulus” 2. Modifikasi program no 1 dengan menambahkan kondisi ketika nilai yang dimasukkan kurang dari 60, maka munculkan pesan “Mahasiswa Gagal” Pemrograman Lanjut: Aliran Kendali 8

Pernyataan if-else Konstruksi if-else dapat digunakan secara bertingkat atau bersarang (nested) Contoh: Semua statements

Pernyataan if-else Konstruksi if-else dapat digunakan secara bertingkat atau bersarang (nested) Contoh: Semua statements dalam level yang sama if (boolean exp) { statement; } else { statement; } Pemrograman Lanjut: Aliran Kendali 9

Pernyataan if-else Contoh: Konstruksi if-else bersarang; terdapat statements dalam level yang berbeda if (boolean

Pernyataan if-else Contoh: Konstruksi if-else bersarang; terdapat statements dalam level yang berbeda if (boolean exp) { statement; } else if (boolean exp) { if (boolean exp) statement; else statement; } else { statement; } Pemrograman Lanjut: Aliran Kendali 10

Pernyataan if-else Apa perbedaan dari kedua code dibawah ini if ( x > 5

Pernyataan if-else Apa perbedaan dari kedua code dibawah ini if ( x > 5 ) if ( y > 5 ) System. out. println( "x and y are > 5" ); else System. out. println( "x is <= 5" ); if ( x > 5 ) { if ( y > 5 ) System. out. println( "x and y are > 5" ); } else System. out. println( "x is <= 5" ); Pemrograman Lanjut: Aliran Kendali 11

Pernyataan if Pemrograman Lanjut: Aliran Kendali 12

Pernyataan if Pemrograman Lanjut: Aliran Kendali 12

Pernyataan switch-case dapat dipergunakan sebagai pengganti pernyataan if-else, jika pernyataan if-else bertingkat terlalu banyak,

Pernyataan switch-case dapat dipergunakan sebagai pengganti pernyataan if-else, jika pernyataan if-else bertingkat terlalu banyak, sehingga menjadi sulit dibaca. Sintaks pernyataan switch-case switch (int or char expression) { case constant 1 : statements 1; break; case constant 2 : statements 2; break; … [ default : statements; ] } Pemrograman Lanjut: Aliran Kendali 13

Pernyataan switch-case Pernyataan switch mengevaluasi ekspresi dan kemudian melihat isi case constant. Jika nilai

Pernyataan switch-case Pernyataan switch mengevaluasi ekspresi dan kemudian melihat isi case constant. Jika nilai ekspresi ada didalam constant list maka pernyataan dieksekusi. Jika tidak ada yang cocok, pernyataan default yang dieksekusi. Catatan: Nilai ekspresi harus integer atau character dan constant harus integer constant termasuk char constant. Pemrograman Lanjut: Aliran Kendali 14

Pernyataan switch-case Struktur logika switch-case dapat digambarkan sbb. : case a false case b

Pernyataan switch-case Struktur logika switch-case dapat digambarkan sbb. : case a false case b true case a action(s) break case b action(s) break case z action(s) break false case z true false default action(s) Pemrograman Lanjut: Aliran Kendali 15

Pernyataan switch-case Pemrograman Lanjut: Aliran Kendali 16

Pernyataan switch-case Pemrograman Lanjut: Aliran Kendali 16

Latihan 1. Modifikasi pseudocode latihan sebelumnya dengan menambahkan batasan nilai atas sebesar 100 dan

Latihan 1. Modifikasi pseudocode latihan sebelumnya dengan menambahkan batasan nilai atas sebesar 100 dan nilai bawah sebesar 0. Munculkan pesan bahwa “nilai yang dimasukkan di luar range penilaian” jika nilai tersebut kurang dari 0 atau lebih dari 100. Pemrograman Lanjut: Aliran Kendali 17

Latihan Seorang bendahara membutuhkan program untuk menghitung besar tunjangan yang harus dibayarkan oleh setiap

Latihan Seorang bendahara membutuhkan program untuk menghitung besar tunjangan yang harus dibayarkan oleh setiap pegawainya. Adapun ketetuan perhitungan mengikuti aturan berikut: – Perhitungan tunjangan didasarkan pada besarnya Gaji kotor dan jumlah anak dari pegawai tersebut – Jika kurang dari atau sama dengan 2 anak maka persentase tunjangan adalah 20%, namun jika lebih dari 2 anak maka besar tunjangan adalah 30%. – Persentase tersebut dihitung dari gaji kotor yang diterima masing-masing pegawai. Buatlah program komputer untuk membantu bendahara tersebut ! Pemrograman Lanjut: Aliran Kendali 18

Tugas 1. Buatlah program untuk mengkonversikan nilai mahasiswa ke bentuk huruf dengan ketentuan :

Tugas 1. Buatlah program untuk mengkonversikan nilai mahasiswa ke bentuk huruf dengan ketentuan : – – – Nilai minimal adalah 0 dan nilai maksimal adalah 100 Cetak A jika nilainya lebih besar atau sama dengan 80 Cetak B jika nilainya antara 70 sampai 79 Cetak C jika nilainya antara 60 sampai 69 Cetak D jika nilainya antara 50 sampai 59 Cetak E untuk nilai yang lain Pemrograman Lanjut: Aliran Kendali 19