Anda di halaman 1dari 57

Pemrograman Berbasis Obyek

Percabangan dan Perulangan

Yuliana Setiowati
Politeknik Elektronika Negeri Surabaya
2007

1
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Topik
• Percabangan
• switch
• Perulangan
• Special Loop Control

2
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Flowchart
• Bagan-bagan yang mempunyai arus yang
menggambarkan langkah-langkah
penyelesaian suatu masalah.
• Merupakan cara penyajian dari suatu
algoritma.

3
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Simbol-Simbol Flowchart

4
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Simbol-Simbol Flowchart

5
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

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

6
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Pembuatan Flowchart
• Hindari pengulangan proses yang tidak
perlu dan logika yang berbelit sehingga
jalannya proses menjadi singkat.
• Jalannya proses digambarkan dari atas ke
bawah dan diberikan tanda panah untuk
memperjelas.
• Sebuah flowchart diawali dari satu titik
START dan diakhiri dengan END.

7
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Pembuatan Flowchart

8
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Percabangan

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

9
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

if

if (ekspresi boolean) { if Y
pernyataan1; ekspresi = true
}
pernyataan2;
N
pernyataan1

pernyataan2

10
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Start

public class If { Bilangan= -1


public static void main(String args[]) {
int bilangan=-1;
if (bilangan<0) if Y
(bilangan<0)
System.out.println(“Bilangan adalah negatif”);
}
} N Cetak negatif

End
• Output
Bilangan adalah negatif
11
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Start

input=8

if Y
(input%2==0)

• Output
8 adalah Bilangan Genap N Cetak genap

End 12
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

if-else

if (ekspresi boolean) {
pernyataan1; if
Y N
} else { ekspresi = true
pernyataan2;
}
pernyataan3; pernyataan1 pernyataan2

pernyataan3
13
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program
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”);
}
}

• Output
Bilangan adalah negatif
14
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Start

Bilangan= -1

if Y
(bilangan<0)

N
Cetak negatif

Cetak positif

End

15
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program

• Output :
9 adalah Bilangan Ganjil

16
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Start

Input = 9

if Y
(input%2==0)

N Cetak genap

Cetak ganjil

End

17
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program
• User memasukkan inputan dengan menggunakan keyboard

• import java.util.Scanner;
• public class if32 { Output :
Masukkan Bilangan = 3
• public static void main(String args[]){ 3 adalah Bilangan
• Scanner scan = new Scanner(System.in); Ganjil
• 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");
• }
• }
18
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

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");
• }
• }

19
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

If - else
• if (ekspresi boolean) bukan numerik

• Contoh :
if (x) // x integer
gunakan if (x!=0)

20
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh program
• import java.util.Scanner; Output:
Masukkan Bilangan = 1
Tebakan Anda Salah
• 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 = 15
Tebakan Anda Benar
21
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

else-if
if (ekspresi1 boolean) { N if
pernyataan1; ekspresi1 = true
} else if (ekspresi2 boolean) {
pernyataan2;
Y
} else {
pernyataan3; if
Y N
} ekspresi2 = true pernyataan1
pernyataan4;

pernyataan2 pernyataan3

pernyataan4
22
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program
• import java.util.Scanner; Masukkan Bilangan =8
• public class if42 { 8 adalah kelipatan 2
• public static void main(String args[]){
• Scanner scan = new Scanner(System.in);
• System.out.print("Masukkan Bilangan = ");
• int input = scan.nextInt() ; Masukkan Bilangan =9
9 adalah kelipatan 3
• if (input %2 == 0)
• System.out.println(input + " adalah kelipatan 2");
• else if (input %3 == 0)
Masukkan Bilangan =10
• System.out.println(input + " adalah kelipatan 3");
10 adalah kelipatan 5
• else if (input %5 == 0)
• System.out.println(input + " adalah kelipatan 5");
• else
• System.out.println(input + " adalah kelipatan lainnya");
• }
• }

23
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

N If
(input%2==0)

N if Y Kelipatan 2
(input%3==0)

Y if N
(input%5==0) Kelipatan 3

Kelipatan 5

Kelipatan lainnya

24
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

