Anda di halaman 1dari 42

INPUT DATA, PERCABANGAN &

PERULANGAN DENGAN JAVA


Fajar Y. Zebua
fajarzebua@gmail.com
Input Data
• Java menyediakan dukungan terhadap proses
I/O dengan menghadirkan paket java.io
• Proses I/O dilakukan melalui stream
• Input stream digunakan untuk membaca data
dan output stream untuk menulis data
• Kemampuan untuk memproses output dalam
java dalam bentuk byte atau bytestream diwakili
oleh class abstrak OutputStream, sedangkan
input diwakili class InputStream.
… Input Data
• Apabila memproses data karakter atau disebut
character stream seperti string atau bilangan maka
Java menyediakan class abstrak Reader dan Writer.
• BufferedInputStream dan BufferedOutputStream
menyediakan fungsi buffer dalam proses output dan
input untuk mempercepat dan mengefisiensikan
proses. Kedua class ini biasanya digunakan secara
bersamaan dengan implementasi class output dan
input stream lain.
… Input Karakter
import java.io.*;
class Program1
{
public static void main(String[] args) throws IOException
{
System.out.print(“Ketikkan sebuah karakter : “);
char a;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
a = (char) br.read();
System.out.println(“Karakter yang diketikan adalah \’” + a +
“\’”);
}
}
… Input String
import java.io.*;
class Program2
{
public static void main(String[] args) throws IOException
{
System.out.print(“Ketikkan nama anda : “);
String nama;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
nama = br.readLine();
System.out.println(nama + “, anda sedang belajar input data”);
}
}
… Input Bilangan Bulat
import java.io.*;
class Program3
{
public static void main(String[] args) throws IOException {
System.out.print(“Ketikan sebuah bilangan bulat : “);
String temp;
int bilangan = 0;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
// input data dianggap sebagai string
temp = br.readLine();
try {
… Input Bilangan Bulat
// konversi dari string ke integer
bilangan = Integer.parseInt(temp);
}
catch (NumberFormatException nfe)
{
System.out.println(“Data yang diketikan ” + “bukan
bilangan bulat”);
System.exit(1);
}
System.out.println(“Bilangan yang diketikan ” +
“adalah ” + bilangan);
}
}
Percabangan
• Percabangan adalah suatu keadaan dimana
pernyataan dapat dieksekusi apabila suatu
kondisi memenuhi syarat untuk mengerjakan
pernyataan tersebut
• Percabangan di Java :
1. if
2. switch
… Percabangan
• Program hanya akan menjalankan statement
yang ada didalam percabangan jika kondisi
bernilai benar atau true.
• Kondisi pada percabangan harus berupa
operator Boolean.
… Percabangan
• Contoh:
int a = 5 // statement bukan merupakan kondisi
int a == 5 // statement yang berupa kondisi

• Kondisi pada java menggunakan operator –


operator Boolean yang hanya memberikan
hasil true atau false seperti ==, >, <, >=, <=,
!=, &, &&, |, ||
Percabangan if
• Menyatakan pernyataan akan dieksekusi jika
memenuhi syarat atau kondisi tertentu
• Sintaks percabangan ini adalah sebagai berikut:
… Percabangan if
• Bentuk percabangan if : • Bentuk blok

if (suatu_kondisi) if (suatu_kondisi) {
perintah_1; perintah_1;
else } else {
perintah_2; perintah_2;
}
… Percabangan if
• Contoh :
int nilai = 10;
if (nilai = = 10) {
System.out.println("sepuluh");
}

Apa hasilnya ?? Hasilnya : sepuluh

Apa hasilnya jika “int nilai = 100;” ?


