Pendalaman Materi Conditional dan Repetition Pengulangan IF THEN

  • Slides: 46
Download presentation
Pendalaman Materi Conditional dan Repetition (Pengulangan)

Pendalaman Materi Conditional dan Repetition (Pengulangan)

IF THEN Bersarang Input (nilai) IF nilai > 85 AND nilai <= 100 THEN

IF THEN Bersarang Input (nilai) IF nilai > 85 AND nilai <= 100 THEN Output (‘Nilai mutu = A’) ELSE IF nilai > 60 AND nilai <= 85 THEN Output (‘Nilai mutu = B’) ELSE IF nilai > 45 AND nilai <= 60 THEN Output (‘Nilai mutu = C’) ELSE IF nilai > 30 AND nilai <= 45 THEN Output (‘Nilai mutu = D’) ELSE Output (‘Nilai mutu = E’) 5. The value variable of nilai = 60, the result is ‘Nilai mutu = B’. 6. The value variable of nilai = 101, the result is ‘Nilai mutu = E’. 7. The value variable of nilai = -5, the result is ‘Error’.

Write the algorithm to calculate cost of electricity with following constraints : (KWHs) Rate

Write the algorithm to calculate cost of electricity with following constraints : (KWHs) Rate 0 - 500 2000 501 - 1000 2000 + 0. 03 * per KWH under 500 over 1001 3500 + 0. 02 * per KWH under 1000 • Enter the values of previous month meters, current month meter, and then displays the total cost which would exist.

Loops notation 1. While-Do 2. Repeat-Until, and 3. For-to-Do 4

Loops notation 1. While-Do 2. Repeat-Until, and 3. For-to-Do 4

WHILE-DO-ENDWHILE • it allows a {group of} program statement(s) to be executed a number

WHILE-DO-ENDWHILE • it allows a {group of} program statement(s) to be executed a number of times. • The program statement(s) are executed when the condition evaluates as true. • Somewhere inside the loop the value of the variable which is controlling the loop (ie, being tested in the condition) must change so that the loop can finally exit. 5

The structure of the WHILE. . . DO. . . statement. . . {initiation}

The structure of the WHILE. . . DO. . . statement. . . {initiation} WHILE (condition) DO program statement … counter statement. . . • • Counted loops are special types of pre-test loops. They are used when a known number of repetitions will occur. condition is the Boolean Expression, whether it be AND, OR, or NOT, is first carried out. If the result is TRUE, the DO statement will then be performed. However, if the result is FALSE, the DO statement will not be executed Iteration will be controlled by Counter statement, wether it be increase or decrease The value of counter will be changed at the end of loop. 6

Flowchart WHILE. . . DO. . . START {initiationi} No condition = true? yes

Flowchart WHILE. . . DO. . . START {initiationi} No condition = true? yes action {changing counter} END 7

Example 1 Pseudocode WHILE there is pressure on the mat Sound the bell Flowchart

Example 1 Pseudocode WHILE there is pressure on the mat Sound the bell Flowchart Pressure on mat? F T Sound bell 8

Example 2 Pseudocode OUTPUT('before loop starts') i 0 { Initialize counter variable } WHILE

Example 2 Pseudocode OUTPUT('before loop starts') i 0 { Initialize counter variable } WHILE (i <= 5) DO { Loop with predicate in ()} i i+1 {Increment counter variable} OUTPUT('iteration number ', i) OUTPUT('after loop ends') 9

Execution • generates the output Iteration no. i i <= 5 ? i i+1

Execution • generates the output Iteration no. i i <= 5 ? i i+1 Output before loop starts l iteration number 1 1 0 True 1 2 1 True 2 iteration number 2 3 2 True 3 iteration number 3 4 3 True 4 iteration number 4 5 4 True 5 iteration number 5 6 5 True 6 7 6 False iteration number 6 after loop ends Here, the loop predicate is the relational test "i <= 5", which causes the loop to terminate after i is incremented to six. 10

Example 3 i 0 WHILE (i < 5) DO Output (‘*’) i i+1 {initialize}

Example 3 i 0 WHILE (i < 5) DO Output (‘*’) i i+1 {initialize} {number of iteration} {statement} {increment counter} The result of program : * * * 11

Example 4 • Program with enter the value of 3 student’s scores : Pseudocode

Example 4 • Program with enter the value of 3 student’s scores : Pseudocode i 1 WHILE i <= 3 DO Output (‘Score student no-‘, i, ’ is: ’) Input (score) i i+1 • Execution : – Score student no-1 is : __ – Score student no-2 is : __ – Score student no-3 is : __ 12

Example 5 • Average of 3 numbers number 0 {initialize} count 3 {counters} WHILE

Example 5 • Average of 3 numbers number 0 {initialize} count 3 {counters} WHILE count > 0 DO Input (x) number + x count – 1 average number/ 3 Output (average) {enter value of x} {sum of x variables} {decrement counter variable} {calculate the average} 13

