17
SELECTION Pemrograman Dasar

A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

S E L E C T I O N

Pemrograman Dasar

Page 2: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Aliran Kendali (Flow Control) 2

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

Page 3: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pencabangan bersyarat

3

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).

Pernyataan pencabangan bersyarat terdiri dari:

if, if-else

switch-case

Page 4: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan IF

4

Penggambaran if dalam flow-chart

Eks.boolean

Statement; Statement;

...

true

false

Statements sebelum if

Statements setelah if

Boolean expression

Statement; Statement;

...

Page 5: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan IF 5

Sintaks :

if (boolean expression)statement;

atau

if (boolean expression)

{ statement1; statement2; …… }

Jika ekspresi boolean bernilai TRUE, maka statement atau block statement akan dilaksanakan.

Block statement

Page 6: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan IF-ELSE

6

Penggambaran if-else dalam flow-chart

Statements sebelum if

Statements setelah if

Eks.boolean

Statement_01; Statement_02;

...

true false

Statement_11; Statement_12;

...

Boolean expression

Statement_01; Statement_02;

...

Statement_11; Statement_12;

...

Page 7: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan IF-ELSE 7

Sintaks :

if (ekspresi boolean) statement_01; else statement_02; atau

if (ekspresi boolean) { statement_01; …… } else { 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.

Block statement_01

Block statement_02

Page 8: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan IF-ELSE

8

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 x1 dan x2

Bila d < 0 maka print akar imajiner dan stop

4. Stop

Menghitung x1, dengan rumus :

Menghitung x2, dengan rumus :

-b + d

2*a

-b - d

2*a

Page 9: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan IF-ELSE

9

Contoh : 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);

x2 = (-b - sqrt(d)) / (2 * a);

printf("\nx1=%f\nx2=%f\n\n",x1,x2);

}

else printf("Akar Persamaan Imajiner\n\n");

}

Page 10: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan IF -ELSE 10

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;

}

Page 11: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan IF-ELSE 11

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;

}

Page 12: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan if

12

Page 13: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan switch-case

13

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 constant1 : statements1;

break;

case constant2 : statements2;

break;

[ default : statements; ]

}

Page 14: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan switch-case 14

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.

Page 15: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan switch-case

15

Struktur logika switch-case dapat digambarkan sbb.:

case b

case a

case z

case a action(s)

case b action(s)

case z action(s)

break

break

break

default action(s)

true

true

true

false

false

false

case b

case a

case z

case a action(s)

case b action(s)

case z action(s)

break

break

break

default action(s)

Page 16: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan switch-case

16

Contoh :

main(){

float bil1, bil2; char op;

input bil1, bil2, op;

switch(op){

case '+': printf(" = %f", bil1 + bil2); break;

case '-': printf(" = %f", bil1 - bil2); break;

case '*': printf(" = %f", bil1 * bil2); break;

case '/': printf(" = %f", bil1 / bil2); break;

default: printf("operator TAK DIKENAL");

}

printf("\n\n");

}

Page 17: A Glimpse of Software Development Lifecycle · Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung

Pernyataan switch-case

17