Rabu, 31 Oktober 2012

Struktur Kontrol

-->
Java Struktur Kontrol

Pada bagian   ini,   kita   akan  mempelajari  tentang   struktur   kontrol dimana kita dapat mengubah cara eksekusi pada pernyataan yang dibuat di program kita.
Struktur   kontrol  adalah  pernyataan dari   Java  yang  mengijinkan  user  untuk memilih dan mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain.
Dalam membuat aplikasi tentunya bukan hanya membutuhkan masukan (input) dan keluaran (output). Namun aplikasi yang dibuat juga harus dapat memproses secara tepat data yang pengguna inputkan sehingga diharapkan dapat menampilkan output informasi yang tepat pula.
Untuk memproses data tersebut, dibutuhkan adanya prosedur yang tepat yang perlu dibuat yang merupakan suatu intruksi yang harus atau tidak harus dilakukan oleh komputer. Di dalam pemrograman, instruksi yang kita tuliskan dalam bentuk kode bahasa pemrograman, tentunya tidak harus dilakukan semua secara berurutan tetapi program harus bisa memilih apa yang harus dilakukan oleh komputer ketika menemui suatu kondisi khusus yang memerintahkan komputer untuk melakukan atau mengabaikannya.

Di dalam java ada dua jenis struktur kontrol yaitu kontrol percabangan dan kontrol perulangan.
1.     Kontrol perulangan, yaitu struktur kontrol yang menangani sebuah instruksi yang dilakukan berulang-ulang hingga suatu kondisi terpenuhi. Blok instruksi perulangan akan diulang secara terus-menerus hingga suatu kondisi terpenuhi. Dalam perulangan, harus terdapat sebuah kondisi yang akan menyebabkan perulangan tersebut terhenti, karena jika tidak, maka perulangan akan melakukan blok instruksi tersebut secara terus-menerus tanpa henti, yang akan menyebabkan kesalahan program. Ada beberapa instruksi yang dapat kita deklarasikan untuk membuat percabangan dalam pemrograman JAVA antara lain for,while dan do-while

.
Statement While
Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang sampai mencapai kondisi yang cocok.
Bentuk pernyataan while,
while( boolean_expression ){
statement1;
statement2;
. . .
}
Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi boolean_expression bernilai benar (true). Contoh pada kode di bawah ini:
int i = 4;
while ( i > 0 ){
System.out.print(i);
i--; }
Contoh di atas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i--; dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite loop). Sehingga, ketika menggunakan while loop atau bentuk pengulangan yang lain, pastikan Anda memberikan pernyataan yang membuat pengulangan berhenti pada suatu kondisi.

Statement Do While
Do-while loop mirip dengan while-loop. Pernyataan di dalam do-while loop akan dieksekusi beberapa kali selama kondisi bernilai benar(true). Perbedaan antara while dan do-while loop adalah dimana pernyataan di dalam do-while loop akan dieksekusi sedikitnya satu kali.
Bentuk pernyataan do-while,
do{
statement1;
statement2;
. . .
}while( boolean_expression );
Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan dievaluasi kondisi dari boolean_expression. Jika nilai pada boolean_expression tersebut bernilai true, pernyataan di dalam do-while loop akan dieksekusi lagi.
Berikut ini beberapa contoh do-while loop:
Contoh 1:
int x = 0;
do
{
System.out.println(x);
x++;
}while (x<10);
Contoh ini akan memberikan output 0123456789 pada layar.

Contoh 2:
//infinite loop
do{
System.out.println(“hello”);
} while (true);
Contoh di atas akan melakukan pengulangan terus menerus yang menulis kata “hello” pada layar.

Contoh 3:
//one loop
// statement is executed once
do
System.out.println(“hello”);
while (false);
Contoh di atas akan memberikan output hello pada layar.

1.3  Statement Perulangan For
Perulangan for menyediakan sarana mengulang kode dalam jumlah yang tertentu. Pengulangan ini terstruktur untuk mengulangi kode sampai tercapai batas tertentu.
Berikut bentuk dasar perulangan for :
for(InitializationExpression; LoopCondition; StepExpression)
statement
ü  InitializationExpression, digunakan untuk inisialisasi variabel kendali perulangan.
ü  LoopCondition, membandingkan variabel kendali perulangan dengan suatu nilai batas.
ü  StepExpression, menspesifkasikan cara variabel kendali dimodifikasi sebelum iterasi berikutnya dari perulangan.