REPEAT-UNTIL • Post-test loops tests the condition at the end of the loop. •

REPEAT-UNTIL • Post-test loops tests the condition at the end of the loop. • The process in the loop is executed first whether it is true or false and will keep repeating until the condition is met. • Post-test loops end when the condition is true but the loop always do the loop at least once, even if the end condition is originally true. • Post-test loops are also called unguarded loops because no check is made before the algorithm begins the loop structure. 14

The structure of the REPEAT-UNTIL statement. . . {initialize} REPEAT program statement counter variable

The structure of the REPEAT-UNTIL statement. . . {initialize} REPEAT program statement counter variable UNTIL (condition). . . 15

Flowchart REPEAT-UNTIL MULAI START {inisialisasi} {initialize} Programaksi statement {action} Counter changes No condition =

Flowchart REPEAT-UNTIL MULAI START {inisialisasi} {initialize} Programaksi statement {action} Counter changes No condition = true? yes END 16

Example 1 Flowchart Pseudocode REPEAT Take out item Take out one item UNTIL bag

Example 1 Flowchart Pseudocode REPEAT Take out item Take out one item UNTIL bag is empty F Is bag empty? T 17

Example 2 Pseudocode OUTPUT('before loop starts') i 0 { Initialize counter variable } REPEAT

Example 2 Pseudocode OUTPUT('before loop starts') i 0 { Initialize counter variable } REPEAT i i+1 {Increment counter variable} OUTPUT('iteration number ', i) UNTIL (i= 5) { termination} OUTPUT('after loop ends') 18

Execution • generates the output Iteration no. i i i+1 Output i=5? before loop

Execution • generates the output Iteration no. i i i+1 Output i=5? before loop starts iteration number 1 1 0 1 False 2 1 2 iteration number 2 False 3 2 3 iteration number 3 False 4 3 4 iteration number 4 False 5 4 5 iteration number 5 True 6 5 6 after loop ends 19

Example 3 i 0 {initialize} REPEAT Output (‘*’) {action statement} i i+1 {increment counter}

Example 3 i 0 {initialize} REPEAT Output (‘*’) {action statement} i i+1 {increment counter} UNTIL i=5 {end loop} The result of program : * * * 20

Example 4 • Program with enter the value of 3 student’s scores : Pseudocode

Example 4 • Program with enter the value of 3 student’s scores : Pseudocode i 1 REPEAT Output (‘Score student no-‘, i, ’ is: ’) Input (score) i i+1 UNTIL i = 3 • Execution : – Score student no-1 is : __ – Score student no-2 is : __ – Score student no-3 is : __ 21

Example 5 • Average of 3 numbers number 0 {initialize} count 3 {counters} REPEAT

Example 5 • Average of 3 numbers number 0 {initialize} count 3 {counters} REPEAT Input (x) number + x count – 1 UNTIL count=0 average number/ 3 Output (average) {input value of x} {sum of x variables} {decrement counter variable} {calculate the average} 22

FOR-TO-DO • The statement inside the for block is executed a number of times

FOR-TO-DO • The statement inside the for block is executed a number of times depending on the control condition. • A loop index or loop counter is an integer variable that is used to keep track of how many times a loop has executed. • A loop limit is a variable or constant that is integer-valued, which determines the number of times a loop will execute, or a maximum value of the loop index to be reached at loop termination. . • A loop increment is the step size for incrementing the loop counter. 23

The structure of the FOR-TO-DO statement FOR counter variable initial_value TO final_value program statement

The structure of the FOR-TO-DO statement FOR counter variable initial_value TO final_value program statement 24

Flowchart FOR-TO-DO START {initialize} Counter >= initial_value AND counter <= final_value ? No yes

Flowchart FOR-TO-DO START {initialize} Counter >= initial_value AND counter <= final_value ? No yes action END 25

Example 1 Flowchart START Pseudocode FOR x 1 TO 5 DO x >=1 AND

Example 1 Flowchart START Pseudocode FOR x 1 TO 5 DO x >=1 AND x <= 5 ? No output (x) yes output (x) END 26

