percabangan dan perulangan

57
D4 LJ PJJ PENS-ITS Pemrograman Berbasis Obyek 1 Percabangan dan Perulangan Yuliana Setiowati Politeknik Elektronika Negeri Surabaya 2007

Upload: lekien

Post on 13-Jan-2017

293 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

1

Percabangan dan Perulangan

Yuliana SetiowatiPoliteknik Elektronika Negeri Surabaya

2007

Page 2: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

2

Topik• Percabangan• switch• Perulangan• Special Loop Control

Page 3: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

3

Flowchart• Bagan-bagan yang mempunyai arus yang

menggambarkan langkah-langkahpenyelesaian suatu masalah.

• Merupakan cara penyajian dari suatualgoritma.

Page 4: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

4

Simbol-Simbol Flowchart

Page 5: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

5

Simbol-Simbol Flowchart

Page 6: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

6

Pembuatan Flowchart• Tidak ada kaidah yang baku.• Flowchart adalah gambaran hasil analisa suatu

masalah• Flowchart dapat bervariasi antara satu pemrogram

dengan pemrogram lainnya.• Secara garis besar ada 3 bagian utama:

– Input– Proses– Output

Page 7: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

7

Pembuatan Flowchart• Hindari pengulangan proses yang tidak

perlu dan logika yang berbelit sehinggajalannya proses menjadi singkat.

• Jalannya proses digambarkan dari atas kebawah dan diberikan tanda panah untukmemperjelas.

• Sebuah flowchart diawali dari satu titikSTART dan diakhiri dengan END.

Page 8: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

8

Pembuatan Flowchart

Page 9: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

9

Percabangan

• if• if-else• else-if• switch

Page 10: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

10

if

if (ekspresi boolean) {pernyataan1;

}pernyataan2;

ifekspresi = true

pernyataan1

pernyataan2

Y

N

Page 11: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

11

public class If {public static void main(String args[]) {

int bilangan=-1;if (bilangan<0)

System.out.println(“Bilangan adalah negatif”); }

}

• OutputBilangan adalah negatif

if(bilangan<0)

Y

N

Start

End

Cetak negatif

Bilangan= -1

Page 12: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

12

• Output8 adalah Bilangan Genap

if(input%2==0)

Y

N

Start

End

input=8

Cetak genap

Page 13: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

13

if-else

if (ekspresi boolean) {pernyataan1;

} else {pernyataan2;

} pernyataan3;

ifekspresi = true

pernyataan2

pernyataan3

Y N

pernyataan1

Page 14: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

14

public class IfElse {public static void main(String args[]) {

int bilangan=-1;if (bilangan<0)

System.out.println(“Bilangan adalah negatif”); else

System.out.println(“Bilangan adalah positif”); }

}

• OutputBilangan adalah negatif

Contoh Program

Page 15: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

15

if(bilangan<0)

Y

N

Start

End

Bilangan= -1

Cetak negatif

Cetak positif

Page 16: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

16

Contoh Program

• Output :9 adalah Bilangan Ganjil

Page 17: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

17

if(input%2==0)

Y

N

Start

End

Input = 9

Cetak ganjil

Cetak genap

Page 18: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

18

Contoh Program• User memasukkan inputan dengan menggunakan keyboard

• import java.util.Scanner;• public class if32 {• public static void main(String args[]){• Scanner scan = new Scanner(System.in);• System.out.print("Masukkan Bilangan = ");• int input = scan.nextInt();• if (input %2 == 0)• System.out.println(input + " adalah Bilangan Genap");• else• System.out.println(input + " adalah Bilangan Ganjil");• }• }

Output :Masukkan Bilangan = 33 adalah Bilangan Ganjil

Page 19: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

19

Output ?

• public class if2{• public static void main(String args[]){• int input = 9 ;• if (input %2 == 0)• System.out.println(input + " adalah Bilangan Genap");• else• System.out.println(input + " adalah Bilangan Ganjil");• System.out.println("Selalu dijalankan");• }• }

Page 20: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

20

If - else

• if (ekspresi boolean) bukan numerik

• Contoh :if (x) // x integer

gunakan if (x!=0)

Page 21: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

21

Contoh program• import java.util.Scanner;