Contoh:
public class For1
{
public static void main(String[] args)
{
int i;
for (i = 1;i<11;i++)
System.out.println(i);
}
}
Hasil (output) dari contoh listing program di atas:
1
2
3
4
5
6
7
8
9
10

Pernyataan for-loop Bersarang
Java memungkinkan loop yang disarangkan di loop y`ng lain. Satu loop berada di dalam loop yang lainnya.
Contoh:
public class Loopbersarang1{
public static void main(String[] args){
for(int i=0;i<10;i++){
for(int j=i;j<10;j++){
System.out.print("*");}
System.out.println();
}
}
}
Hasil (output) dari contoh listing program di atas:
*
**
*
**
*
**
*

2.     Kontrol percabangan,yaitu struktur kontrol yang memerlukan sebuah atau beberapa kondisi sebelum menjalankan program lainnya. Jika telah memenuhi suatu kondisi, maka pernyataan di dalam kondisi yang sesuai tersebut akan dijalankan. Jika tidak, maka akan mencari kondisi lainnya yang sesuai di dalam kontrol percabangan. Dan jika masih tidak ditemukan kondisi yang sesuai di dalam percabangan tersebut, maka akan dilanjutkan ke instruksi berikutnya di luar percabangan jika ada, dan akan berhenti jika tidak ada kondisi yang sesuai. Ada beberapa instruksi yang dapat kita deklarasikan untuk membuat percabangan dalam pemrograman java antara lain if,if-else dan switch.

Contoh Program Dengan Statement If :
public class Logika_if {
public static void main (String args[]){
int targetnilai=60;
boolean lulus=false;
int nilaianda=70;
if (nilaianda > targetnilai){
lulus = true;
}
System.out.println(“Status kelulusan :”+lulus);
}
}
Contoh Program Dengan Statement If Else:
public class Statement_If_Else {
public static void main (String args[]) {
int targetnilai=60;
String hadiah=”";
int nilaianda=50;
if (nilaianda > targetnilai){
hadiah = “ponsel”;
} else{
hadiah = “radio FM”;
System.out.println(“Jenis hadiah :”+hadiah);
}
}
}
Bentuk statement if-else if,
if( boolean_expression1 )
statement1;
else if( boolean_expression2 )
statement2;
else   statement3
Contoh Program Dengan Ststement If Else If :
import javax.swing.*;
public class Statement_If_Else_if {
public static void main(String args[]) {
String input=JOptionPane.showInputDialog(“Nilai anda ?”);
int nilai=Integer.parseInt(input); String grade=” “;
if(nilai>85){
grade=”A”;
}else if(nilai>75){
grade=”B”;
}else{
grade=”E”;
}
System.out.println(“Nilai Anda : “+nilai);
System.out.println(“Grade Anda : “+grade);
System.exit(0);
}
}

kondisi dari nilai.
Bentuk statement switch,
switch( switch_expression )
{
case case_selector1: statement1;
break;
case case_selector2: statement2;
break;
default: statement3; 
break;
}

switch_expression  adalah  ekspresi  integer  atau  karakter  dan  case_selector1, case_selector2    dan  seterusnya    adalah    konstanta    unik  dari  nilai    integer  atau karakter.
Contoh Program Dengan Ststement Switch Case:
import javax.swing.*;
public class AlurSwitch {
public static void main(String args[]) {
String pilihan=JOptionPane.showInputDialog(“Menu :n1. Sate Kambingn2.
Gulen3. Sop Kaki Kambingn4. Tongseng”);
int menu=Integer.parseInt(pilihan);
switch(menu)
{
case 1: System.out.println(“pilih sate kambing”);
break;
case 2: System.out.println(“pilih gule”);
break;
case 3: System.out.println(“pilih sop kaki kambing”);
break;
case 4: System.out.println(“pilih tongseng”);
break;
default: System.out.println(“Maaf, menu tidak ada”);
break;
} System.exit(0);
}
}

KESALAHAN UMUM
1.       Kondisi di dalam statement If-Statement tidak di tentukan dalam nilai Boolean.
Contoh:
                        //SALAH
        Int number = 0;
If (number){
                        //statement
}
Angka variable tidak di tentukan sebagai nilai Boolean.
2.       Menulis else-if sebagai ganti dari else-if.

KESALAHAN UMUM(2)
3.       Menggunakan = pengganti dari ==sebagai pembading
Contoh:
                        //SALAH
Int number = 0;
If (number = o){
                        //statement
}
Seharusnya di tulis
                        //BENAR
        Int number = 0
        If (number ==0){
                        //statement
}