Example 2 Pseudocode OUTPUT('before loop starts') FOR i = 1 TO 5 DO OUTPUT('iteration

Example 2 Pseudocode OUTPUT('before loop starts') FOR i = 1 TO 5 DO OUTPUT('iteration number ', i) OUTPUT('after loop ends') 27

Execution • generates the output Iteration no. i i >=1 AND i<= 5 ?

Execution • generates the output Iteration no. i i >=1 AND i<= 5 ? Output before loop starts iteration number 1 1 1 True 2 2 True iteration number 2 3 3 True iteration number 3 4 4 True iteration number 4 5 5 True iteration number 5 6 6 False after loop ends 28

Example 3 FOR i 1 TO 5 DO Output (‘*’) {action statement} The result

Example 3 FOR i 1 TO 5 DO Output (‘*’) {action statement} The result of program : * * * 29

Example 4 • Program with enter the value of 3 student’s scores : Pseudocode

Example 4 • Program with enter the value of 3 student’s scores : Pseudocode FOR i 1 TO 3 DO Output (‘Score student no-‘, i, ’ is: ’) Input (score) • Execution : – Score student no-1 is : __ – Score student no-2 is : __ – Score student no-3 is : __ 30

Example 5 • Average of 3 numbers number 0 {initialize} FOR i 1 TO

Example 5 • Average of 3 numbers number 0 {initialize} FOR i 1 TO 3 DO Input (x) number + x average number/ 3 Output (average) {input value of x} {sum of x variables} {calculate the average} 31

Contoh Nested Loop (pengulangan bersarang) FOR i 0 TO 4 DO FOR j 0

Contoh Nested Loop (pengulangan bersarang) FOR i 0 TO 4 DO FOR j 0 TO 2 DO Output (‘*’) {aksi} Program output : *** *** *** 32

Contoh Nested Loop (pengulangan bersarang) • Input values of 3 student’s score that have

Contoh Nested Loop (pengulangan bersarang) • Input values of 3 student’s score that have 2 different values FOR i 1 TO 3 DO Output (‘Student score no-‘, i, ’ are ’) FOR j 1 TO 2 DO Output (‘Score ’, j, ’ : ’) Input (score) • Running : Student score no- 1 are Score, 1 : _ Score, 2 : _ Student score no- 2 are Score, 1 : _ Score, 2 : _ Student score no- 3 are Score, 1 : _ Score, 2 : _ 33

Soal 1 What are values of the variable x after the execution of the

Soal 1 What are values of the variable x after the execution of the following pseudocode? n 0 x 0 While n < 15 Do If (n mod 3) = 0 Then x x+n Output(x) n n +1 A. B. C. D. E. 1, 3, 6, 9, 12 0, 3, 6, 9, 12 3, 18, 24 0, 3, 9, 18, 30 3, 6, 9, 12

Soal 2 What is the output of the following pseudocode? FOR i 1 TO

Soal 2 What is the output of the following pseudocode? FOR i 1 TO 2 DO IF i mod 2 = 0 THEN FOR j 1 TO 4 DO IF j mod 2 = 1 THEN Output (‘x’) ELSE Output (‘o’) ELSE Output (i) A. B. C. D. E. i xoxo i i oxox i i i

Soal 3 Consider the following statement – INPUT – PROCESS – OUTPUT : 7

Soal 3 Consider the following statement – INPUT – PROCESS – OUTPUT : 7 : 1+2+3+4+5+6+7 : 28 • Create your pseudocode 36

Soal 4 • Determine the program of the following output, * ** **** 37

Soal 4 • Determine the program of the following output, * ** **** 37

Soal 5 • Determine the program of the following output, **** ** * 38

Soal 5 • Determine the program of the following output, **** ** * 38

Soal 6 • What is the output of the following code {Declare} X, i

Soal 6 • What is the output of the following code {Declare} X, i : Integer Algorithm For X 1 to 10 IF (X mod 2= 0) THEN Output(X) i i + 1 Output(i) 39

Soal 7 Describe the output of the following program for i 1 to 3

Soal 7 Describe the output of the following program for i 1 to 3 do for j 5 to 6 do Output(i, j) 40

Soal 8 • Write a program that it display the traditional song “Anak Ayam”.

Soal 8 • Write a program that it display the traditional song “Anak Ayam”. Enter the first anak ayam from keyboard. 41

Soal 9 • Write a program that display ‘*’ on even line and displays

Soal 9 • Write a program that display ‘*’ on even line and displays ‘#’ on odd line. Enter number of line from keyboard 42

Soal 10 • Write a program which outputs triangle numbers : 1, 3, 6,

Soal 10 • Write a program which outputs triangle numbers : 1, 3, 6, 10, 15, etc. 43

Soal 11 (nested loop) • Write a program which takes two integer values from

Soal 11 (nested loop) • Write a program which takes two integer values from the user and outputs the multiplication tables between the first and second numbers. (eg 4 and 7 will output the 4 times table, the 5 times table, the 6 times table and the 7 times table 44

Soal 12 • Write a program which validate a user password. If program accepts

Soal 12 • Write a program which validate a user password. If program accepts invalid password, the output will display “invalid password, try again!”, and then program request the password again until 3 times, after 3 rd iteration, the output is ”unauthorized user”. The display to user who enter valid password is “wellcome”. 45

Soal 13 • Write a program which takes N integer values from the user

Soal 13 • Write a program which takes N integer values from the user and outputs the maximum. • Illustration –N=3 • Data 1 : 15 • Data 2 : 20 • Data 3 : 10 – Maximum = 20 46