switch
switch (ekspresi) { N if
ekspresi = konstan1
case konstan1 :
pernyataan1;
break; Y
case konstan2:
pernyataan2; Y if N
ekspresi = konstan2 pernyataan1
break;
default :
pernyataan3; N if
} break
pernyataan4; pernyataan2 pernyataan3
Y

if N
break
pernyataan4
Y 25
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

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.

26
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

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

27
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Start

i=2

if
N
(i==1)

Y
if
Y (i==2) N i+=3

N if
break
i+=5 i+=10
Y
if
break N
Cetak i
Y

End
28
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

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
29
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Perulangan

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

30
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

for start

Inisialisasi
for (inisialisasi; kondisi; perubah) {
pernyataan;
} if N
kondisi = true

pernyataan
for (inisialisasi; kondisi; perubah)

perubah
pernyataan

31
D4 LJ PJJ PENS-ITS end
Pemrograman Berbasis Obyek

Contoh Program
Start

for (int i=0; i<10; i++) { i=0


System.out.println(“Hore !!”);
}
if N
(i<10)
Output
Hore !!
Y
Hore !!
Hore !!
Hore !! Cetak Hore
Hore !!
Hore !!
Hore !! i++
Hore !!
Hore !!
Hore !!
End
32
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Start

i=0

if
(i<10) N

Output Y
Hore !!
Hore !! Cetak Hore
Hore !!
Hore !! i++
Hore !!
Hore !!
Hore !!
Cetak Finally
Hore !!
Hore !!
Hore !! End
Finally 33
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

for
• Di Java diperbolehkan menggunakan tanda
koma untuk pemisah di for
• Contoh:
for (i=0, j = 0; j<10; i++, j++){}

34
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program Start

i=0 j=1

if
N
(i<5)

Output Cetak i dan j


i = 0 j = 1
i = 1 j = 2 i++
i = 2 j = 3 j++
i = 3 j = 4
i = 4 j = 5
Finally
Cetak Finally

End 35
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

while
while (kondisi) {
pernyataan 1;
}
pernyataan 2
if N
kondisi = true

while (kondisi) Y

Pernyataan 1
Pernyataan 1

Pernyataan 2
Pernyataan 2
36
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program
• Menampilkan bilangan ganjil yang lebih kecil dari 20

Output
1 3 5 7 9 11 13 15 17 19

37
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek
Start

awal = 0

if
N
(awal<20)

Y
if N
(awal%2 != 0)

Y
Cetak awal

awal++

End
38
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

do-while
do {
pernyataan;
} while (kondisi);
pernyataan

if N
pernyataan kondisi = true

while (kondisi)

39
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program
• Menampilkan bilangan ganjil yang lebih kecil dari 20

Output
1 3 5 7 9 11 13 15 17 19
40
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek
Start

awal=0

if N
(awal%2 != 0)

Y
Cetak awal

awal++

if N
(awal<20)

End 41
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

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 didalam
nested loop sebanyak n x m.
• Loop yang terletak di dalam loop biasa disebut
dengan loop di dalam loop (nested loop)

42
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

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);
• }
• }
• }
• }

43
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

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

44
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

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

45
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Special Loop Control


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

46
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

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 ke
loop control statement.
• label digunakan untuk mengidentifikasi statement
lain dimana statement lain ini meminta supaya block
statement pada label ini dikerjakan.

47
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Special Loop Flow Control

48
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program
• Menampilkan bilangan ganjil yang lebih kecil dari 20. Jika
bertemu dengan angka 15 maka break dari proses looping

Output
1 3 5 7 9 11 13

49
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Special Loop Flow Control

50
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program
• Menampilkan bilangan ganjil yang lebih kecil dari 20. Angka
15 tidak ditampilkan

Output
1 3 5 7 9 11 13 17 19

51
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Special Loop Flow Control

52
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program

Output
i = 0 j = 0
Good-Bye

53
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Special Loop Flow Control

54
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Contoh Program

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

55
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Soal

56
D4 LJ PJJ PENS-ITS
Pemrograman Berbasis Obyek

Soal

57
D4 LJ PJJ PENS-ITS

Anda mungkin juga menyukai