Pengenalan Java - Staffsite STIMATA

advertisement
Struktur Kontrol
Struktur kontrol if
Struktur kontrol if-else
Operator kondisi (?:)
Struktur kontrol switch
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
if (boolean_expr) statement;
Struktur Kontrol
Contoh pseudocode :
If the student’s grade is greater than 70
Print “Passed”
Contoh flowchart :
True
grade > 70
false
System.out.println(“Passed”)
Contoh java program :
if ( grade > 70 )
System.out.println(“passed”);
Control Expression
Statement
Struktur Kontrol
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;
Struktur Kontrol
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 Kontrol
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)
statement 1;
else if (boolean_expr)
statement 2;
else
statement 3;
if (boolean_expr)
statement 1;
else
if (boolean_expr)
statement 2;
else
statement 3;
Struktur Kontrol
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”);
Struktur Kontrol
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; }
Struktur Kontrol



Contoh Program : IfElse.java
Pernyataan Else digunakan sebagai alternatif 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 Kontrol
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 Kontrol
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” )
Struktur Kontrol
Struktur
Switch :
merupakan
salah
satu bentuk lain dari
struktur
pemilihan.
Program
akan
membaca blok yang
sesuai dengan nilai
yang terdapat dalam
sebuah
ekspresi.
Secara umum dapat
dilihat pada syntax
disamping berikut:
switch (switch_expr) {
case case_selector_1:
statement 1;
statement 2;
…..
break;
case case_selector_2:
statement 1;
statement 2;
…..
break;
…….
default:
statement 1;
statement 2;
…..
break;
}
Struktur Kontrol


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 alternatif 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
tetapi masih membaca statement di bawahnya yaitu statement case yang
lain. Sehingga semua statement akan dijalankan entah benar atau salah.
Contoh java program :
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Struktur Kontrol
public class TestSwitch {
public static void main(String[] args) throws IOException {
int a = ….;
switch (a) {
case 1:
System.out.println( “value is 1”);
break;
case 2:
System.out.println( “value is 2”);
break;
default::
System.out.println( “Other than 1 or 2”);
break;
}
}
}
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 :
for(nilai_awal ; batas ; perubahan)
{ // statement yang akan dijalankan berulang }

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.
Struktur kontrol for

Contoh for Increment
public class Contoh1For {
public static void main(String[] args)
{ for(int i=0;i<4;i++)
{ System.out.println(i); }
}
}

Output:
0
1
2
3
Perhatikan bahwa mengapa output bisa seperti di atas. Pertama
nilai i = 0, kemudian dicek apakah i < 4. Karena true maka jalankan
statement yang ada pada blok for. Setelah itu lakukan perubahan
dengan i++. Jadi nilai i = 1. Begitu seterusnya sampai i bernilai 4
dan akan berhenti berulang karena menghasilkan nilai false saat
dilakukan diseleksi di i < 4 .
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
2
1
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
cek -> Apakah i > 0 ? -> false keluar dari looping
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
0 2 4 6 8 10
10 8 6 4 2 0
Struktur kontrol for

Contoh Program Pencetak bilangan Ganjil
public class Odd {
public static void main(String[] args) {
for(int i=1; i <= 10 ; i += 2){
System.out.print(i + " ");
}
System.out.println();
for(int i=9; i > 0 ; i -= 2){
System.out.print(i + " ");
}
}
}
Output
13579
97531
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 :
while ( var_selection )
{
// statement to loop
// changing to stop loop
}

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.
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
1
2
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
exit from loop
Struktur kontrol do While

Do while digunakan untuk melakukan looping minimal adalah satu
kali pengerjaan. Coba kita lihat pseudo code di bawah ini :
do
{
// statement
// changing
}while( selection );

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 :
Struktur kontrol do while

Contoh Program:
Output :
0
1
2
public class ContohDoWhile {
// main method
public static void main(String[] args) {
// declaration of i
int i = 0;
// start loop
do{
// statement
System.out.println(i);
// changing
i++;
}while(i < 3);// selection
// end loop
}
}
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
selection -> while ( i < 3 ) -> false
end while
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 {
public static void main (String[] args) (
int i, j, product;
outer: for ( i =1; i <= 3; i++) {
for (j=1; j <= 3; j++) {
product = i * j;
if ( j == 3 ) break outer;
System.our.println(I + “ * “ + j + “ = “ +product);
}
}
}
}
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 {
public static void main (String[] args) (
int i, j, product;
outer: for ( i =1; i <= 3; i++) {
for (j=1; j <= 3; j++) {
product = i * j;
if ( j == 2 ) continue outer;
System.our.println(I + “ * “ + j + “ = “ + product);
}
}
}
}
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:
Average price = 3.76666666666667
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
http://sofia.fhda.edu/gallery/java/unit03/lesson03-6.html
Formatting Output Data
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;
public class DecimalFormat6 {
public static void main(String args[]) {
DecimalFormat df = null;
// get a NumberFormat object and cast it to
// a DecimalFormat object
try {
df = (DecimalFormat)
NumberFormat.getInstance(Locale.GERMAN);
}
catch (ClassCastException e) {
System.err.println(e);
}
// set a format pattern
df.applyPattern("####.00000");
// format a number
System.out.println(df.format(1234.56));
}
}
Latihan
Perhatikan potongan program berikut, mana yang salah dari masingmasing 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) {
case 1:
System.out.println(“Number is 1”);
case 2:
System.out.println(“Number is 2”);
break;
default:
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();
}
}
}
FOR…
While…
Break…
Download