1 KENDALI PROSES Untuk mengatur arus program, pemrograman

advertisement
KENDALI PROSES
Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional,
percabangan, dan lompatan.
PERINTAH KONDISIONAL
Pemrograman Java memiliki 2 Decision-making statement : if-else dan switch. Perintah if digunakan
untuk seleksi sederhana, sedangkan perintah switch digunakan untuk kondisi yang mempunyai beberapa pilihan
jawaban berdasarkan 1 nilai integer/karakter.
IF SEDERHANA
Perintah if akan dieksekusi jika hasil dari ekspresi bernilai benar, dengan format :
if (boolean expression) {
statement(s) }
Perintah if...else... akan dieksekusi dengan ketentuan jika kondisi benar akan menjalankan blok
statement berikutnya, dan jika salah akan menjalankan blok statement setelah else, dengan format :
if (boolean expression) {
statement(s) }
else {
statement(s) }
contoh :
1. //Perintah IF sederhana
2. class contohIf01{
3.
public static void main (String Args[ ]){
4.
int Angka = 36;
5.
if (Angka%2 == 0) System.out.print("Bilangan Genap\n");
6.
else System.out.print("Bilangan Ganjil\n");
7.
System.out.print("SELESAI\n");
8.
}
9. }
Output :
Bilangan Genap
SELESAI
contoh :
1. //Perintah IF dengan class JOptionPane
2. import javax.swing.JOptionPane;
3. class contohIf01{
4. public static void main (String Args[]){
5.
String ANGKA;
6.
int angka;
7.
//memasukan sebuah angka dengan input dialog
8.
ANGKA = JOptionPane.showInputDialog("MASUKAN SEBUAH ANGKA : ");
9.
10.
//mengkonversi angka dari string ke integer
11.
angka = Integer.parseInt(ANGKA);
12.
13.
if (angka%2 == 0) System.out.print("Bilangan Genap\n");
14.
else System.out.print("Bilangan Ganjil\n");
15.
System.out.print("SELESAI\n");
16.
}
17. }
PBO/Java/Ayuliana/Feb2009
1
Output :
Bilangan Genap
SELESAI
Perintah if...else if... mempunyai format penulisan :
if (boolean expression) {
statement(s) }
else if (boolean expression) {
statement(s) }
else if (boolean expression) {
statement(s) }
else { statement(s) }
Contoh :
1. import javax.swing.JOptionPane;
2. class IndexMhs{
3.
public static void main(String []args){
4.
String NILAI;
5.
int nilai;
6.
NILAI = JOptionPane.showInputDialog("MASUKAN NILAI [0-100] : ");
7.
nilai = Integer.parseInt(NILAI);
8.
9.
if(nilai<0||nilai>100){ System.out.println("Nilai harus diantara 0-100");
10.
System.exit(0); }
11.
12.
if (nilai >=85){ System.out.println("Nilai : " +nilai + " - Index = A"); }
13.
else if(nilai >=75){ System.out.println("Nilai : " +nilai + " - Index = B"); }
14.
else if(nilai >=55){ System.out.println("Nilai : " +nilai + " - Index = C"); }
15.
else if(nilai >=45){ System.out.println("Nilai : " +nilai + " - Index = D"); }
16.
else { System.out.println("Nilai : " +nilai + " - Index = E"); }
17.
}
18. }
Output :
Nilai : 73 – Index = C
COMPOUND IF
Perintah Compound if, mempunyai kondisi yang diseleksi lebih dari satu, digabungkan dengan
menggunakan bantuan operator AND (&) atau OR (|).
PBO/Java/Ayuliana/Feb2009
2
contoh :
1. import javax.swing.JOptionPane;
2. class IndexMhs{
3.
public static void main(String []args){
4.
String NILAI;
5.
int nilai;
6.
7.
NILAI = JOptionPane.showInputDialog("MASUKAN NILAI [0-100] : ");
8.
nilai = Integer.parseInt(NILAI);
9.
10.
if(nilai<0||nilai>100){ System.out.println("Nilai harus diantara 0-100");
11.
System.exit(0);
12.
}
13.
if (nilai < 100 & nilai >= 85){
14.
System.out.println("Nilai : " +nilai + " - Index = A"); }
15.
else if(nilai < 85 & nilai >= 75){
16.
System.out.println("Nilai : " +nilai + " - Index = B"); }
17.
else if(nilai < 75 & nilai >= 55){
18.
System.out.println("Nilai : " +nilai + " - Index= C"); }
19.
else if(nilai < 55 & nilai >=45){
20.
System.out.println("Nilai : " +nilai + " - Index = D"); }
21.
else {
22.
System.out.println("Nilai : " +nilai + " - Index = E"); }
23.
}
}
NESTED IF
Perintah Nested if, mempunyai format penulisan :
if (boolean expression_1) {
if (boolean expression_2) {
.....
if (boolean expression_n) {
statement(s) }
else {
statement(s) }
.....
else{
statement(s) }
else {
statement(s) }
Contoh :
1. import javax.swing.JOptionPane;
2. class nestedIf {
3.
public static void main (String Args[]){
4.
String ANGKAtemp;
5.
int A, B, C, Min, Maks;
6.
float AVG;
7.
8.
//memasukan angka PERTAMA
9.
ANGKAtemp = JOptionPane.showInputDialog("MASUKAN ANGKA PERTAMA : ");
10.
11.
//konversi angka pertama
12.
A = Integer.parseInt(ANGKAtemp);
13.
14.
//memasukan angka KEDUA
15.
ANGKAtemp = JOptionPane.showInputDialog("MASUKAN ANGKA KEDUA : ");
16.
17.
//konversi angka KEDUA
18.
B = Integer.parseInt(ANGKAtemp);
PBO/Java/Ayuliana/Feb2009
3
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
//memasukan angka KETIGA
ANGKAtemp = JOptionPane.showInputDialog("MASUKAN ANGKA KETIGA : ");
//konversi angka KETIGA
C = Integer.parseInt(ANGKAtemp);
//Block if mencari nilai maksimum
if ( A>B ){
if ( A>C ) Maks = A;
else Maks = C;
}
else {
if ( B>C ) Maks = B;
else Maks = C;
}
//Block if mencari nilai minimum
if ( A<B ){
if ( A<C ) Min = A;
else Min = C; }
else {
if ( B<C ) Min = B;
else Min = C; }
AVG =(float) (A+B+C)/3;
System.out.println("\nNilai Asal : ");
System.out.println("\nA = " + A + ", B = " +B + ", C = "+ C);
System.out.println("\nNilai Maksimum : "+ Maks);
System.out.println("\nNilai Minimum : "+ Min);
System.out.println("\nNilai Rata-rata : "+ AVG);
}
}
Output :
Nilai Asal :
A = 10, B = 8, C = 11
Nilai Maksimum
: 11
Nilai Minimum
: 8
Nilai Rata-rata
: 9.666667
PERINTAH SWITCH
Perintah switch meng-evaluasi ekspresi integer dan meng-eksekusi case yang sesuai, format penulisan:
switch (integer_expression) {
case integer_ expression:
statement(s);
break;
...
default:
statement(s);
}
PBO/Java/Ayuliana/Feb2009
4
Contoh :
1. import javax.swing.JOptionPane;
2. class switchBuah{
3.
public static void main (String Args[]){
4.
String Pilih;
5.
int PILIH;
6.
Pilih = JOptionPane.showInputDialog("----MENU BUAH----\n\n1. APEL
7.
\n2. MANGGA\n3. JERUK\n\nPilihan Anda [1-3] : ");
8.
9.
PILIH = Integer.parseInt(Pilih);
10.
switch(PILIH){
11.
case 1 : System.out.print("\n\nANDA PILIH APEL"); break;
12.
case 2 : System.out.print("\n\nANDA PILIH MANGGA"); break;
13.
case 3 : System.out.print("\n\nANDA PILIH JERUK"); break;
14.
default : System.out.print("\n\nANDA SALAH INPUT...");
15.
}
16.
}
17. }
Output :
Jika inputDialog di isi 1 : maka akan tampil
ANDA PILIH APEL
Jika inputDialog di isi 2 : maka akan tampil
ANDA PILIH MANGGA
Jika inputDialog di isi 3 : maka akan tampil
ANDA PILIH JERUK
Jika inputDialog di isi selain 1-3 : maka akan tampil
ANDA SALAH INPUT
COBA penggalan program berikut
Apa yang akan ditampilkan jika perintah baris 11-14 diatas diganti menjadi :
case 1 :
case 2 : System.out.print("\n\nANDA PILIH MANGGA"); break;
case 3 : System.out.print("\n\nANDA PILIH JERUK"); break;
default : System.out.print("\n\nANDA SALAH INPUT...");
Apa yang akan ditampilkan jika perintah baris 11-14 diatas diganti menjadi :
default : System.out.print("\n\nANDA SALAH INPUT...");
case 1 :
case 2 : System.out.print("\n\nANDA PILIH MANGGA"); break;
case 3 : System.out.print("\n\nANDA PILIH JERUK"); break;
Apa yang akan ditampilkan jika perintah baris 11-14 diatas diganti menjadi :
default : System.out.print("\n\nANDA SALAH INPUT...");break
case 2 : System.out.print("\n\nANDA PILIH MANGGA"); break;
case 1 : System.out.print("\n\nANDA PILIH APEL"); break;
case 3 : System.out.print("\n\nANDA PILIH JERUK"); break;
APA YANG DAPAT ANDA SIMPULKAN DARI PERCOBAAN DIATAS!!!
PBO/Java/Ayuliana/Feb2009
5
PERINTAH PERULANGAN
Dalam bahasa Java terdapat 3 perintah yang dapat digunakan untuk alur perulangan, yaitu while,
do...while, dan for.
PERINTAH while
Perintah while, akan terus melakukan eksekusi sebuah perintah maupun 1 blok perintah, jika ekspresi
boolean bernilai TRUE. Ekspresi dievaluasi diawal loop, sehingga loop akan dilaksanakan 0 kali jika kondisi
SALAH. Format penulisan :
while (boolean expression) {
statement(s);
}
contoh :
1. class while01{
2. public static void main (String Args[]){
3.
int Angka=1;
4.
while(Angka < 10)
5.
System.out.print(Angka++ + "\t");
6.
}
7. }
Output :
1
2
3
4
5
6
7
8
9
PERINTAH do...while
Perintah do-while, akan terus melakukan eksekusi sebuah perintah maupun 1 blok perintah, jika
ekspresi boolean bernilai TRUE. Ekspresi dievaluasi diakhir loop, sehingga loop akan dilaksanakan sedikitnya 1
kali jika kondisi SALAH. Format penulisan :
do {
statement(s);
} while (expression);
contoh :
1. class dowhile01{
2. public static void main (String Args[]){
3.
int Angka=1;
4.
do {
5.
System.out.print(Angka++ + "\t");
6.
} while(Angka < 10);
7.
}
8. }
PERINTAH for
Perintah for, akan terus melakukan eksekusi sebuah perintah maupun 1 blok perintah, memenuhi
kondisi. Perintah for menyertakan inisialisasi, kondisi terminasi dan iterasi, dengan format penulisan :
for (initialization ; termination ; increment) {
statement(s);
}
Contoh :
1. class dowhile01{
2. public static void main (String Args[]){int Angka=1;
3.
int Angka;
4.
for(Angka=1;Angka<10;Angka++)
5.
System.out.print(Angka+"\t");
6.
}
7. }
PBO/Java/Ayuliana/Feb2009
6
PERINTAH PERCABANGAN
Terdapat beberapa perintah yang mengakibatkan percabangan di dalam bahasa java, yaitu pengunaan
perintah berlabel, perintah break, perintah continue, dan perintah return.
PERINTAH break
Terdapat 2 bentuk perintah break, break berlabel dan break tidak berlabel. Perintah break tanpa label
digunakan untuk mengakhiri blok switch, for, while, or do-while terdalam, dengan format penulisan :
break;
Perintah break berlabel digunakan untuk mengakhiri blok switch, for, while, or do-while yang disebutkan pada
label :
break label;
contoh :
1. class BreakWithLabelDemo {
2. public static void main(String[] args) {
3.
int i,j;
4.
cetak:
5.
for (i = 0; i < 3; i++) {
6.
for(j=0 ; j < 3; j++){
7.
System.out.println("I = " + i +", J = " + j + " Bahasa JAVA");
8.
if (j==1) break cetak;
9.
}
10.
}
11.
System.out.println("\nSELESAI");
12.
}
13. }
Output :
I = 0, J=0 BAHASA JAVA
I = 0, J=1 BAHASA JAVA
SELESAI
PERTANYAAN :
Apa yang terjadi jika kata ”cetak” pada baris delapan dihapuskan???
Bagaimana hasil keluarannya ???
PERINTAH continue
Terdapat 2 bentuk perintah continue, continue berlabel dan continue tidak berlabel, Perintah continue
tidak berlabel akan mengabaikan perintah sampai dengan akhir dari loop terdalam saat itu dan melanjutkan
serta menyelesaikan looping berukutnya :
continue;
contoh continue tidak berlabel :
1. class continue01{
2. public static void main (String Args[]){
3.
int Angka;
4.
for(Angka=1;Angka<10;Angka++) {
5.
if (Angka==5) continue;
6.
System.out.print(Angka+"\t");
7.
}
8.
}
9. }
Output :
1
PBO/Java/Ayuliana/Feb2009
2
3
4
6
7
8
9
7
Perintah continue berlabel digunakan untuk mengakhiri iterasi saat itu dari suatu label :
continue label;
contoh continue berlabel :
1. class ContinueWithLabelDemo {
2. public static void main(String[] args) {
3.
int i,j;
4.
cetak:
5.
for (i = 0; i < 3; i++) {
6.
for(j=0 ; j < 3; j++){
7.
System.out.println("I = " + i +", J = " + j + " Bahasa JAVA");
8.
if (j==1) continue cetak;
9.
}
10.
}
11.
System.out.println("\nSELESAI");
12.
}
13. }
Output :
I = 0, J=0
I = 0, J=1
I = 1, J=0
I = 1, J=1
I = 2, J=0
I = 2, J=1
BAHASA JAVA
BAHASA JAVA
BAHASA JAVA
BAHASA JAVA
BAHASA JAVA
BAHASA JAVA
SELESAI
PERINTAH return
Perintah return digunakan untuk mengakhiri metode yang sedang digunakan, dan alur kontrol program
akan kembali ke method pemanggilnya. Perintah return mempunyai 2 bentuk, return dengan mengembalikan
nilai dan return tidak mengembalikan :
return;
Perintah return dapat digunakan untuk mengembalikan nilai ke metode pemanggilnya dan nilai yang
dikembalikan harus mempunyai format yang sama dengan type method yang dideklarasikan. format penulisan :
return value;
PBO/Java/Ayuliana/Feb2009
8
Download