• public class ifTebakAngka {• public static void main(String args[]){• Scanner scan = new Scanner(System.in);• System.out.print("Masukkan Bilangan = ");• int angka = scan.nextInt();• if (angka != 15)• System.out.println("Tebakan Anda Salah");• else• System.out.println("Tebakan Anda Benar");• }• }

Output:Masukkan Bilangan = 1Tebakan Anda Salah

Output:Masukkan Bilangan = 15Tebakan Anda Benar

Page 22: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

22

else-if

ifekspresi2 = true

pernyataan3

pernyataan4

Y N

pernyataan2

ifekspresi1 = true

N

pernyataan1

Y

if (ekspresi1 boolean) {pernyataan1;

} else if (ekspresi2 boolean) {pernyataan2;

} else {pernyataan3;

}pernyataan4;

Page 23: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

23

Contoh Program• import java.util.Scanner;• public class if42 {• public static void main(String args[]){• Scanner scan = new Scanner(System.in);• System.out.print("Masukkan Bilangan = ");• int input = scan.nextInt() ;

• if (input %2 == 0)• System.out.println(input + " adalah kelipatan 2");• else if (input %3 == 0)• System.out.println(input + " adalah kelipatan 3");• else if (input %5 == 0)• System.out.println(input + " adalah kelipatan 5");• else• System.out.println(input + " adalah kelipatan lainnya");• }• }

Masukkan Bilangan =88 adalah kelipatan 2

Masukkan Bilangan =99 adalah kelipatan 3

Masukkan Bilangan =1010 adalah kelipatan 5

Page 24: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

24

if(input%3==0)

N Y

If(input%2==0)

N

Y

if(input%5==0)

Y N

Kelipatan 2

Kelipatan 3

Kelipatan 5

Kelipatan lainnya

Page 25: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

25

switchswitch (ekspresi) {

case konstan1 :pernyataan1;break;

case konstan2:pernyataan2;break;

default :pernyataan3;

}pernyataan4;

ifekspresi = konstan2

pernyataan3

pernyataan4

Y N

pernyataan2

ifekspresi = konstan1

N

pernyataan1

Y

ifbreak

ifbreak

Y

N

Y

N

Page 26: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

26

switch

• Variabel x harus bertipe byte, short, char, atau int.• Floating point, long, atau class references (termasuk

String) tidak diperbolehkan.• Kedudukan statement pada default sama dengan

kedudukan else pada if-else.

Page 27: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

27

public class Switch {public static void main(String args[]) {

int i = 2;switch (i) {

case 1 : i+=3;break;

case 2 : i+=5;break;

default: i+=10;}System.out.println(i);

}}

Output

7

Page 28: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

28

if(i==2)

i+=10

Cetak i

Y N

i+=5

if(i==1)N

i+=3Y

ifbreak

ifbreak

Y

N

Y

N

i=2

Start

End

Page 29: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

29

public class Switch {public static void main(String args[]) {

int i = 1;switch (i) {

case 1 : i+=3;case 2 : i+=5;default: i+=10;

}System.out.println(i);

}}

Output

19

Page 30: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

30

Perulangan

• for• while• do-while• nested loop• continue • break

Page 31: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

31

forfor (inisialisasi; kondisi; perubah) {

pernyataan;} if

kondisi = true

pernyataan

perubah

Y

N

for (inisialisasi; kondisi; perubah)

pernyataan

Inisialisasi

start

end

Page 32: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

32

for (int i=0; i<10; i++) {System.out.println(“Hore !!”);

}

Contoh Program

OutputHore !!Hore !!Hore !!Hore !!Hore !!Hore !!Hore !!Hore !!Hore !!Hore !!

if(i<10)

i++

Y

N

Start

End

Cetak Hore

i=0

Page 33: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

33

OutputHore !!Hore !!Hore !!Hore !!Hore !!Hore !!Hore !!Hore !!Hore !!Hore !!Finally

if(i<10)

i++

Y

N

Start

End

i=0

Cetak Hore

Cetak Finally

Page 34: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

34

for

• Di Java diperbolehkan menggunakan tandakoma untuk pemisah di for

• Contoh:for (i=0, j = 0; j<10; i++, j++){}

