PENYELEKSIAN /PERCABANGAN
& PERULANGAN
Part II
5
th
week
Percabangan
•
Pada java terdapat beberapa percabangan, yaitu :
1.
if
2.
if-else
3.
switch
4.
case
Estu Sinduningrum, ST, MT
Resume
•
Berikut ada 3 fitur penting dari pernyataan switch, yaitu :
1.
Pernyataan
switch
berbeda dengan pernyataan if dimana
switch
hanya dapat menguji
kesamaan, sedang pernyataan if dapat melakukan evaluasi sembarang tipe ekspresi
boolean. Dengan demikian terlihat
switch
seperti hanya mencocokkan di antara
nilai-nilai ekspresi dan konstanta-konstanta
case
.
Tugas Hari ini
1.
Run Program dari latihan 26-35
Tugas Minggu Depan :
1.
Minggu depan Quiz
2.
Materi sesuai latihan 1-35.
3.
Gambar flowchart (sediakan alat tulis, dan kertas
folio).
4.
Soal 4 ( (3 soal) membuat program & run program,
menulis program dan flowchart di kertas folio, (1
soal) memperbaiki program yang salah).
Belajar melalui contoh
Latihan 26 :
waterToy.java
•
Persoalan :
•
Bentuk air bergantung terhadap suhu (t-temperature) sebagai berikut :
•
t>0
Berbentuk es atau beku.
•
t=0
Berbentuk transisi es dan cair
•
0<t<100
Berbentuk cair
•
t=100
Berbentuk transisi cari dan gas
public class WaterToy { private double temperature; /** Creates a new instance of WaterToy */
public WaterToy(double temperature) { this.temperature = temperature; }
public String getForm(){
if(temperature < 0) return "Es - beku"; if(temperature == 0) return "Transisi Es dan Air"; if(temperature >0 && temperature <100) return "Air - cair";
if(temperature == 100) return "Transisi Cair dan Uap";
public String getWorstForm(){
// Bila tanpa fasilitas return dan else if seperti pada Pascal
public String toWorseString(){
String str =
"Air bersuhu : "+temperature+"\n"+
"Berbentuk : "+getWorseForm();
return str; }
public String toWorstString(){
String str =
System.out.println(t.toWorseString());
}
public static void main(String[] args){
test();
Keyword
break
dan
continue
•
Bahasa java menyediakan beragam coding yang
mirip dengan C/C++, seperti :
1.
break
1.
Break
•
Berfungsi untuk menghentikan statement yang terletak pada bagian loop
yang terdalam.
•
Biasanya digunakan bersama dengan statement yang mengandung if.
2.
Continue
•
Keyword ini hanya menghentikan perulangan yang sedang berlangsung.
•
Kendali program akan menuju akhir dari body loop.
•
Sama seperti break, keyword ini biasanya digunakan bersama dengan
statement yang mengandung if.
Estu Sinduningrum, ST, MT
Latihan 27 :
DemoBreak2.java
Estu Sinduningrum, ST, MT
/**
* Title : Program Demo Break 2
* Diskripsi : Mengaplikasikan pemakaian break
*
untuk menghentikan perulangan.
*/
public class DemoBreak2
{
/** Main Method */
public static void main(String[] args) {
int counter = 0;
System.out.println("Counter terakhir adalah :"+ counter);
}
•
Keyword
ini
hanya
menghentikan
perulangan yang sedang berlangsung.
•
Kendali program akan menuju akhir dari
body loop.
•
Sama seperti break, keyword ini biasanya
digunakan bersama dengan statement
yang mengandung
if
Latihan 28:
DemoCountinue.java
Estu Sinduningrum, ST, MT
/**
* Title : Program Demo Countinue
* Diskripsi : Mengaplikasikan pemakaian Countinue
* untuk menghentikan sementara
* proses perulangan.
*/
public class C
{
/** Main Method */
public static void main(String[] args) {
int counterDiabaikan = 0;
continue; // Menghentikan sisa perulangan
} // jika counter = 3
dihentikan "+ "oleh 'countinue' pada counter ke : " +
PERULANGAN
•
Perulangan atau
looping
adalah bagian kode program yang
bertugas melakukan suatu proses terus-menerus sampai
kondisi berhenti terpenuhi.
•
Secara umum perulangan dibagi tiga, yaitu :
1.
Perulangan for,.
2.
Perulangan while-do.
3.
Perulangan repeat-until.
Perulangan for
•
Bentuk ini adalah yang paling sering digunakan for akan mengulang
suatu statement atau blok statement sejumlah yang dikehendaki,
yakni bila kondisi akhir telah tercapai.
•
Dari bentuk di atas, terdapat tiga bagian dalam deklarasi for yakni :
1.
kondisi awal,
2.
akhir, dan
3.
banyaknya increment.
Estu Sinduningrum, ST, MT
for (kondisi awal; persyaratan atau kondisi akhir; increment) {
blok statement;
Kondisi Awal
•
Adalah bagan yang menginisialisasi permulaan dari perulangan, umumnya dalam
perulangan, kita memerlukan suatu variabel yang berfungsi sebagai indeks perulangan.
•
Indeks ini akan memiliki tiga fungsi, yakni sebagai kondisi awal sebelum loop dieksekusi,
sebagai kondisi akhir yang akan dicapai, serta berapa jumlah kenaikan (increment untuk
setiap langkah perulangan.
•
Ambil contoh, kita menggunakan variabel i sebagai indeks loop.
•
Sebelum loop dieksekusi, kita harus menginisialisasi variabel i ini dengan
•
nilai awal, misalnya int i = 0;
•
Bila terdapat lebih dari satu variabel indeks, kita dapat menginisialisasinya secara bersamaan
dan di antara masing-masing variabel dipisahkan dengan koma, misalnya: int i = 0, int k = 0.
•
Sebagai catatan, variabel yang dideklarasikan sebagai indeks perulangan ini hanya berlaku di
dalam scope perulangan itu sendiri, jadi tidak akan mengganggu variabel lain yang berada di
luar scope.
•
Begitu perulagan tersebut selesai dieksekusi, maka variabel indeks akan berakhir masa
tugasnya.
Persyaratan / Kondisi Akhir
•
Adalah bagian yang akan menyebabkan inrerpreter
menghentikan perulangan karena telah tercapai suatu
kondisi akhir.
•
Kondisi akhir ini dapat berupa suatu nilai boolean
yaitu: benar atau salah atau merupakan fungsi yang
bisa menghasilkan nilai logika boolean.
Increment
•
Adalah bagian yang menunjukkan berapa jumlah
kenaikan untuk setiap langkah perulangan.
•
Misalnya i = i +1 atau yang biasa disingkat
•
Sebagai i++ akan menyebabkan variabel indeks
perulangan ditambah satu.
Perulangan For
•
Perulangan
for
digunakan jika sudah dapat
dipastikan kapan pengulangan berhenti.
•
Dengan kata lain, jumlah perulangan yang
dibutuhkan sudah diketahui sebelumnya.
•
Ada dua model perulangan dalam
for
, yaitu :
Perulangan
for
naik
Perulangan
for
turun
Latihan 29 :
DemoFor.java
/**
* Title : Program Demo For
•
Deskripsi : Mendemonstrasikan pemakaian
•
perulangan for untuk mencetak statement ke
console sebanyak.
public static void main(String[] args) {
System.out.println("\rPROGRAM DEMO FOR");
System.out.println( "---\n" );
for ( int counter=0; counter<=5; counter++ )
System.out.println( "Mencetak counter ke-" +
counter );
Latihan 30 :
ForNested.java
public class ForNested {
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();
Perulangan While
•
Bentuk ini akan terus mengulang statement/blok statement
selama kondisi yang ditentukan belum tercapai.
•
Perulangan
while-do
biasanya digunakan jika banyaknya
perulangan tidak diketahui.
•
Misalnya pada program : login password, dimana program akan
terus mengulang meminta password selama password masih
salah, dan jika password benar proses perulangan berhenti.
Latihan 31 :
DemoWhile.java
/**
* Title : Program Demo While
•
Deskripsi : Mendemonstrasikan pemakaian perulangan while untuk mencetak statement ke console
sebanyak.
public static void main(String[] args) {
int counter = 0; //Inisialisasi counter
System.out.println("\nPROGRAM DEMO WHILE");
System.out.println( "---\n" );
while ( counter <=5) { //Kondisi perulangan
Latihan 32 :
Estu Sinduningrum, ST, MT
public class TrianglePatternToy { private int number;
/** Creates a new instance of TrianglePatternToy */ public TrianglePatternToy() {
}
public TrianglePatternToy(int number){ this.number = number; } public void setNumber(int number) {
this.number = number; } public int getNumber() {
return number; } public void printFirstPattern() {
for(int i=0;i<number;i++){ public void printFourthPattern() {
for(int i=0;i<number;i++){
Perulangan do..While
•
Perulangan
while-do..
Atau
do-while
biasanya
digunakan jika banyaknya perulangan tidak diketahui.
•
Misalnya pada program : login password, dimana
program akan terus mengulang meminta password
selama password masih salah, dan jika password benar
proses perulangan berhenti.
•
Sama seperti pada
for
, kondisi adalah ekspresi boolean
atau fungsi yang dapat menghasilkan nilai boolean
benar atau salah.
Estu Sinduningrum, ST, MT
Latihan 33 :
DemoDoWhile.java
/**
* Title : Program Demo Do...While
Deskripsi : Mendemonstrasikan pemakaian
perulangan do...while untuk mencetak statement
ke console sebanyak.
public static void main(String[] args) {
int counter = 0; //Inisialisasi counter
System.out.println("\nPROGRAM DEMO DO..WHILE");
System.out.println( "---\n" );
do { //kondisi perulangan
Latihan 34 :
Estu Sinduningrum, ST, MT
public class TrianglePatternSideBySideToy { private int number;
public TrianglePatternSideBySideToy() { }
public TrianglePatternSideBySideToy(int number){ this.number = number; } // Spasi antara segitiga ketiga dan keempat