650 likes | 1.12k Views
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
E N D
INPUT DATA, PERCABANGAN & PERULANGAN DENGAN JAVA Fajar Y. Zebua fajarzebua@gmail.com
Input Data • Java menyediakandukunganterhadapproses I/O denganmenghadirkanpaketjava.io • Proses I/O dilakukanmelaluistream • Input stream digunakanuntukmembaca data danoutput stream untukmenulisdata • Kemampuanuntukmemproses output dalam java dalambentukbyteataubytestreamdiwakilioleh class abstrakOutputStream, sedangkan input diwakili class InputStream.
… Input Data • Apabilamemproses data karakterataudisebutcharacter stream seperti string ataubilanganmaka Java menyediakan class abstrakReaderdanWriter. • BufferedInputStreamdanBufferedOutputStreammenyediakanfungsibufferdalamproses output dan input untukmempercepatdanmengefisiensikanproses. Kedua class inibiasanyadigunakansecarabersamaandenganimplementasi class output dan input stream lain.
… Input Karakter import java.io.*;class Program1{public static void main(String[] args) throws IOException{System.out.print(“Ketikkansebuahkarakter : “);char a; InputStreamReaderisr = new InputStreamReader(System.in);BufferedReaderbr = new BufferedReader(isr); a = (char) br.read(); System.out.println(“Karakter yang diketikanadalah \’” + a + “\’”);}}
… Input String import java.io.*;class Program2{public static void main(String[] args) throws IOException{System.out.print(“Ketikkannamaanda : “); String nama; InputStreamReaderisr = new InputStreamReader(System.in);BufferedReaderbr = new BufferedReader(isr); nama= br.readLine(); System.out.println(nama+ “, andasedangbelajar input data”);}}
… Input BilanganBulat import java.io.*;class Program3{public static void main(String[] args) throws IOException { System.out.print(“Ketikansebuahbilanganbulat : “); String temp;intbilangan = 0; InputStreamReaderisr = new InputStreamReader(System.in);BufferedReaderbr = new BufferedReader(isr); // input data dianggapsebagai stringtemp = br.readLine(); try {
… Input BilanganBulat // konversidari string ke integerbilangan = Integer.parseInt(temp);}catch (NumberFormatExceptionnfe){System.out.println(“Data yang diketikan ” + “bukanbilanganbulat”);System.exit(1);} System.out.println(“Bilangan yang diketikan ” + “adalah ” + bilangan);}}
Percabangan • Percabanganadalahsuatukeadaandimanapernyataandapatdieksekusiapabilasuatukondisimemenuhisyaratuntukmengerjakanpernyataantersebut • Percabangandi Java : 1. if 2. switch
… Percabangan • Program hanyaakanmenjalankan statement yang adadidalampercabanganjikakondisibernilaibenaratautrue. • Kondisipadapercabanganharusberupa operator Boolean.
… Percabangan • Contoh:int a = 5 // statement bukanmerupakankondisiint a == 5 // statement yang berupakondisi • Kondisipada java menggunakanoperator – operator Boolean yang hanyamemberikanhasil true atau false seperti==, >, <, >=, <=, !=, &, &&, |, ||
Percabangan if • Menyatakan pernyataan akan dieksekusi jika memenuhisyaratataukondisitertentu • Sintakspercabanganiniadalahsebagaiberikut:
… Percabangan if • Bentukblok if (suatu_kondisi) { perintah_1; } else { perintah_2; } • Bentukpercabangan if : if(suatu_kondisi) perintah_1; else perintah_2;
… Percabangan if • Contoh : intnilai = 10; if (nilai = = 10) {System.out.println("sepuluh");} Apahasilnya ?? Hasilnya :sepuluh Apahasilnyajika“intnilai = 100;” ?
… Percabangan if • Contoh : public class If { public static void main(String[] args){ intanInt = 0; if (anInt==0){ System.out.println("VariabelanIntbernilainol"); } } } Hasilnya :VariabelanIntbernilainol
Percabangan if - else • Percabanganyang digunakanuntukmemilihsalahsatudariduaataulebihkemungkinankemunculanbilamemenuhisyaratataukondisitertentu. • Jikakondisidievaluasibernilaitrue, makastatement yang telahkitainstruksikan yang akandieksekusi. Namunjikakondisidievaluasibernilaifalse, makastatementpadainstruksielse yang akandieksekusioleh program.
… Percabangan if - else Maka output yang akantampiladalahNilai C • Contoh : .....int a=70;if (a>=90)System.out.println("Nilai=A");else if (a>=80)System.out.println("Nilai=C");.....
… Percabangan if - else • Contoh : intnilai = 8;if (nilai = = 10) {System.out.println("Sepuluh");} else { System.out.println("BukanSepuluh");} Output : BukanSepuluh
Percabangan if bersarang • Percabangan if bersarangmerupakangabunganbeberapa if dandapat pula digabungkandengan if-else. Bentukpernyataan if bersarangadalahsebagaiberikut : if (kondisi1) { // perintah kondisi1} else if (kondisi2) { // perintah kondisi2} else if (kondisi3) {// perintah kondisi3} else { // perintahjikasemuakondisitidakada yang benar}
… Percabangan if bersarang • Contoh : intnilai = 6; char index ; if (nilai >= 8) { index = 'A'; } else if (nilai >= 7) { index = 'B'; } else if (nilai >= 6) { index = 'C'; } else if (nilai >= 5) { index = 'D'; } else { index = 'E';} System.out.println(index); Output : C
Percabangan switch • Pernyataan switch memberikan suatu cara untuk mengirim bagian program berdasarkannilaisuatuvariabelataupernyataantunggal. • Percabanganswitch dimaksudkanuntukmenanganibanyakkemungkinankemunculan.
… Percabangan switch • Bentukumumpercabanganswitch: switch (expression) { case valeue1: break; case value2; break; case valueN; break; default; }
… Percabangan switch • Pernyataanswitch bekerjadengancarasepertiini: nilaiexpression dibandingkandengansetiapnilaipadapernyataan case. Jikaada yang cocok, makaurutan program yang adadibelakangpenyataan case akandijalankan. Jikatidakada yang cocok, makapernyataandefault yang dijalankan. Pernyataan default merupakanpilihanjuga. Jikatidakada yang cocokdantidakada default, tidakada yang dikerjakan.
… Percabangan switch • Katakuncibreakseringdigunakandalampernyataan switch tanpa label. Di dalampernyataan switch, break tanpalabel menyebabkaneksekusipercabanganlangsungmenujuakhirpernyataan switch. Jikakitatidakmenuliskan break, makaeksekusiakandilanjutkankedalam case selanjutnya.
… Percabangan switch • Catatanekspresihanyabisaberbentuknilaibilanganbulat (int, short, dansejenisnya) ataukarakter, sehinggakitatidakbisamenggunakan switch untukmengevaluasiekspresi 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("bukankarakter digit"); } } }
KendaliPercabangan BahasaJava menyediakanberagamkendalipercabangantidaklokal, yaitu: • break, • return, dan • continue.
Break • Istilahbreak mengacupadaprosesmemecahkanblokprogram. Prosestersebutmemerintahkanruntime untukmenjalankan program dibelakangbloktertentu. • Untukdapatditunjuk, suatublokdiberinama, dan Java memilikibentuk label untukmenyatakannamasuatublok.
… Break class Break { public static void main(String[] args) { boolean t =true; a: { b: { c: { System.out.println("Sebelum break"); if (t) break b; System.out.println("Initidakakandieksekusi"); } System.out.println("Initidakakandieksekusi"); } System.out.println("Iniadalahsetelah b"); } } } Output : Sebelumbreak Iniadalahsetelah 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 Terdapatbeberapajenisperulanganpada Java, yaitu : • for • while • do-while
Perulangan for • Menyediakansaranamengulangkodedalamjumlahyang tertentu. Pengulanganiniterstrukturuntukmengulangikodesampaitercapaibatastertentu. • Berikut bentuk dasar perulangan for: for (InitializationExpression; LoopCondition; StepExpression) statement
… Perulangan for • Contoh : public class For1 { public static void main(String[] args) { inti; for (i = 1;i<11;i++) System.out.println(i); }
Kendali Loop didalam for-loop { public static void main(String[] args) { for (inti = 1;i<11;i++) System.out.println(i); } }
PenggunaanKoma 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(inti=0;i<10;i++){ for(intj=i;j<10;j++){ System.out.print("*");} System.out.println(); } } }
Perulangan While • Pengulanganwhile mempunyaikondisi yang menngendalikanpernyataanperulangan. Berikutbentukdasarperulanganwhile: [initialization;] while (Pernyataanboolean/ LoopCondition/ Termination) { Statement; [iteration;] }
… PerulanganWhile • JikaLoopCondition/ pernyataanbooleandievaluasi true, maka statement dieksekusidanprosesterusberlanjutberulang kali. PentingdiketahuibahwaLoopConditionmunculsebelumbadandaripernyataan. IniberartijikaLoopConditionsejaksemuladievaluasifalse, maka statement tidakpernahdieksekusi.
… Perulangan While • Contoh : class While1{ public static void main(String[] args){ intn = 10; while (--n >= 0) System.out.println("track " + (n + 1)); } }
Perulangan do-while • Perulangan do-while serupadenganperulangan while, hanyasajapemeriksaankondisiyang dilakukanadalahsetelahpernyataan. • Kadang-kadangdiinginkanuntukmengeksekusibadan program denganperulangan while sekurang-kurangnyasekali, bahkanjikapernyataanboolean-nyalangsungmenghasilkan false.
… Perulangan do-while • Contoh: class DoWhile{ public static void main(String[] args){ intn = 10; do System.out.println("track " + n); while (--n > 0); } }