Struktur Kontrol
Struktur kontrol if
Struktur Kontrol
Struktur Kontrol : adalah statemen java yang digunakan untuk pemilihan sesuai hasil dari sebuah pernyataan yang bernilai true atau false. Secara garis besar dibagi menjadi dua bagian “if structure” dan “switch structure”.
Struktur - if :
yaitu struktur yang hanya mengeksekusi kegiatan yang menghasilkan nilai boolean true.
Sintaknya :
if (boolean_expr) statement; atau
Struktur
Kontrol
Contoh pseudocode :
If the student’s grade is greater than 70 Print “Passed”
Contoh flowchart :
Contoh java program : if ( grade > 70 )
System.out.println(“passed”);
grade > 70
System.out.println(“Passed”)
True false
Control Expression
Struktur - if / else :
Pada if sederhana, sebuah statemen dieksekusi jika nilai boolean ekpresi bernilai true, dan statemen dilewati jika boolean ekpresi bernilai false.
Namun pada kenyataan sehari-hari terkadang kita juga ingin mengeksekusi statemen yang ketika nilai boolean ekpresinya adalah false. Hal demikian dapat dilakukan dengan “if /else structure”
Sintaknya :
if (boolean_expr) statement 1; else
statement 2;
Contoh pseudocode : if (b*b – 4. *a*c) >= 0
write message that equetion has real roots. else
write message that equetion has complex roots. Contoh java program :
if ( (b*b – 4. *a*c) >= 0. )
System.out.println(“there are real roots”); else
System.out.println(“there are complex roots”);
Struktur - if/else if/…else :
Digunakan untuk menyeleksi satu dari sekian banyak pilihan, dimana pilihan sangatlah komplek sekali. Dimana tidak dapat ditangani hanya dengan if/else structure saja.
Sintaknya :
if (boolean_expr) if (boolean_expr) statement 1; statement 1; else if (boolean_expr) else
statement 2; if (boolean_expr) else statement 2;
statement 3; else
statement 3;
Contoh pseudocode :
if (b*b – 4. *a*c) >= 0
write message that equetion has two complex roots. else if (b*b – 4. *a*c) = 0
write message that equetion has two identical real roots. else
write message that equetion has two distinct real roots.
Contoh java program :
if ( (b*b – 4. *a*c) >= 0. )
System.out.println(“there are two complex roots”);
else if ( (b*b – 4. *a*c) == 0. )
System.out.println(“there are two identical real roots”);
else
System.out.println(“there are two distinct real roots”);
Multiple statement dalam if / else :
Pada contoh yang sudah diperlihatkan selalu satu baris statemen saja yang dikerjakan jika boolean_expr terpenuhi, bagaiman jika statemen yang dikerjakan lebih dari satu baris. Penyelesaiannya adalah jika lebih dari satu bari statemen yang ingin dikerjakan maka, haruslah menggunakan blok program yaitu tanda “{“ diawal baris pertama dan “}” setelah baris terakhir.
Sintaknya : if (boolean_expr) { statement 1;
statement 2; statement 3; } else {
statement 4; statement 5; }
Contoh Program : IfElse.java
Pernyataan Else digunakan sebagai alternat
if
apabila
proses seleksi
if
menghasilkan nilai false. Maka semua
block yang ada pada statement
else
akan dijalankan.
Dapat anda lihat bahwa di dalam seleksi
if(i==1)
menghasilkan nilai false karena nilai i adalah 2. Maka
blok yang dijalankan adalah blok else. Yaitu akan
mencetak
i is not 1
.
Struktur if Bertingkat :
if bertingkat, dimana didalam seleksi if dapat memiliki if, begitu juga dengan else. Yang membutuhkan seleksi sampai beberapa tingkat
kedalaman.
Sintaknya : if (boolean_expr) { if (boolean_expr)
statement 1; else {
statement 2; statement 3; } } else {
if (boolean_expr) statement 4; else
statement 5; }
Struktur Kondisi :
Operator kondisi (?:) merupakan persamaan if/else structure. Yang memiliki tiga buah argument yang diletakkan didalam kondisi ekpresi. Contoh java program :
if ( grade > 70 )
System.out.println(“Passed”); else
System.out.println(“Failed”);
Atau
System.out.println( grade > 70 ? “Passed” : “Failed” )
Switch
case
merupakan statement yang dapat
digunakan untuk proses penyeleksian dengan variable
tunggal yang diseleksi. Pada intinya,
switch case
merupakan proses seleksi tetapi yang diseleksi hanya
satu variable pada keyword
switch
dan terdapat
beberapa alternat
if
pilihan di dalam keyword
case
.
Untuk lebih jelasnya lihat contoh berikut ini :
SwitchCase.java
Jalankan program di atas dan outputnya adalah i = 12. Perhatikan contoh di
atas, konsep dari switch case adalah membandingkan nilai variable i oleh
switch dengan nilai yang ada pada case. Perlu juga diingat bahwa tipe data i dengan nilai yang ada pada case harus sama. Misal i adalah int
maka nilai case juga harus integer. Misalnya seperti contoh di atas adalah 2, 6, dan 12.
Sekarang coba anda ganti nilai i menjadi 13 maka outputnya akan menjadi i
bukan 2, 6, atau 12. Program akan membaca statement pada default
karena tidak ada seleksi yang sama pada proses seleksi case. Adapun keyword break digunakan untuk keluar dari proses seleksi. Untuk mencobanya, hilangkan semua break dan ganti i menjadi 2. Maka outputnya akan menjadi :
i = 2
i = 6
i = 12
i = bukan 2,6, atau 12
Hal ini disebabkan karena setelah seleksi menemui nilai yang sama dan
menjalankan statement di dalamnya program tidak keluar dari blok switch
Contoh java program :
1. public class TestSwitch {
2. public static void main(String[] args) throws IOException { 3. int a = ….;
4. switch (a) {
5. case 1:
6. System.out.println( “value is 1”);
7. break;
8. case 2:
9. System.out.println( “value is 2”);
10. break;
11. default::
12. System.out.println( “Other than 1 or 2”);
13. break;
14. }
15. }
16. }
Struktur kontrol for
Keyword for digunakan untuk melakukan perulangan dengan nilai
seleksi adalah sebuah angka numeric. Bisa berupa bilangan bulat maupun pecahan. Pseudo Code untuk for terdapat di bawah ini :
Di dalam pseudo code dapat dilihat, nilai awal kita isi dengan
membuat variable dan diisi dengan angka awal proses. Untuk batas kita isi dengan batas perulangan, dan perubahan adalah perubahan nilai agar nilai var mencapai batas. Sebelum mencapai batas, program akan menjalankan statement yang ada dalam blok for
terus menerus.
for(nilai_awal ; batas ; perubahan)
Struktur kontrol for
public class Contoh1For {
Struktur kontrol for
Contoh For Decrement
Berikut ini adalah contoh dimana nilai yang berubah menggunakan
perubahan decrement atau nilai yang semakin menurun :
public class Contoh2For {
public static void main(String[] args)
{ for(int i=3;i>0;i--)
{ System.out.println(i); } }
}
Output: 3
Struktur kontrol for
Berikut ini keterangan jalannya program secara
detail :
mulai -> i = 3
cek -> Apakah i > 0 ? -> true
System.out.println(i); -> cetak 3 i--; -> i = 2
cek -> Apakah i > 0 ? -> true
System.out.println(i); -> cetak 2 i--; -> i = 1
cek -> Apakah i > 0 ? -> true
System.out.println(i); -> cetak 1 i--; -> i = 0
Struktur kontrol for
Contoh Program Pencetak bilangan Genap
public class Even {
public static void main(String[] args) {
for(int i=0; i <= 10 ; i += 2){
System.out.print(i + " "); }
System.out.println();
for(int i=10; i >= 0 ; i -= 2){
System.out.print(i + " "); }
}
}
Output
Struktur kontrol for
Contoh Program Pencetak bilangan Ganjil
Struktur kontrol for
Nested For
public class NestedFor {
public static void main (String[] args) ( int i, j, product;
for ( i =1; i <= 3; i++) { for (j=1; j <= 3; j++) { product = i * j;
System.our.println(i + “ * “ + j + “ = “ + product); }
} }
Struktur kontrol While
While do merupakan proses looping dengan seleksi tertentu.
Selama seleksi masih mempunyai nilai true maka loop akan terus berjalan. Lihat pseudo code di bawah ini :
Lihat di atas terdapat var_selection, ini adalah variable yang akan
terus diseleksi ketika loop berjalan. Selama var_selection menghasilkan nilai true maka statement yang ada di dalam block
while akan dieksekusi. Diperlukan juga perubahan var_selection agar memberi batas proses loop. Jika batas tidak diberi, loop akan tidak bisa berhenti.
while ( var_selection )
{
// statement to loop // changing to stop loop
Struktur kontrol While
Contoh program :
public class Contoh1WhileDo {
public static void main(String[] args) {
int i = 0; while(i < 3){
System.out.println(i); i++;
}
}
}
Output : 0
Struktur kontrol While
Secara lebih jelasnya, proses detail program di atas :
start
initialisation i = 0 while(i < 3 ) -> true
System.out.println(i); -> print 0 i++; -> i = 1 while(i < 3 ) -> true
System.out.println(i); -> print 1 i++; -> i = 2 while(i < 3 ) -> true
System.out.println(i); -> print 2 i++; -> i = 3 while(i < 3 ) -> false
Struktur kontrol do While
Do while digunakan untuk melakukan looping minimal adalah satu
kali pengerjaan. Coba kita lihat pseudo code di bawah ini :
Statement di dalam blok do-while dikerjakan satu kali dahulu. Baru
setelah itu seleksi terjadi di keyword while. Jika menghasilkan true
maka statement akan dikerjakan ulang, sebaliknya akan keluar dari loop. Contoh :
do
{
// statement // changing
Struktur kontrol do while
Contoh Program:
public class ContohDoWhile {
Struktur kontrol do while
Lebih jelasnya lihat detail proses berikut ini :
start -> init i = 0
do -> System.out.println(i); -> print 0 i++ -> i = 1
selection -> while ( i < 3 ) -> true
do -> System.out.println(i); -> print 1 i++ -> i = 2
selection -> while ( i < 3 ) -> true
do -> System.out.println(i); -> print 2 i++ -> i = 3
Perintah break and Continue
break adalah perintah yang digunakan untuk menghentikan
kegiatan pengulangan.
Public class NestedFor {
public static void main (String[] args) ( int i, j, product;
for ( i =1; i <= 3; i++) { for (j=1; j <= 3; j++) { product = i * j;
if ( j == 3 ) break;
System.our.println(I + “ * “ + j + “ = “ +product); }
} }
Perintah break and Continue
break …. label statement :
dengan menambahkan label pada awal for terluar dapat menjadikan perintah break … label menghentikan semua pengulangan.
Public class NestedFor {
Perintah break and Continue
continue statement :
adalah perintah yang digunakan untuk melewati kegiatan yang ada dibawah perintah tersebut dan melanjutkan pengulangan.
Public class NestedFor {
public static void main (String[] args) ( int i, j, product;
for ( i =1; i <= 3; i++) { for (j=1; j <= 3; j++) { product = i * j;
if ( j == 2 ) continue;
System.our.println(I + “ * “ + j + “ = “ + product); }
} }
Perintah break and Continue
continue …. label statement :
dengan menambahkan label pada awal for terluar dapat menjadikan perintah continue … label melanjutkan pengulangan ke for terluar.
Public class NestedFor {
Formatting Output Data
Melakukan format pada hasil keluaran diperlukan agar tampilan dapat dilihat semenarik mungkin. Bila ini tidak dilakukan hasilnya kemungkinan tidak sesuai dengan harapan.
Contoh java program :
System.out.println(“Average price = “ + ave);
Hasilnya mungkin sbb:
Formatting Output Data
Angka yang ditunjukan diatas dapat menjadi masalah
didalam tabel jika format kolomnya tidak mencukupi,
akibatnya sebagian angka akan bergeser kebawah. Untuk
mengatasi masalah diatas perlu mengatur format dari hasil
tersebut
dengan
mengacu
kepada
package
java.text.NumberFormat serta java.text.DecimalFormat, dll
sebagainya.
Contoh lengkap dapat dilihat pada :
http://www.iro.umontreal.ca/~vaucher/Java/tutorials/Formatting.ht ml
Latihan
Perhatikan potongan program berikut, mana yang salah dari masing-masing soal berikut :
1. x = 5; 2. x = 1;
while ( x >= 0 ) while ( x <= 5 );
x++; x++;
3. for (x=0.1; x < 10.0; x += 0.1)
System.out.println(“x = “ + x );
4. switch (n) {
System.out.println(“Number is not 1 or 2”); break;
Latihan
Apa yang akan kerjakan dari program berikut: 5. public class Print {
public static void main(String[] args) { for ( int i = 1; i <= 10; i++) {
for ( int j = i; j <= 10; j++) { System.out.print(“
*
”); }System.out.println(); }
While…
B
re
a
k