Page 35: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

35

Contoh Program

Outputi = 0 j = 1i = 1 j = 2i = 2 j = 3i = 3 j = 4i = 4 j = 5Finally

if(i<5)

i++ j++

Y

N

Start

End

i=0 j=1

Cetak Finally

Cetak i dan j

Page 36: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

36

whilewhile (kondisi) {

pernyataan 1;}pernyataan 2

ifkondisi = true

Pernyataan 1

Y

N

Pernyataan 2

while (kondisi)

Pernyataan 1

Pernyataan 2

Page 37: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

37

Contoh Program

• Menampilkan bilangan ganjil yang lebih kecil dari 20

Output1 3 5 7 9 11 13 15 17 19

Page 38: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

38

if(awal<20)

Y

N

awal++

if(awal%2 != 0)

Y

N

Start

End

awal = 0

Cetak awal

Page 39: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

39

do-while

do {pernyataan;

} while (kondisi);

ifkondisi = true

pernyataan

Y

N

while (kondisi)

pernyataan

Page 40: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

40

Contoh Program

• Menampilkan bilangan ganjil yang lebih kecil dari 20

Output1 3 5 7 9 11 13 15 17 19

Page 41: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

41

if(awal<20)

Cetak awalY

N

awal++

awal=0

if(awal%2 != 0)

Y

N

Start

End

Page 42: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

42

Nested loop

• Dalam suatu loop bisa terkandung loop yang lain, sehingga jika loop tersebut diulangi n kali dan loop yang didalamnya dijuga dilakukan m kali maka pernyataan yang berada didalamnested loop sebanyak n x m.

• Loop yang terletak di dalam loop biasa disebutdengan loop di dalam loop (nested loop)

Page 43: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

43

Output ?

• public class loop1 {• public static void main(String args[]){• for(int i=0;i<3;i++){• for(int j=0;j<5;j++){• System.out.println("i : " + i + " j : " + j);• }• }• }• }

Page 44: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

44

Output• i : 0 j : 0• i : 0 j : 1• i : 0 j : 2• i : 0 j : 3• i : 0 j : 4• i : 1 j : 0• i : 1 j : 1• i : 1 j : 2• i : 1 j : 3• i : 1 j : 4• i : 2 j : 0• i : 2 j : 1• i : 2 j : 2• i : 2 j : 3• i : 2 j : 4

Page 45: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

45

Contoh Program• public class loop2 {• public static void main(String args[]){• for(int i=1;i<=3;i++){• for(int j=1;j<=3;j++){• System.out.print(i*j + " ");• }• System.out.println();• }• }• } 1 2 3

2 4 6 3 6 9

Page 46: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

46

Special Loop Control

• break [label];• continue [label];• label : statement; (statement ini berupa loop)

Page 47: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

47

Special Loop Control

• break digunakan untuk keluar (“prematurely exit”) dari switch statements, loop statements, dan labeled blocks.

• continue digunakan untuk meneruskan (“skip over and jump) ke akhir dari loop body, dan kembali keloop control statement.

• label digunakan untuk mengidentifikasi statement lain dimana statement lain ini meminta supaya block statement pada label ini dikerjakan.

Page 48: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

48

Special Loop Flow Control

Page 49: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

49

Contoh Program

• Menampilkan bilangan ganjil yang lebih kecil dari 20. Jikabertemu dengan angka 15 maka break dari proses looping

Output1 3 5 7 9 11 13

Page 50: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

50

Special Loop Flow Control

Page 51: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

51

Contoh Program

• Menampilkan bilangan ganjil yang lebih kecil dari 20. Angka15 tidak ditampilkan

Output1 3 5 7 9 11 13 17 19

Page 52: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

52

Special Loop Flow Control

Page 53: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

53

Contoh Program

Outputi = 0 j = 0Good-Bye

Page 54: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

54

Special Loop Flow Control

Page 55: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

55

Contoh Program

Outputi = 0 j = 0i = 1 j = 0i = 2 j = 0Good-Bye

Page 56: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

56

Soal

Page 57: Percabangan dan Perulangan

D4 LJ PJJ PENS-ITS

Pemrograman Berbasis Obyek

57

Soal