… Percabangan if
• Contoh :
public class If
{
public static void main(String[] args){
int anInt = 0;
if (anInt==0){
System.out.println("Variabel anInt
bernilai nol");
}
}
Hasilnya : Variabel anInt bernilai nol
}
Percabangan if - else
• Percabangan yang digunakan untuk memilih
salah satu dari dua atau lebih kemungkinan
kemunculan bila memenuhi syarat atau kondisi
tertentu.
• Jika kondisi dievaluasi bernilai true, maka
statement yang telah kita instruksikan yang
akan di eksekusi. Namun jika kondisi dievaluasi
bernilai false, maka statement pada instruksi
else yang akan dieksekusi oleh program.
… Percabangan if - else
• Contoh :
Maka output yang akan
..... tampil adalah Nilai C
int a=70;
if (a>=90)
System.out.println("Nilai=A");
else if (a>=80)
System.out.println("Nilai=C");
.....
… Percabangan if - else
• Contoh :
int nilai = 8;
if (nilai = = 10) {
System.out.println ("Sepuluh");
} else {
System.out.println ("Bukan Sepuluh");
}

Output : Bukan Sepuluh


Percabangan if bersarang
• Percabangan if bersarang merupakan gabungan
beberapa if dan dapat pula digabungkan dengan if-else.
Bentuk pernyataan if bersarang adalah sebagai berikut :

if (kondisi1) {
// perintah kondisi1
} else if (kondisi2) {
// perintah kondisi2
} else if (kondisi3) {
// perintah kondisi3
} else {
// perintah jika semua kondisi tidak ada yang benar
}
… Percabangan if bersarang
• Contoh :
int nilai = 6;
char index ;
if (nilai >= 8) {
index = 'A'; Output :
} else if (nilai >= 7) {
index = 'B';
} else if (nilai >= 6) {
index = 'C'; C
} else if (nilai >= 5) {
index = 'D';
} else {
index = 'E';
}
System.out.println (index);
Percabangan switch
• Pernyataan switch memberikan suatu cara
untuk mengirim bagian program berdasarkan
nilai suatu variabel atau pernyataan tunggal.
• Percabangan switch dimaksudkan untuk
menangani banyak kemungkinan kemunculan.
… Percabangan switch
• Bentuk umum percabangan switch:
switch (expression) {
case valeue1:
break;
case value2;
break;
case valueN;
break;
default;
}
… Percabangan switch
• Pernyataan switch bekerja dengan cara seperti
ini:
nilai expression dibandingkan dengan setiap
nilai pada pernyataan case. Jika ada yang cocok,
maka urutan program yang ada di belakang
penyataan case akan dijalankan. Jika tidak ada
yang cocok, maka pernyataan default yang
dijalankan. Pernyataan default merupakan
pilihan juga. Jika tidak ada yang cocok dan tidak
ada default, tidak ada yang dikerjakan.
… Percabangan switch
• Kata kunci break sering digunakan dalam
pernyataan switch tanpa label. Di dalam
pernyataan switch, break tanpa label
menyebabkan eksekusi percabangan langsung
menuju akhir pernyataan switch. Jika kita tidak
menuliskan break, maka eksekusi akan
dilanjutkan ke dalam case selanjutnya.
… Percabangan switch
• Catatan ekspresi hanya bisa berbentuk nilai
bilangan bulat (int, short, dan sejenisnya) atau
karakter, sehingga kita tidak bisa menggunakan
switch untuk mengevaluasi ekspresi yang
berbentuk String.
… Percabangan switch
public class Switch1
{
public static void main(String[] args)
{
int a;
a = 5;
switch (a) {
case 0: System.out.println("Nol");
case 1: System.out.println("Satu");
case 2: System.out.println("Dua");
case 3: System.out.println("Tiga");
… Percabangan switch
case 4: System.out.println("Empat");
case 5: System.out.println("Lima");
case 6: System.out.println("Enam");
case 7: System.out.println("Tujuh");
case 8: System.out.println("Delapan");
case 9:
System.out.println("Sembilan");
default: System.out.println("bukan
karakter digit"); } } }
Kendali Percabangan
Bahasa Java menyediakan beragam kendali
percabangan tidak lokal, yaitu:
• break,
• return, dan
• continue.
Break
• Istilah break mengacu pada proses
memecahkan blok program. Proses tersebut
memerintahkan runtime untuk menjalankan
program di belakang blok tertentu.
• Untuk dapat ditunjuk, suatu blok diberi nama,
dan Java memiliki bentuk label untuk
menyatakan nama suatu blok.
… Break
class Break {
public static void main(String[] args) {
boolean t =true;
a: {
b: {
Output :
c: { Sebelum break
System.out.println("Sebelum break"); Ini adalah setelah b
if (t)
break b;
System.out.println("Ini tidak akan dieksekusi"); }
System.out.println("Ini tidak akan dieksekusi"); }
System.out.println("Ini adalah setelah b"); }
}}
Return

class Return1
{
public static void main(String[] args)
{
boolean t = true;
System.out.println("Before the return");
if (t)
return;
System.out.println("This won't execute");
}
}
Continue
class Continue1
{
public static void main(String[] args)
{
for (int i = 0; i<10; i++) {
System.out.print(i + " "); if
(i% 2 == 0)
continue;
System.out.println("");
}}}
Perulangan
Terdapat beberapa jenis perulangan pada Java,
yaitu :
• for
• while
• do-while
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
… Perulangan for
• Contoh :
public class For1
{
public static void main(String[] args)
{
int i;
for (i = 1;i<11;i++)
System.out.println(i);
}
Kendali Loop di dalam for-loop
{
public static void main(String[] args)
{
for (int i = 1;i<11;i++)
System.out.println(i);
}
}
Penggunaan Koma Di for-loop
public class Forkoma1{
public static void main(String[] args){
for(int i=1,j=4; i<j; i++,j--){
System.out.println("i = " + i);
System.out.println("j = " + j);
} } }
Pernyataan for loop bersarang
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();
}
}
}
Perulangan While
• Pengulangan while mempunyai kondisi yang
menngendalikan pernyataan perulangan.
Berikut bentuk dasar perulangan while:
[initialization;]
while (Pernyataan boolean/ LoopCondition/
Termination) {
Statement;
[iteration;]
}
… Perulangan While

• Jika LoopCondition/ pernyataan boolean


dievaluasi true, maka statement dieksekusi dan
proses terus berlanjut berulang kali. Penting
diketahui bahwa LoopCondition muncul
sebelum badan dari pernyataan. Ini berarti jika
LoopCondition sejak semula dievaluasi false,
maka statement tidak pernah dieksekusi.
… Perulangan While
• Contoh :
class While1{
public static void main(String[]
args){
int n = 10;
while (--n >= 0)
System.out.println("track " + (n +
1));
}
}
Perulangan do-while
• Perulangan do-while serupa dengan perulangan
while, hanya saja pemeriksaan kondisi yang
dilakukan adalah setelah pernyataan.
• Kadang-kadang diinginkan untuk mengeksekusi
badan program dengan perulangan while sekurang-
kurangnya sekali, bahkan jika pernyataan boolean-
nya langsung menghasilkan false.
… Perulangan do-while
• Contoh:
class DoWhile{
public static void main(String[]
args){
int n = 10;
do
System.out.println("track " + n);
while (--n > 0);
}
}

Anda mungkin juga menyukai