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
18
Embed
Aliran Kendali (Flow Control) - Afif Supianto Blog · Pemrograman Lanjut: Aliran Kendali 1 ... Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. ... Latihan 1. Buatlah
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
Aliran Kendali (Flow Control)
Pernyataan-pernyataan yang menentukan urutan eksekusi Pernyataan/struktur berurutan (sequence)
Pengulangan (repetition, iteration, loop) for, while, do-while
Pemrograman Lanjut: Aliran Kendali 1
Dalam sebuah algoritma, seringkali suatu atausekelompok instruksi harus dilaksanakan bila suatupersyaratan dipenuhi (bernilai benar) dan sebaliknya,dilewati atau tidak dilaksanakan jika persyaratantersebut tidak dipenuhi (bernilai salah).
Pernyataan pencabangan bersyarat terdiri dari: if, if-else switch-case
2Pemrograman Lanjut: Aliran Kendali
Pencabangan bersyarat
Penggambaran dalam flow-chart
3
Eks.boolean
Statement;Statement;
...
true
false
Statements sebelum if
Statements setelah if
Booleanexpression
Statement;Statement;
...
Pemrograman Lanjut: Aliran Kendali
Pernyataan if
Sintaks :if (boolean expression)statement;
atau
if (boolean expression)
{statement1;statement2;……
}
Jika ekspresi boolean bernilai TRUE, maka statement atau block statement akan dilaksanakan.
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.
6
Block statement_01
Block statement_02
Pemrograman Lanjut: Aliran Kendali
Pernyataan if-else
Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat.
Algoritma :1. Dapatkan koefisien a, b, dan c dari keyboard2. Hitung diskriminan d = b*b – 4*a*c3. Bila d >= 0 maka hitung x1 dan x2
Bila d < 0 maka print akar imajiner dan stop4. Stop
Menghitung x1, dengan rumus :
Menghitung x2, dengan rumus :
7
-b + d
2*a
-b - d
2*aPemrograman Lanjut: Aliran Kendali
Pernyataan if-else
Contoh :
8
main(){ float a,b,c,d,x1,x2;
printf("PERHITUNGAN AKAR PERS. KUADRAT\n\n");printf("Masukan koef. a : "); a=input.nextInt;printf("Masukan koef. b : "); b=input.nextInt;printf("Masukan koef. c : "); c=input.nextInt;d = b*b - 4 * a * c;if (d >= 0){ x1 = (-b + sqrt(d)) / (2 * a);
Konstruksi if-else dapat digunakan secara bertingkat atau bersarang (nested)
Contoh:
Semua statements dalam level yang sama
if (boolean exp) {
statement;
}
else if (boolean exp) {
statement;
}
else {
statement;
} 9Pemrograman Lanjut: Aliran Kendali
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;
} 10Pemrograman Lanjut: Aliran Kendali
Pernyataan if-else
11Pemrograman Lanjut: Aliran Kendali
Pernyataan if
Pernyataan switch-case dapat dipergunakan sebagaipengganti pernyataan if-else, jika pernyataan if-elsebertingkat terlalu banyak, sehingga menjadi sulit dibaca.
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 constantharus integer constant termasuk char constant.
13Pemrograman Lanjut: Aliran Kendali
Pernyataan switch-case
Struktur logika switch-case dapat digambarkan sbb.:
mahasiswa lulus atau tidak dengan masukan suatu nilai, jika nilainya lebih besar atau sama dengan 60, maka muncul pesan lulus, kalau tidak maka muncul pesan gagal
2. Modifikasi program no 1 dengan menambahkan batasan nilai atas dan nilai bawah. Munculkan pesan bahwa nilai yang dimasukkan di luar range penilian jika nilai tersebut kurang dari 0 atau lebih dari 100
Pemrograman Lanjut: Aliran Kendali 17
Tugas1. Buatlah program untuk mengkonversikan nilai
mahasiswa ke bentuk huruf :– Cetak A jika nilainya lebih besar atau sama dengan 81– 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