oop - rekayasawebbl.files.wordpress.com · setiap pernyataan ditutup o lhk kleh karakter semicolon...

Post on 20-Mar-2019

231 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

OOP:OOP:OOP:OOP:J F d t lJ F d t lJava FundamentalsJava Fundamentals

RomiRomi SatriaSatria WahonoWahonoRomiRomi SatriaSatria WahonoWahonoromi@romisatriawahono.netromi@romisatriawahono.nethttp //romisatriawahono nethttp //romisatriawahono nethttp://romisatriawahono.nethttp://romisatriawahono.net

HP: 0878HP: 0878--8048048580480485YM YM r mi sr mi sYM: YM: romi_swromi_sw

Romi Satria WahonoRomi Satria Wahono

Lahir di Madiun, 2 Oktober 1974Lahir di Madiun, 2 Oktober 1974 SD Sompok SD Sompok Semarang (1987)Semarang (1987) SMPN 8SMPN 8 Semarang (1990)Semarang (1990)gg SMA Taruna NusantaraSMA Taruna Nusantara, Magelang (1993), Magelang (1993) S1 S2 dan S3 (onS1 S2 dan S3 (on leave) dari leave) dari Department Department of Computer of Computer S1, S2 dan S3 (onS1, S2 dan S3 (on--leave) dari leave) dari Department Department of Computer of Computer

Sciences, Sciences, Saitama UniversitySaitama University, Japan (1994, Japan (1994--2004)2004)C C t C C t S ft S ft E i iE i i L i L i Core Competence: Core Competence: Software Software EngineeringEngineering, eLearning , eLearning System, Knowledge ManagementSystem, Knowledge Management

ll Founder Founder dandan KoordinatorKoordinator IlmuKomputer.ComIlmuKomputer.Com CEO CEO PT Brainmatics Cipta InformatikaPT Brainmatics Cipta Informatikapp

MateriMateri

1.1. OOP ConceptsOOP Concepts::K p d P di Obj tK p d P di Obj t O i t d O i t d Konsep dan Paradigma ObjectKonsep dan Paradigma Object--Oriented Oriented

2.2. Java FundamentalsJava Fundamentals::Memahami Sintaks dan Grammar Bahasa JavaMemahami Sintaks dan Grammar Bahasa Java

33 Java AdvancedJava Advanced::3.3. Java AdvancedJava Advanced::Eksepsi, Thread, Java APIEksepsi, Thread, Java API

4.4. Java GUIJava GUI::Swing, GUI Component, Event HandlingSwing, GUI Component, Event Handling

5.5. Java GUI with NetbeansJava GUI with Netbeans::Mengembangkan Aplikasi Berbasis GUI dengan JavaMengembangkan Aplikasi Berbasis GUI dengan JavaMengembangkan Aplikasi Berbasis GUI dengan JavaMengembangkan Aplikasi Berbasis GUI dengan Java

Java FundamentalsJava Fundamentals

MateriMateri

1.1. PernyataanPernyataan dandan EkspresiEkspresi2.2. VariabelVariabel, , TipeTipe Data Data dandan LiteralLiteral33 ArrayArray3.3. ArrayArray4.4. OperatorOperatorp atp at5.5. OperasiOperasi I/O Stream I/O Stream SederhanaSederhana6.6. PernyataanPernyataan PenentuPenentu KeputusanKeputusan

P tP t P lP l PP7.7. PernyataanPernyataan PengulanganPengulangan ProsesProses88 PernyataanPernyataan PemindahPemindah ProsesProses8.8. PernyataanPernyataan PemindahPemindah ProsesProses

PernyataanPernyataan dandanEkspresiEkspresi

PernyataanPernyataan PerintahPerintah yang yang menyebabkanmenyebabkan sesuatusesuatu terjaditerjadi

d t k d t k k t l k t l d ld ldan merepresentasikan dan merepresentasikan aksi tunggal aksi tunggal dalamdalamprogram Javaprogram Javap g am Javap g am JavaContohContoh: : intint tahunProduksitahunProduksi;;

l h k kl h k k Setiap pernyataan ditutup oleh karakterSetiap pernyataan ditutup oleh karaktersemicolonsemicolon ((;;))semicolonsemicolon ((;;))

PernyataanPernyataan dikelompokkandikelompokkan dengandengan tandatandapembukapembuka (({{) dan ) dan penutuppenutup ((}}). Kelompok ini). Kelompok inidisebutdisebut blokblok atauatau blokblok pernyataanpernyataandisebutdisebut blokblok atauatau blokblok pernyataanpernyataan

EkspresiEkspresi

PernyataanPernyataan yang yang dapatdapat menghasilkanmenghasilkan suatusuatull N l d h lk l h t N l d h lk l h t nilainilai. Nilai yang dihasilkan oleh pernyataa. Nilai yang dihasilkan oleh pernyataan n

iniini yang yang disebutdisebut dengandengan nilainilai balikbalik (return(returny gy g ggvavaluelue))

NilaiNilai balikbalik bisabisa berupaberupa bilanganbilangan booleanboolean NilaiNilai balikbalik bisabisa berupaberupa bilanganbilangan, , booleanboolean,,atauatau objekobjek

Method Method tanpatanpa nilainilai balikbalik biasanyabiasanyamenggunakanmenggunakan keyword keyword voidvoidmenggunakanmenggunakan keyword keyword voidvoid

ContohContoh:: hasilBagihasilBagi = a / b;= a / b;

KataKata KunciKunciabstractabstract privateprivate casecase interfaceinterfacecontinuecontinue thisthis enumenum staticstaticaaforfor breakbreak instanceofinstanceof voidvoidnewnew doubledouble returnreturn classclassnewnew doubledouble returnreturn classclassswitchswitch implementsimplements transienttransient finallyfinallyassertassert protectedprotected catchcatch longlongassertassert protectedprotected catchcatch longlongdefaultdefault throwthrow extendsextends strictfpstrictfppa kagpa kag b tb t i ti t latillatilpackagepackage bytebyte intint volatilevolatilesynchronizedsynchronized elseelse shortshort floatfloatb lb l tt tt ttbooleanboolean importimport trytry nativenativedodo publicpublic charchar supersuperff ffifif throwsthrows finalfinal whilewhile

VariabelVariabel, , TipeTipe Data,Data,,, pp ,,dandan LiteralLiteral

VariabelVariabel Lokasi di dalam Lokasi di dalam memori komputer memori komputer yang yang

digunakandigunakan untukuntuk menyimpanmenyimpan suatusuatudigunakandigunakan untukuntuk menyimpanmenyimpan suatusuatuinformasiinformasi ((nilainilai))

ll b lb l b hb h NilaiNilai variabelvariabel dapatdapat diubahdiubah didi pernyataanpernyataanmanapunmanapun didi dalamdalam programprogrampp p gp g

MendeklarasikanMendeklarasikan variabelvariabel: : tipetipe namaVariabel1 [ namaVariabel2]namaVariabel1 [ namaVariabel2]tipetipe namaVariabel1 [, namaVariabel2]namaVariabel1 [, namaVariabel2]

ContohContoh::intint hasilKalihasilKali;;St i g St i g SiSi GG Ad iAd iString String namaSiswanamaSiswa, , namaGurunamaGuru, , namaAdminnamaAdmin;;

LingkupLingkup VariabelVariabelVariabelVariabel dipanggildipanggil berdasarkanberdasarkan lingkupnyalingkupnya, , dimulaidimulaidaridari blokblok yang paling yang paling kecilkecil kemudiankemudian blokblok didi luarluar ituitudaridari blokblok yang paling yang paling kecilkecil, , kemudiankemudian blokblok didi luarluar ituitu

11 Instance Instance VVariableariable variabelvariabel yang yang memilikimemiliki nilainilai yang yang 1.1. Instance Instance VVariableariable: : variabelvariabel yang yang memilikimemiliki nilainilai yang yang berbedaberbeda didi setiapsetiap objekobjekCl Cl VV i bli bl i b li b l b l kb l k didi tt l l dd2.2. Class Class VVariableariable: : variabelvariabel yang yang berlakuberlaku didi suatusuatu class class dandanseluruhseluruh instaninstan daridari class class tersebuttersebut ((objekobjek). ). CiriCiri class class variabl variabl adalahadalah m nggunakanm nggunakan k y rd k y rd statistativariable variable adalahadalah menggunakanmenggunakan keyword keyword staticstatic

3.3. Local Local VVariableariable: d: digunakanigunakan didi dalamdalam method method atauatau blokbloktt l bihl bih k ilk il d id i ititpernyataanpernyataan yang yang lebihlebih kecilkecil daridari ituitu

4.4. ParameterParameter: : variabelvariabel ygyg adaada didi dalamdalam pernyataanpernyataanh dh d(argument) method(argument) method

BilanganBilangan.java.javall llclass class BilanganBilangan {{

staticstatic intint pencacahpencacah = 0;= 0;llintint nilainilai;;

public public BilanganBilangan((intint nilainilai){){this.nilaithis.nilai = = nilainilai;;pencacahpencacah++;++;

}}public void info(){public void info(){

System.out.printlnSystem.out.println("("NilaiNilai:“:“ + + this.nilaithis.nilai););System.out.printlnSystem.out.println("("PencacahPencacah:“:“ + + pencacahpencacah););System.out.printlnSystem.out.println("");("");

}}}}

BilanganBeraksiBilanganBeraksi.java.javabl lbl l l kl kpublic class public class BilanganBeraksiBilanganBeraksi{{public static void main(String[] public static void main(String[] argsargs){){

ll llBilanganBilangan b1 = new b1 = new BilanganBilangan(50);(50);b1.info();b1.info();

BilanganBilangan b2 = new b2 = new BilanganBilangan(15);(15);b2.info();b2.info();

BilanganBilangan b3 = new b3 = new BilanganBilangan(30);(30);b3.info();b3.info();

}}}}

MemberiMemberi NilaiNilai VariabelVariabel

MenggunakanMenggunakan tandatanda samasama dengandengan ((==)) MenggunakanMenggunakan tandatanda samasama dengandengan ((==)) KebiasaanKebiasaan yang yang baikbaik untukuntuk memberimemberiy gy g

nilainilai awalawal (initial value) (initial value) padapada local local variabelvariabel ((mencegahmencegah bug bug padapada program)program)variabelvariabel ((mencegahmencegah bug bug padapada program)program)

ContohContoh::intint hasilTambahhasilTambah = 0;= 0;booleanboolean status = false;status = false;

MemberiMemberi NamaNama VariabelVariabel

GunakanGunakan lowercaselowercase untukuntuk variabelvariabel yang yang GunakanGunakan lowercaselowercase untukuntuk variabelvariabel yang yang terdiri dari satu kata atau kata pertamaterdiri dari satu kata atau kata pertama

kk k lk l kk k kk k dd GunakanGunakan kapitalkapital untukuntuk karakterkarakter pertamapertama daridarikatakata keduakedua, , ketigaketiga, , dstdstgg

ContohContoh::i ti t h ilh ilintint hasilhasil;;booleanboolean sstatustatusMMesinesinMMobilobil;;;;Button Button oopenpenFFileile;;

PenentuPenentu AksesAkses

PrivatePrivate: : pengaksesanpengaksesan suatusuatu instance instance variabelvariabel PrivatePrivate: : pengaksesanpengaksesan suatusuatu instance instance variabelvariabeldandan method method hanyahanya dapatdapat dilakukandilakukan didi dalamdalamclass class ( ( tidaktidak bisabisa daridari daridari luarluar class)class)class class ( ( tidaktidak bisabisa daridari daridari luarluar class)class)

Tanpa TandaTanpa Tanda: pengaksesan suatu instance : pengaksesan suatu instance pp p gp gvariabel dan method dapat dilakukan di variabel dan method dapat dilakukan di dalam kelas dan kelas lain dalam satu paketdalam kelas dan kelas lain dalam satu paketdalam kelas dan kelas lain dalam satu paketdalam kelas dan kelas lain dalam satu paket

PublicPublic: : pengaksesanpengaksesan suatusuatu instance variable instance variable d th d d t dil k k d i l d th d d t dil k k d i l dan method dapat dilakukan dari luar dan method dapat dilakukan dari luar ((sembarangsembarang) ) kelaskelas

Class Class AccesAcces Level Level

SpecifierSpecifier ClassClass PackagePackage SubClassSubClass WorldWorldSpecifierSpecifier ClassClass PackagePackage SubClassSubClass WorldWorld

privateprivate privateprivate

f f no specifierno specifier

protectedprotected

publicpublic

18

TipeTipe DataData

1.1. TipeTipe Data Data PrimitifPrimitifpp SebagaiSebagai katakata kuncikunci didi Java (lowercase)Java (lowercase) Embedded Embedded didi compiler Javacompiler Java Embedded Embedded didi compiler Javacompiler Java PemrosesanPemrosesan relatifrelatif cepatcepat ContohContoh: : intint, double, double

22 TipeTipe Data Data ReferenceReference2.2. TipeTipe Data Data ReferenceReference Class yang Class yang adaada didi library Java (library Java (java.langjava.lang)) MenggunakanMenggunakan capitalcapital ContohContoh: String, Integer, Double: String, Integer, DoubleContohContoh: String, Integer, Double: String, Integer, Double

TipeTipe Data Data PrimitifPrimitif

1.1. bytebyte CatatanCatatan::2.2. shortshort33 iintnt

a a aa a a Secara umum jenis tipe Secara umum jenis tipe

data:data:3.3. iintnt4.4. longlong

bilanganbilangan bulatbulat, , pecahanpecahan, , karakterkarakter dandan booleanboolean

5.5. floatfloat66 d bld bl

HasilHasil operasioperasi matematikamatematikaakanakan mengikutimengikuti tipetipe data data d id i dd6.6. doubledouble

7.7. charchardaridari operandoperand

8.8. bbooleanoolean

TipeTipe DataDataPrimitifPrimitif

KeteranganKeterangan UkuranUkuran JangkauanJangkauan

bytebyte BilanganBilangan bulatbulat 8 bit8 bit --128 128 127127

shortshort BilanganBilangan bulatbulat 16 bit16 bit --32.76832.768 32.76732.767

intint BilanganBilangan bulatbulat 32 bit32 bit --2.147.483.6482.147.483.6482.147.483.6472.147.483.647

longlong BilanganBilangan bulatbulat 64 bit64 bit --9.223.372.036.854.775,8089.223.372.036.854.775,808 9.223...8079.223...807

floatfloat BilanganBilangan pecahanpecahan 32 bit 32 bit ((presisipresisi 66--7 bit)7 bit)

--3.4E38 3.4E38 3.4E383.4E38

doubledouble BilanganBilangan pecahanpecahan 64 bit64 bit((presisipresisi 1414--15 15 bit)bit)

--1.7E308 1.7E308 1.7E3081.7E308

bit)bit)charchar KarakterKarakter ((unicodeunicode)) 16 bit16 bit \\u0000 u0000 \\uffffuffff

booleanboolean LogikaLogika (true/false)(true/false)

Karakter.javaKarakter.javabl lbl l kkpublic class public class KarakterKarakter{{public static void main(String[] public static void main(String[] argsargs){){p gp g gg

char karakter1=88 karakter2='X' karakter3='Y';char karakter1=88 karakter2='X' karakter3='Y';char karakter1=88, karakter2= X , karakter3= Y ;char karakter1=88, karakter2= X , karakter3= Y ;

ll (( kk k k ) k k )System.out.printlnSystem.out.println("("KarakterKarakter 1: " + karakter1);1: " + karakter1);System.out.printlnSystem.out.println("("KarakterKarakter 2: " + karakter2);2: " + karakter2);y py pSystem.out.printlnSystem.out.println("("KarakterKarakter 3: " + karakter3);3: " + karakter3);

}}}}}}

Constant Variable (Constant Variable (KonstantaKonstanta))

Constant Constant VVariableariable digunakandigunakan apabilaapabila kitakita ingininginb tb t il iil i b hb h i bl i bl tid ktid k b b hb b hmembuatmembuat nilainilai sebuahsebuah variable variable tidaktidak berubahberubah

((tetaptetap)) Constant variable Constant variable menggunakanmenggunakan keyword keyword finalfinal

di depan tipe data, kadang sering juga di depan tipe data, kadang sering juga p p , g g j gp p , g g j gdigabungkandigabungkan dengandengan keyword keyword staticstatic. . NamaNamaconstant variable constant variable biasanyabiasanya menggunakanmenggunakan kapitalkapitalconstant variable constant variable biasanyabiasanya menggunakanmenggunakan kapitalkapital

ContohContoh::f l fl t f l fl t PIPI 3 141592 3 141592final float final float PIPI = 3.141592;= 3.141592;static final static final booleanboolean DEBUGDEBUG = false;= false;

LiteralLiteralSemuaSemua informasiinformasi ((bilanganbilangan, , karakterkarakter, string, , string, boolean ) yang boolean ) yang merepresentasikan suatu nilaimerepresentasikan suatu nilaiboolean ) yang boolean ) yang merepresentasikan suatu nilaimerepresentasikan suatu nilai

Literal Literal BilanganBilangan ((bulatbulat dandan pecahanpecahan):):hh 2 l 2 l ll 4L 4L intint tahuntahun = 2008; long = 2008; long nilainilai = 4L= 4L

double double myScoremyScore = 2.25; float = 2.25; float piValuepiValue = 3.1415927F;= 3.1415927F; double x = 12e22; double y = 19Edouble x = 12e22; double y = 19E--95;95;

Literal Literal BooleanBoolean (true (true dandan false):false):ite a ite a eanean (t e (t e dandan fa e)fa e) booleanboolean pilihanpilihan = true;= true;

Literal Literal StringString Literal Literal StringString:: String String quitMsgquitMsg = “Yakin = “Yakin InginIngin KeluarKeluar?”;?”;

Literal Literal KarakterKarakter ((unicodeunicode))

Character EscapeCharacter EscapeEscape Meaning

\n New line

\t Tab

\b Backspacep

\r Carriage return

\f Formfeed\f Formfeed

\\ Backslash

\' Sin l t ti n m k\' Single quotation mark

\" Double quotation mark

\d Octal

\xd Hexadecimal

\ud Unicode character

PengarahPengarah TipeTipe (Type(Type--Casting)Casting) PengarahPengarah TipeTipe (Type(Type--Casting)Casting) ContohContoh::

intint ii = 10;= 10;char char paksapaksa = = (char)(char) ii;;

Casting Casting tanpatanpa menghilangkanmenghilangkan nilainilai::

TiTi S bS b TiTi T jT jTipeTipe SumberSumber TipeTipe TujuanTujuanbytebyte short, char, short, char, intint, long, float, double, long, float, doublehh l fl d bll fl d blshortshort intint, long, float, double, long, float, double

charchar intint, long, float, double, long, float, doubleintint long, float, doublelong, float, doublelonglong float, doublefloat, doublefloatfloat doubledouble

LuasSegitiga.javaLuasSegitiga.javabl lbl lpublic class public class LuasSegitigaLuasSegitiga {{public static void main(String[] public static void main(String[] argsargs) {) {p gp g gg

intint alasalas= 17;= 17;intint tinggitinggi = 11;= 11;intint tinggitinggi = 11;= 11;

d bl d bl ll (d bl )(d bl ) ( l( l ))double double luasluas = = (double)(double) (alas(alas**tinggitinggi)/2;)/2;

System.out.printlnSystem.out.println("("LuasLuas SegitigaSegitiga : " + : " + luasluas););}}}}

}}

LatihanLatihan: : HitungHitung LuasLuas LingkaranLingkaran BuatBuat class class LingkaranLingkaran yang yang mempunyaimempunyai

method method menghitungmenghitung luasluas lingkaranlingkaranmethod method menghitungmenghitung luasluas lingkaranlingkaranvoid void hitungLuashitungLuas(double r){ ... }(double r){ ... } RumusRumus luasluas lingkaranlingkaran= = PIPI* r * r* r * r PIPI adalah konstanta dengan nilai 3. 141592adalah konstanta dengan nilai 3. 141592ada a n an a d ngan n a 9ada a n an a d ngan n a 9 rr adalahadalah jarijari--jarijari lingkaranlingkaranB tB t l l Li k B k iLi k B k i BuatBuat class class LingkaranBeraksiLingkaranBeraksi, yang , yang menampilkanmenampilkan hasil perhitungan luas hasil perhitungan luas l ll l hhlingkaran dalam dua lingkaran dalam dua bentuk: bentuk: pecahanpecahan dan dan bulatbulat (type(type--casting). Beri casting). Beri nilainilai rr = 11.78= 11.78ypyp gg

Array (Array (LarikLarik))

Konsep Array (Larik)Konsep Array (Larik) Array Array adalahadalah objekobjek yang yang dapatdapat digunakandigunakan untukuntuk

menyimpan sejumlah datamenyimpan sejumlah datamenyimpan sejumlah datamenyimpan sejumlah data

Elemen yang disimpan pada array dapat berupa Elemen yang disimpan pada array dapat berupa tipe primitif tipe primitif ((intint floatfloat etcetc) ) atauatau objekobjek ((instaninstantipe primitif tipe primitif ((intint, , floatfloat, , etcetc) ) atauatau objekobjek ((instaninstandari class)dari class)

k h k k h k Langkah menciptakan array:Langkah menciptakan array:1.1. Mendeklarasikan variabel arrayMendeklarasikan variabel arrayyy2.2. Menciptakan objek arrayMenciptakan objek array

DeklarasiDeklarasi VariabelVariabel ArrayArray

BentukBentuk DeklarasiDeklarasi:: BentukBentuk DeklarasiDeklarasi::tipePrimitiftipePrimitif[] [] namaVariabelnamaVariabel;;

ll b lb lnamaKelasnamaKelas[] [] namaVariabelnamaVariabel;;

ContohContoh::String[] String[] kotakota;;intint[] [] nomornomor;;

MenciptakanMenciptakan ObjekObjek ArrayArray

BentukBentuk DeklarasiDeklarasi::namaVariabelnamaVariabel = new = new tipePrimitiftipePrimitif[[jumlahElemenjumlahElemen];];namaVariabelnamaVariabel = new = new namaKelasnamaKelas[[jumlahElemenjumlahElemen];];

ContohContoh::nomornomor = new = new intint[7];[7];nomornomor = new = new intint[7];[7];kotakota = new String[8];= new String[8];

BentukBentuk singkatsingkat deklarasideklarasi variable variable dandan objekobjekarray:array:a aya ayString[] String[] kotakota = new String[8]; = new String[8]; intint[] [] nomornomor = new = new intint[7];[7];intint[] [] nomornomor new new intint[7];[7];

MengaksesMengakses ElemenElemen ArrayArray

BentukBentuk DeklarasiDeklarasi BentukBentuk DeklarasiDeklarasinamaVariabelArraynamaVariabelArray[[nomorElemennomorElemen];];

C t hC t h ContohContoh::kotakota[0] = “Surabaya”;[0] = “Surabaya”;kotakota[0] Surabaya ;[0] Surabaya ;

ArrayKota.javaArrayKota.javabl l bl l {{public class public class ArrayKotaArrayKota{{public static void main(String[] public static void main(String[] argsargs){){

St i [] St i [] k tk t ////d kl id kl i i b li b lString[] String[] kotakota;; ////deklarasideklarasi variabelvariabel arrayarraykotakota = new String[3];= new String[3]; // // membuatmembuat objekobjek arrayarray

// // mengisimengisi elemenelemen arrayarraykotakota[0] = "Jakarta";[0] = "Jakarta";kotakota[0] Jakarta ;[0] Jakarta ;kotakota[1] = "Surabaya";[1] = "Surabaya";kotakota[2] = "Semarang";[2] = "Semarang";aa[ ] S ma ang ;[ ] S ma ang ;// // menampilkanmenampilkan elemenelemen arrayarraySystem.out.printlnSystem.out.println((kotakota[0]);[0]);y py pSystem.out.printlnSystem.out.println((kotakota[1]);[1]);System.out.printlnSystem.out.println((kotakota[2]);[2]);

}}}}

PemberianPemberian NilaiNilai ArrayArraypublic class ArrayKota2{public class ArrayKota2{

public static void main(String[] public static void main(String[] argsargs){){public static void main(String[] public static void main(String[] argsargs){){String[] String[] kotakota = {“Jakarta”, “Surabaya”, “Semarang”};= {“Jakarta”, “Surabaya”, “Semarang”};

// // menampilkanmenampilkan elemenelemen arrayarraySystem out System out printlnprintln((kotakota[0]);[0]);System out System out printlnprintln((kotakota[0]);[0]);System.out.printlnSystem.out.println((kotakota[1]);[1]);System out printlnSystem out println((kotakota[2]);[2]);System.out.printlnSystem.out.println((kotakota[2]);[2]);

}}}}}}

PemberianPemberian nilainilai dapatdapat langsunglangsung dilakukandilakukan ketikaketika objekobjek array array diciptakandiciptakanPemberianPemberian nilainilai dapatdapat langsunglangsung dilakukandilakukan ketikaketika objekobjek array array diciptakandiciptakan

MengetahuiMengetahui JumlahJumlah ElemenElemen ArrayArraybl lbl lpublic class ArrayKota3{public class ArrayKota3{public static void main(String[] public static void main(String[] argsargs){){

String[] String[] kotakota = {“Jakarta”, “Surabaya”, “Semarang”};= {“Jakarta”, “Surabaya”, “Semarang”};

// // menampilkanmenampilkan elemenelemen arrayarrayfor(for(intint ii=0; =0; ii<<kota.kota.lengthlength; ; ii++)++)

System.out.printlnSystem.out.println((kotakota[[ii]);]);}}

}}

JumlahJumlah elemenelemen Array Array dapatdapat diketahuidiketahui dengandengan instance variable instance variable bernamabernama lengthlengthbernamabernama lengthlength

Array Array MultidimensiMultidimensill l dl dclass class ArrayMultidimensiArrayMultidimensi {{

public static void main(String[] public static void main(String[] argsargs) {) {String[][] String[][] namanama = {= {

{"Pak ", "Bu “, “{"Pak ", "Bu “, “MbakMbak”},”},{"{"JokoJoko", "Susi"}", "Susi"}

};};System.out.printlnSystem.out.println((namanama[0][0] + [0][0] + namanama[1][0]);[1][0]);System.out.printlnSystem.out.println((namanama[0][1] + [0][1] + namanama[1][1]);[1][1]);System.out.printlnSystem.out.println((namanama[0][2] + [0][2] + namanama[1][0]);[1][0]);

}}}}

Array Array multidimensimultidimensi adalahadalah array array daridari array array dengandengan konsepkonsepArray Array multidimensimultidimensi adalahadalah array array daridari array , array , dengandengan konsepkonseppengaksesanpengaksesan [[noBarisnoBaris][][noKolomnoKolom]]

LatihanLatihan: : BuatBuat Array Array MultidimensiMultidimensi1.1. Buat class Buat class NegaraKotaNegaraKota22 Buat array multidimensi untuk Buat array multidimensi untuk nama negara nama negara dan dan 2.2. Buat array multidimensi untuk Buat array multidimensi untuk nama negara nama negara dan dan

ibukotanyaibukotanya33 MasukkanMasukkan dalamdalam list arraylist array3.3. MasukkanMasukkan dalamdalam list array:list array:

nama negara = nama negara = Amerika, Inggris, Jepang, Perancis, Amerika, Inggris, Jepang, Perancis, Indonesia Iran Indonesia Iran IrakIrakIndonesia, Iran, Indonesia, Iran, IrakIrakibukota =ibukota =Teheran, Bekasi, Jakarta, Bantar Gebang, Teheran, Bekasi, Jakarta, Bantar Gebang, TokyoTokyoTokyoTokyo

4.4. AksesAkses array array dandan tampilkantampilkan didi layarlayar sebagaisebagai berikutberikut::IbukotaIbukota Indonesia Indonesia adalahadalah JakartaJakartaIbukotaIbukota JepangJepang adalahadalah TokyoTokyoaa pa gpa g ada aada a yyIbukotaIbukota Iran Iran adalahadalah TeheranTeheran

OperatorOperator

OperatorOperator

Operator Operator adalahadalah simbolsimbol dandan karakterkarakter Operator Operator adalahadalah simbolsimbol dandan karakterkarakterkhususkhusus ((matematikamatematika) yang ) yang digunakandigunakan

ll kkdalamdalam suatusuatu ekspresiekspresi ContohContoh:: ContohContoh:: intint x = 3;x = 3; intint y = x;y = x; intint z = x * y;z = x * y;intint z x y;z x y; booleanboolean status = true;status = true;

JenisJenis Operator Operator BerdasarBerdasar OperandOperand

11 Operator UnaryOperator Unary: operator yang : operator yang 1.1. Operator UnaryOperator Unary: operator yang : operator yang melibatkanmelibatkan satusatu operandoperand

2.2. Operator BinaryOperator Binary: operator yang : operator yang melibatkanmelibatkan duadua operandoperandmelibatkanmelibatkan duadua operandoperand

3.3. Operator TernaryOperator Ternary: operator yang : operator yang p yp y p y gp y gmelibatkanmelibatkan tigatiga operandoperand

JenisJenis OperatorOperator

1.1. Operator Operator AritmatikaAritmatika2.2. Operator Operator PenugasanPenugasan33 Operator Operator PenggabunganPenggabungan3.3. Operator Operator PenggabunganPenggabungan4.4. Operator Operator PenambahanPenambahan dandan PenguranganPenguranganpp g gg g5.5. Operator Operator BitBit

b db d6.6. Operator Operator PembandingPembanding77 Operator Operator LogikaLogika7.7. Operator Operator LogikaLogika

Operator Operator AritmatikaAritmatika

Operator Meaning Examplep g p

+ Addition 3 + 4

Subtraction 5 7- Subtraction 5 - 7

* Multiplication 5 * 5

/ Division 14 / 7

% Modulus 20 % 7

HasilHasil operasioperasi matematikamatematika akanakan mengikutimengikuti tipetipe data data HasilHasil operasioperasi matematikamatematika akanakan mengikutimengikuti tipetipe data data operandoperand

Operand Operand bertipebertipe intint akanakan menghasilkanmenghasilkan intint Operand Operand bertipebertipe intint akanakan menghasilkanmenghasilkan intint

Operator Operator PenugasanPenugasan

Operator Operator penugasanpenugasan bergunaberguna untukuntuk Operator Operator penugasanpenugasan bergunaberguna untukuntukmemberimemberi nilainilai keke suatusuatu variabelvariabel

Operator Operator penugasanpenugasan menggunakanmenggunakantandatanda samasama dengandengan ( ( == ))tandatanda samasama dengandengan ( ( == ))

Operator Operator penugasanpenugasan digabungkandigabungkanpp p gp g d g gd g gdengandengan operator operator aritmatikaaritmatikamembentukmembentuk operator operator penugasanpenugasanmembentukmembentuk operator operator penugasanpenugasangabungangabungan (compound assignment)(compound assignment)g gg g p gp g

Operator Operator PenugasanPenugasan GabunganGabungan

E i M iExpression Meaning

+ +x += y x = x + y

x -= y x = x - yx -= y x = x - y

x *= y x = x * yx = y x = x y

x /= y x = x / yx / y x x / y

Operator Operator PenggabunganPenggabungan

Operator Operator ++ dapatdapat digunakandigunakan untukuntuk Operator Operator ++ dapatdapat digunakandigunakan untukuntukpenggabunganpenggabungan String String dandan String String maupunmaupunString String dandan BilanganBilanganString String dandan BilanganBilangan

ContohContoh::S t t tlS t t tl (“(“SS d l hd l h” ” ““M hM h ”)”)System.out.printlnSystem.out.println(“(“SayaSaya adalahadalah” ” ++ ““MahasiswaMahasiswa”);”);System.out.printlnSystem.out.println(“(“JumlahJumlah MahasiswaMahasiswa” ” ++ 30);30);

PenambahanPenambahan dandan PenguranganPengurangan PenambahanPenambahan: : menambahkanmenambahkan 1 1 keke nilainilai variabelvariabel

(operator = (operator = ++++ prefix prefix atauatau postfix)postfix)(operator (operator ++++, prefix , prefix atauatau postfix)postfix)intint x=5;x=5; intint x=5;x=5; ++ ++ ++ ++y = x++;y = x++; y = ++x;y = ++x;

(nilai saat ini : y = 5, x=6)(nilai saat ini : y = 5, x=6) (nilai saat ini: y = 6, x=6)(nilai saat ini: y = 6, x=6)

PenguranganPengurangan: : mengurangkanmengurangkan 1 1 keke nilainilai variabelvariabelg gg g g gg g(operator = (operator = ----))int int x=5;x=5; intint x=5;x=5;;; ;;y = xy = x----;; y = y = ----x;x;(nilai saat ini: y = 5 x=4)(nilai saat ini: y = 5 x=4) (nilai saat ini: y = 4 x=4)(nilai saat ini: y = 4 x=4)(nilai saat ini: y 5, x 4)(nilai saat ini: y 5, x 4) (nilai saat ini: y 4, x 4)(nilai saat ini: y 4, x 4)

Latihan: Tampilkan Nilai x, y dan zLatihan: Tampilkan Nilai x, y dan z

Penambahan.javaPenambahan.java Pengurangan.javaPengurangan.java

intint x, y, z;x, y, z; intint x, y, z;x, y, z;x = 42;x = 42;y = x++;y = x++;

x = 42;x = 42;y = xy = x----;;y x++;y x++;

//tampilkan x, y saat ini//tampilkan x, y saat ini

y xy x ;;//tampilkan x, y saat ini//tampilkan x, y saat ini z = ++x;z = ++x;

////tampilkantampilkan x, z x, z saatsaat iniiniz = z = ----x;x;////tampilkantampilkan x, z x, z saatsaat iniini

LatihanLatihan: : TampilkanTampilkan NilaiNilai x, x, y,wy,w dandan zz

Penambahan2 javaPenambahan2 java Pengurangan2 javaPengurangan2 javaPenambahan2.javaPenambahan2.java Pengurangan2.javaPengurangan2.java

int int w, x, y, z;w, x, y, z; intint w,xw,x, y, z;, y, z;x = 5; w =5 ;x = 5; w =5 ;y = 8 y = 8 x++x++

x = 5; w =5 ;x = 5; w =5 ;y = 8 y = 8 xxy = 8 y = 8 -- x++;x++;

z = 8 z = 8 -- ++w;++w;y = 8 y = 8 –– xx----;;z = 8 z = 8 -- ----w;w;;; ;;

Operator BitOperator Bit&& operasioperasi AND AND untukuntuk bitbit

|| kk bb|| operasioperasi OR OR untukuntuk bitbit

^̂ E OR E OR t kt k b tb t^̂ operasioperasi Ex OR Ex OR untukuntuk bitbit

ii NOT NOT t kt k bitbit~~ operasioperasi NOT NOT untukuntuk bitbit

geser kiri (geser 1 bit = *2)geser kiri (geser 1 bit = *2)<<<< geser kiri (geser 1 bit = 2)geser kiri (geser 1 bit = 2)

>>>> gesergeser kanankanan ((gesergeser 1 bit = /2)1 bit = /2)>>>> gesergeser kanankanan ((gesergeser 1 bit = /2)1 bit = /2)

>>>>>> gesergeser kanankanan taktak bertandabertanda>>>>>> gesergeser kanankanan taktak bertandabertanda

LatihanLatihan: Program Kali : Program Kali dandan BagiBagi 22

BuatBuat program yang program yang menghitungmenghitungBuatBuat program yang program yang menghitungmenghitungperkalianperkalian (*) (*) dandan pembagianpembagian (/) (/) pp p gp gdengan bilangan dua (2) dengan bilangan dua (2) tanpa tanpa

t t t tikt tikoperator operator matematikamatematika

CatatanCatatan = x >> n = x/2n= x >> n = x/2nCatatanCatatan x n x/2n x n x/2n

Operator Pembanding (Relasional)Operator Pembanding (Relasional)

Operator Pembanding (Relasional)Operator Pembanding (Relasional)

Operator Meaning Example

== Equal x == 3

!= Not equal x != 3q

< Less than x < 3

G t th 3> Greater than x > 3

<= Less than or equal to x <= 3

>= Greater than or equal to x >= 3

Operator Operator pembandingpembanding menggunakanmenggunakan ekspresiekspresidengandengan nilainilai balikbalik booleanboolean (true or false) (true or false) dengandengan nilainilai balikbalik booleanboolean (true or false) (true or false)

Latihan: Tampilkan hasilBanding1 dan 2Latihan: Tampilkan hasilBanding1 dan 2bbPembanding.javaPembanding.java

intint age = 36;age = 36;ggbooleanboolean hasilBanding1 = age < 25;hasilBanding1 = age < 25;b lb l h l d ! h l d ! booleanboolean hasilBanding2 = age != 26;hasilBanding2 = age != 26;

////TampilkanTampilkan hasilBanding1 hasilBanding1 dandan hasilBanding2hasilBanding2

Operator Operator LogikaLogika

&&&& operasioperasi logikalogika ANDAND&&&& operasioperasi logikalogika ANDAND| || | operasioperasi logikalogika ORORpp gg!! operasioperasi logikalogika NOTNOT

O t O t l ikl ik kk k ik iOperator Operator logikalogika menggunakanmenggunakan ekspresiekspresidengandengan nilainilai balikbalik Boolean (true or false)Boolean (true or false)

UrutanUrutan EksekusiEksekusi OperatorOperator

Secara umum urutan eksekusi operator:Secara umum urutan eksekusi operator:OO P b hP b h dd PP1.1. OperasiOperasi PenambahanPenambahan dandan PenguranganPengurangan

2.2. OperasiOperasi AritmatikaAritmatika3.3. OperasiOperasi PembandinganPembandingan44 OperasiOperasi LogikaLogika4.4. OperasiOperasi LogikaLogika5.5. OperasiOperasi PenugasanPenugasan

ApabilaApabila urutanurutan samasama, , sebelahsebelah kirikiri dieksekusidieksekusil hl h h lh l l hl hterlebihterlebih dahuludahulu daripadadaripada sebelahsebelah kanankanan

Khusus untuk operator Khusus untuk operator == dan dan += sebelah += sebelah kanankananppdieksekusidieksekusi terlebihterlebih dahuludahulu

OperasiOperasi I/O StreamI/O StreamppSederhanaSederhana

Stream StandardStream Standard

11 System inSystem in: : menanganimenangani pembacaanpembacaan daridari1.1. System.inSystem.in: : menanganimenangani pembacaanpembacaan daridarikeyboard (standard input)keyboard (standard input)

2.2. System.outSystem.out: : mengirimkanmengirimkan keluarankeluaran kekelayarlayar (standard output)(standard output)layarlayar (standard output)(standard output)

3.3. System.errSystem.err: : mengirimkanmengirimkan kesalahankesalahanyy gg(standard error)(standard error)

MembacaMembaca Input Input daridari KeyboardKeyboardMenggunakanMenggunakan class class Scanner Scanner ((java.util.Scannerjava.util.Scanner) ) dengandengan method method sebagaisebagai berikutberikutdengandengan method method sebagaisebagai berikutberikut::

1.1. nextIntnextInt(): (): untukuntuk menerimamenerima tipetipe data integerdata integer22 nextShortnextShort()(): : untukuntuk menerimamenerima tipetipe data shortdata short2.2. nextShortnextShort()(): : untukuntuk menerimamenerima tipetipe data shortdata short3.3. nextLongnextLong()(): : untukuntuk menerimamenerima tipetipe data longdata long

tD bltD bl ()() t kt k ii titi d t d bld t d bl4.4. nextDoublenextDouble()(): : untukuntuk menerimamenerima tipetipe data doubledata double5.5. nextFloatnextFloat()(): : untukuntuk menerimamenerima tipetipe data floatdata float6.6. nextLinenextLine()(): : untukuntuk menerimamenerima tipetipe data stringdata string77 nextBooleannextBoolean()(): : untukuntuk menerimamenerima tipatipa data data booleanboolean7.7. nextBooleannextBoolean()(): : untukuntuk menerimamenerima tipatipa data data booleanboolean

SalamKenal.javaSalamKenal.javaimport import java.util.Scannerjava.util.Scanner;;

public class public class SalamKenalSalamKenal {{public static void main( String[] public static void main( String[] argsargs ){){p a d a g[]p a d a g[] a ga g {{

System.out.printSystem.out.print("("MasukkanMasukkan NamaNama AndaAnda: ");: ");System ut p intSystem ut p int(( Masu anMasu an NamaNama AndaAnda: );: );Scanner input = new Scanner(Scanner input = new Scanner(System.inSystem.in););String String namanama = = input.nextLineinput.nextLine();();String String namanama input.nextLineinput.nextLine();();System.out.printlnSystem.out.println("Halo, Salam ("Halo, Salam KenalKenal sdrsdr " + " + namanama +"!");+"!");

}}}}}}

Perkalian.javaPerkalian.javallimport import java.util.Scannerjava.util.Scanner;;

public class public class PerkalianPerkalian{{llpublic static void main(String[] public static void main(String[] argsargs){){Scanner input = new Scanner(Scanner input = new Scanner(System.inSystem.in); ); System.out.printSystem.out.print("("MasukkanMasukkan bilanganbilangan pertamapertama: ");: ");intint bilangan1 = bilangan1 = input.nextIntinput.nextInt();();

System.out.printSystem.out.print("("MasukkanMasukkan bilanganbilangan keduakedua: ");: ");intint bilangan2 = bilangan2 = input.nextIntinput.nextInt();();

System.out.printSystem.out.print("("HasilHasil perkalianperkalian: " +: " +(bilangan1 * bilangan2));(bilangan1 * bilangan2));

}}}}}}

LatihanLatihanUbahUbah class class LuasSegitigaLuasSegitiga dengandengan nilainilai alas alas dan tinggi dan tinggi dimasukkan oleh dimasukkan oleh user user lewatlewat promptprompt (gunakan (gunakan dimasukkan oleh dimasukkan oleh user user lewatlewat promptprompt (gunakan (gunakan class class ScannerScanner))

public class public class LuasSegitigaLuasSegitiga {{public static void main(String[] public static void main(String[] argsargs) {) {p b i tati v id main(St ing[] p b i tati v id main(St ing[] a ga g ) {) {

double alasdouble alas= 17;= 17; doubledouble tinggitinggi = 11;= 11;

double double luasluas == ((alasalas**tinggitinggi)/2;)/2;System out printlnSystem out println("("LuasLuas SegitigaSegitiga : " + : " + luasluas););System.out.printlnSystem.out.println(( LuasLuas SegitigaSegitiga : : luasluas););

}}}}}}

Tampilan ProgramTampilan Program

Program Penghitung Luas SegitigaProgram Penghitung Luas SegitigaProgram Penghitung Luas SegitigaProgram Penghitung Luas Segitiga

kk lkk lMasukkan Alas = Masukkan Alas = 1313Masukkan Tinggi = Masukkan Tinggi = 2424a a gga a ggJadi, Luas Segitiga adalah = Jadi, Luas Segitiga adalah =

Argument untuk Menerima InputArgument untuk Menerima Inputbl l bl l {{public class public class LuasSegitigaArgsLuasSegitigaArgs {{public static void main(String[] public static void main(String[] argsargs) {) {

double double alas= alas= Double.parseDoubleDouble.parseDouble((argsargs[0][0]););double double tinggitinggi = = Double parseDoubleDouble parseDouble((argsargs[1][1]););double double tinggitinggi = = Double.parseDoubleDouble.parseDouble((argsargs[1][1]););

double double luasluas = (alas*= (alas*tinggitinggi)/2;)/2;double double luasluas (alas (alas tinggitinggi)/2;)/2;

System.out.printlnSystem.out.println("("LuasLuas SegitigaSegitiga : " + : " + luasluas););Sy m p n nSy m p n n(( aa S g gaS g ga aa ););

}}}}

Tampilan ProgramTampilan Program

%java %java LuasSegitigaArgsLuasSegitigaArgs 2 182 18%java %java LuasSegitigaArgsLuasSegitigaArgs 2 182 18LuasLuas SegitigaSegitiga: 18: 18

Argument untuk Menerima Input (Rev)Argument untuk Menerima Input (Rev)public class public class LuasSegitigaArgsLuasSegitigaArgs {{

public static void main(String[] public static void main(String[] argsargs) {) {

if (if (args.lengthargs.length == == 22){){d bl d bl ll D bl D blD bl D bl (( [0][0]))double double alasalas = = Double.parseDoubleDouble.parseDouble((argsargs[0][0]););double double tinggitinggi = = Double.parseDoubleDouble.parseDouble((argsargs[1][1]););double double luasluas = (alas*= (alas*tinggitinggi)/2)/2double double luasluas = (alas= (alas tinggitinggi)/2;)/2;System.out.printlnSystem.out.println("("LuasLuas SegitigaSegitiga : " + : " + luasluas););

}else{}else{}else{}else{System.out.printlnSystem.out.println("("PenggunaanPenggunaan Argument Argument SalahSalah!");!");System.out.printlnSystem.out.println("("ContohContoh: java : java LuasSegitigaArgsLuasSegitigaArgs 30 20");30 20");System.out.printlnSystem.out.println(( ContohContoh: java : java LuasSegitigaArgsLuasSegitigaArgs 30 20 );30 20 );

}}}}

}}

P tP t P tP tPernyataanPernyataan PenentuPenentuK tK tKeputusanKeputusan

PernyataanPernyataan PenentuPenentu KeputusanKeputusan

11 if if ifif elseelse if if else if else if elseelse1.1. if, if, ifif--elseelse, if, if--else if else if –– elseelset ht h2.2. switchswitch

ifif PPernyataanernyataan kondisikondisi yang yang digunakandigunakan

untukuntuk pengambilanpengambilan keputusankeputusan terhadapterhadapuntukuntuk pengambilanpengambilan keputusankeputusan terhadapterhadapduadua buahbuah kemungkinankemungkinan

ifif bisa berdiri sendiri atau dengan bisa berdiri sendiri atau dengan mmenggunakanenggunakan elseelsemmenggunakanenggunakan elseelse

BentukBentuk::

if(if(k di ik di i){ ){ if(if(kondisikondisi){ ){ // // blokblok pernyataanpernyataan yang yang dijalankandijalankan, , bilabila kondisikondisi benarbenar

}}

PernyataanIF.javaPernyataanIF.javapublic class public class PernyataanIFPernyataanIF{{

public static void main(String[] public static void main(String[] argsargs){){public static void main(String[] public static void main(String[] argsargs){){intint diskondiskon =0, =0, totalBelanjatotalBelanja = 500000;= 500000;

ifif((totalBelanjatotalBelanja >= 100000){>= 100000){diskondiskon = = totalBelanjatotalBelanja/10;/10;

}}}}System.out.printlnSystem.out.println("("DiskonDiskon = " + = " + diskondiskon););

}}}}}}

ifif--elseelse

ifif--else else mengaturmengatur pernyataanpernyataan yang yang ll b lb ldijalankandijalankan sewaktusewaktu kondisikondisi bernilaibernilai

benarbenar atauatau salahsalahbenarbenar atauatau salahsalah BentukBentuk::

if(if(kondisikondisi){){// // bl kbl k tt dij l kdij l k bilbil k di ik di i bb// // blokblok pernyataanpernyataan yang yang dijalankandijalankan, , bilabila kondisikondisi benarbenar

} else{} else{// blok pernyataan yang dijalankan, bila kondisi salah// blok pernyataan yang dijalankan, bila kondisi salah

}}}}

PernyataanIFELSE.javaPernyataanIFELSE.javabl lbl lpublic class public class PernyataanIFELSEPernyataanIFELSE{{public static void main(String[] public static void main(String[] argsargs){){p gp g gg

intint diskondiskon =0, =0, totalBelanjatotalBelanja = 500000;= 500000;

ifif((totalBelanjatotalBelanja >= 100000){>= 100000){d kd k l ll ldiskondiskon = = totalBelanjatotalBelanja/10;/10;

} } elseelse{{diskondiskon = 0;= 0;

}}}}System.out.printlnSystem.out.println("("DiskonDiskon = " + = " + diskondiskon););

}}}}}}

LatihanLatihan

KembangkanKembangkan class class KembangkanKembangkan class class PernyataanIFPernyataanIFELSEELSE supaysupaya nilai a nilai PernyataanIFPernyataanIFELSEELSE supaysupaya nilai a nilai Total BelanjaTotal Belanja bisabisa didimasukanmasukanmelalui input dari keyboard melalui input dari keyboard (( kk l Sl S ))((gunakangunakan class Scannerclass Scanner))

if if BersarangBersarang if if bersarangbersarang mengaturmengatur pernyataanpernyataan yang yang

dijalankan sewaktu dijalankan sewaktu kondisi berupa pilihankondisi berupa pilihandijalankan sewaktu dijalankan sewaktu kondisi berupa pilihankondisi berupa pilihan BentukBentuk::

f(f(k dk d ){){if(if(kondisiAkondisiA){){// pernyataan yang dijalankan, bila kondisiA benar// pernyataan yang dijalankan, bila kondisiA benar

l fl f}else if(}else if(kondisiBkondisiB){){// // pernyataanpernyataan yang yang dijalankandijalankan, , bilabila kondisiBkondisiB benarbenar

ff}else if(}else if(kondisiCkondisiC){){// // pernyataanpernyataan yang yang dijalankandijalankan, , bilabila kondisiCkondisiC benarbenar

}else{}else{// pernyataan yang dijalankan untuk kondisi selain itu// pernyataan yang dijalankan untuk kondisi selain itu

}}

PernyataanIFBersarang.javaPernyataanIFBersarang.javabl l bl l {{public class public class PernyataanIFBersarangPernyataanIFBersarang {{public static void main(String[] public static void main(String[] argsargs) {) {

i t k Uji 86 h il ii t k Uji 86 h il iint skorUjian= 86; char nilai;int skorUjian= 86; char nilai;ifif ((skorUjianskorUjian >= 90) {>= 90) {

nilainilai = 'A';= 'A';nilainilai = A ;= A ;} } else if else if ((skorUjianskorUjian >= 80) {>= 80) {

nilainilai = 'B';= 'B';nilainilai B ; B ;} else if } else if ((skorUjianskorUjian >= 70) {>= 70) {

nilainilai = 'C';= 'C';n an a C ;C ;} } elseelse {{

nilainilai = 'D';= 'D';}}System.out.printlnSystem.out.println("("NilaiNilai = " + = " + nilainilai););

}}}}

LatihanLatihan

KembangkanKembangkan class class ang anang an aaPernyataanIFBersarangPernyataanIFBersarang supayasupayabisabisa menerimamenerima masukanmasukan (input) (input) data data la g gla g g daridari rrdata data langsunglangsung daridari useruserTampilanTampilan ProgramProgramTampilanTampilan Program:Program:

MasukkanMasukkan SkorSkor UjianUjian = = XXMasukkanMasukkan SkorSkor UjianUjian = = XXNilaiNilai untukuntuk skorskor ujianujian XX adalahadalah ZZjj

Operator Ternary (Operator Ternary (KondisiKondisi))

PernyataanPernyataan kondisikondisi yang yang PernyataanPernyataan kondisikondisi yang yang menggunakanmenggunakan operator ternary operator ternary gggg p yp y(melibatkan (melibatkan tiga buah tiga buah operandoperand))

BentukBentuk::BentukBentuk::ekspresi_kondisiekspresi_kondisi ? nilai_1 : nilai_2? nilai_1 : nilai_2pp

OperatorTernary.javaOperatorTernary.javabl lbl lpublic class public class OperatorTernaryOperatorTernary{{

public static void main(String[] public static void main(String[] argsargs){){i ti t t t lB l jt t lB l j 500000 500000intint totalBelanjatotalBelanja = 500000;= 500000;

intint diskondiskon = = totalBelanjatotalBelanja >= 100000 ?>= 100000 ?totalBelanjatotalBelanja/10 : 0/10 : 0;;

System.out.printlnSystem.out.println("("DiskonDiskon = " + = " + diskondiskon););}}

}}}}

switchswitchhh k kk k l k kl k k kk SSwitch witch digunakan untuk digunakan untuk melakukanmelakukan tindakantindakan

berbedaberbeda terhadapterhadap sejumlahsejumlah kemungkinankemungkinan nilainilaipp jj gg BentukBentuk::

s it h(s it h( kspr sikspr si){){switch(switch(ekspresiekspresi){){case case nilaiSatunilaiSatu::

P tP t 11PernyataanPernyataan 11break;break;

il iDil iDcase case nilaiDuanilaiDua::Pernyataan2Pernyataan2b kb kbreak;break;

......d f ld f ldefault: default: PernyataanNPernyataanN;;

}}

PernyataanSWITCH1.javaPernyataanSWITCH1.javabl l CH1{bl l CH1{public class PernyataanSWITCH1{public class PernyataanSWITCH1{public static void main(String[] public static void main(String[] argsargs){){

intint pilihanpilihan = 3;= 3;intint pilihanpilihan 3; 3;switch(switch(pilihanpilihan){){

case 1:case 1:llSystem.out.printlnSystem.out.println("Soto ("Soto AyamAyam");");

break;break;case 2:case 2:case 2:case 2:

System.out.printlnSystem.out.println("("GuleGule KambingKambing");");break;break;

case 3:case 3:System.out.printlnSystem.out.println("("NasiNasi GorengGoreng");");break;break;break;break;

default:default:System.out.printlnSystem.out.println("("SilakanSilakan PilihPilih 1, 2 1, 2 atauatau 3");3");

}}}}

}}

LatihanLatihan

KembangkanKembangkan class PernyataanSWITCH1 class PernyataanSWITCH1 KembangkanKembangkan class PernyataanSWITCH1 class PernyataanSWITCH1 supayasupaya bisabisa menerimamenerima masukanmasukan (input) data (input) data langsung dari user lewat pr mptlangsung dari user lewat pr mptlangsung dari user lewat promptlangsung dari user lewat prompt

TampilanTampilan awalawal: : pp> > 1. Soto 1. Soto AyamAyam 2. 2. GuleGule KambingKambing 3. 3. NasiNasi GorengGoreng> > PilihPilih m n m n apaapa?? 11> > PilihPilih menu menu apaapa?? 11> > Menu yang Menu yang andaanda pilihpilih adalahadalah Soto Soto AyamAyam

PernyataanSWITCH2.javaPernyataanSWITCH2.javabl l P t S ITCH2{bl l P t S ITCH2{public class PernyataanSWITCH2{public class PernyataanSWITCH2{public static void main(String[] public static void main(String[] argsargs){){

intint pilihanpilihan = 3;= 3;ppswitch(switch(pilihanpilihan){){

case 1:case 1:case 2case 2case 2:case 2:case 3:case 3:case 4:case 4:case 5:case 5:

System.out.printlnSystem.out.println("("HariHari KerjaKerja");");break;break;break;break;

case 6:case 6:case 7:case 7:

S t t tlS t t tl ("("HH L bL b ")")System.out.printlnSystem.out.println("("HariHari LiburLibur");");break;break;

default:default:System.out.printlnSystem.out.println("("SilakanSilakan PilihPilih HariHari");");

}}}}}}

LatihanLatihan: : MenentukanMenentukan JumlahJumlah HariHari

BuatBuat program (program (dengandengan SWITCH) SWITCH) untukuntukp gp g ggmenghitungmenghitung berapaberapa jumlahjumlah harihari padapadasuatusuatu bulanbulan dandan tahuntahun yang yang ditunjukditunjuksuatusuatu bulanbulan dandan tahuntahun yang yang ditunjukditunjuk

BulanBulan dandan tahuntahun dimasukkan dengan dimasukkan dengan gginput dari keyboardinput dari keyboardT ilkT ilk h ilh il dd TampilkanTampilkan hasilnyahasilnya dengandengan::MasukkanMasukkan tahuntahun: : xxMasukkanMasukkan tahuntahun: : xxMasukanMasukan bulanbulan: : yyJ l hJ l h h ih i dd t ht h b lb l d l hd l h h ih iJumlahJumlah harihari padapada tahuntahun xx bulanbulan yy adalahadalah zz harihari

PernyataanPernyataanPernyataanPernyataanPengulanganPengulangan ProsesProsesPengulanganPengulangan ProsesProses((LoopLoop))((LoopLoop))

PernyataanPernyataan PengulanganPengulangan ProsesProses

11 forfor1.1. forfor22 whilewhile2.2. whilewhile33 dodo--whilewhile3.3. dodo--whilewhile

forfor

for for seringsering disebutdisebut for loop for loop karenakarena for for seringsering disebutdisebut for loop, for loop, karenakarenadigunakandigunakan untukuntuk prosesproses looping looping atauatau

llpengulanganpengulangan BentukBentuk:: BentukBentuk::

for (for (inisialisasiinisialisasi; ; kondisikondisi; ; penaikan_penurunanpenaikan_penurunan){){pernyataanpernyataanp nya aanp nya aan

}}

PernyataanFOR.javaPernyataanFOR.javabl lbl lpublic class public class PernyataanFORPernyataanFOR {{

public static void main(String[] public static void main(String[] argsargs){){public static void main(String[] public static void main(String[] argsargs){){for(for(intint ii=1; =1; ii<11; <11; ii++)++);;;; ;; ;;System.out.printlnSystem.out.println((ii););}}

}}}}}}}}

PernyataanFOREnhanced.javaPernyataanFOREnhanced.javaclass class PernyataanFOREnhancedPernyataanFOREnhanced {{

p bli tati id main(String[] p bli tati id main(String[] argarg ){){public static void main(String[] public static void main(String[] argsargs){){intint[] numbers = {1,2,3,4,5,6,7,8,9,10};[] numbers = {1,2,3,4,5,6,7,8,9,10};

f (f (i ti t ii b ) b ) {{for (for (intint ii : numbers) : numbers) {{System.out.printlnSystem.out.println((ii););y py p ;;

}}}}}}

}}}}

whilewhile

while while digunakandigunakan untukuntuk melakukanmelakukanggprosesproses pengulanganpengulangan suatusuatu blokblokpernyataanpernyataan selamaselama kondisinyakondisinya bernilaibernilaipernyataanpernyataan selamaselama kondisinyakondisinya bernilaibernilaitruetrue

BentukBentuk::hil (hil (k di ik di i) {) {while (while (kondisikondisi) {) {

pernyataanpernyataanpernyataanpernyataan}}

PernyataanWHILE.javaPernyataanWHILE.javallclass class PernyataanWHILEPernyataanWHILE {{public static void main(String[] public static void main(String[] argsargs){){public static void main(String[] public static void main(String[] argsargs){){

intint ii = 1;= 1;while (while (ii < 11) {< 11) {

System out printlnSystem out println((ii););System.out.printlnSystem.out.println((ii););ii++;++;

}}}}}}

}}

LatihanLatihan: : TampilkanTampilkan BilanganBilangan GenapGenap

Tampilkan bilangan genap antara 1 Tampilkan bilangan genap antara 1 Tampilkan bilangan genap antara 1 Tampilkan bilangan genap antara 1 sampaisampai 20 20 dengandengan menggunakanmenggunakan::

11 PPernyataanernyataan FORFOR1.1. PPernyataanernyataan FORFOR2.2. PPernyataanernyataan WHILEWHILE

do...whiledo...while

do ... while do ... while digunakandigunakan untukuntuk melakukanmelakukanll tt bl kbl k ttprosesproses pengulanganpengulangan suatusuatu blokblok pernyataanpernyataan

selamaselama kondisinyakondisinya bernilaibernilai truetrue PernyataanPernyataan dalamdalam blokblok paling paling tidaktidak

dieksekusidieksekusi satusatu kalikalidieksekusidieksekusi satusatu kalikali BentukBentuk::

do {do {pernyataanpernyataanpernyataanpernyataan

} while (} while (kondisikondisi););

PernyataanDOWHILE.javaPernyataanDOWHILE.javallclass class PernyataanDOWHILEPernyataanDOWHILE {{public static void main(String[] public static void main(String[] argsargs){){p a d a n( ng[]p a d a n( ng[] a ga g ){){

intint ii = 1;= 1;d {d {do {do {

System.out.printlnSystem.out.println((ii););y py pii++;++;

} while (} while (ii <= 10)<= 10)} while (} while (ii <= 10);<= 10);}}

}}

PernyataanPernyataanPernyataanPernyataanPemindahPemindah ProsesProsesPemindahPemindah ProsesProses((JumpJump))((JumpJump))

PernyataanPernyataan PemindahPemindah ProsesProses

11 breakbreak1.1. breakbreak22 continuecontinue2.2. continuecontinue33 returnreturn3.3. returnreturn

breakbreak

PenyataanPenyataan break break digunakandigunakan untukuntukPenyataanPenyataan break break digunakandigunakan untukuntukkeluarkeluar daridari suatusuatu pengulanganpengulanganp g gp g g(loop)(loop)

bb bb b bb bPenggunaanPenggunaan break break bisabisa berbentukberbentuktanpatanpa labellabel atauatau berlabelberlabeltanpatanpa labellabel atauatau berlabelberlabel

PernyataanBREAK.javaPernyataanBREAK.javapublic class public class PernyataanBREAKPernyataanBREAK {{

bli t ti id i (St i [] bli t ti id i (St i [] ){){public static void main(String[] public static void main(String[] argsargs){){for(for(intint ii=1; =1; ii<11; <11; ii++){++){

if(if(ii==5) ==5) breakbreak;;System out printlnSystem out println((ii))System.out.printlnSystem.out.println((ii););

}}}}

}}}}

PernyataanBREAKLABEL.javaPernyataanBREAKLABEL.javapublic class public class PernyataanBREAKPernyataanBREAK {{

public static void main(String[] public static void main(String[] argsargs){){public static void main(String[] public static void main(String[] argsargs){){selesaiselesai::for(for(intint ii=1; =1; ii<11; <11; ii++){++){

if(if(ii==5) ==5) break break selesaiselesai;;if(if(ii 5) 5) break break selesaiselesai;;System.out.printlnSystem.out.println((ii););

}}}}}}

}}

continuecontinue

DigunakanDigunakan untukuntuk melanjutkanmelanjutkanDigunakanDigunakan untukuntuk melanjutkanmelanjutkaneksekusieksekusi keke suatusuatu pengulanganpengulanganeksekusieksekusi keke suatusuatu pengulanganpengulangan(loop)(loop)BisaBisa berbentukberbentuk tanpatanpa label label atauatau

l ll lberlabelberlabel

returnreturn DigunakanDigunakan untuk untuk keluar dari method keluar dari method return memiliki dua bentuk:return memiliki dua bentuk: return memiliki dua bentuk:return memiliki dua bentuk:

1.1. mengembalikan nilai mengembalikan nilai (sesuai dengan tipe data)(sesuai dengan tipe data)b l lb l l2.2. tidak mengembalikan nilatidak mengembalikan nilai (untuk void)i (untuk void)

Contoh:Contoh:C nC nintint perkalian(int x, int y){perkalian(int x, int y){

return x * y;return x * y;return x y;return x y;}}voidvoid perkalian(int x, int y){perkalian(int x, int y){p yp y

hasilKali = x * y;hasilKali = x * y;return;return;

}}

LatihanLatihan: : ModifikasiModifikasi Matematika.javaMatematika.java

ModifikasiModifikasi program Matematika.java yang program Matematika.java yang sebelumnyasebelumnya sudahsudah kitakita buatbuat dengandengan menggunakanmenggunakansebelumnyasebelumnya sudahsudah kitakita buatbuat dengandengan menggunakanmenggunakantipetipe data data double double untukuntuk methodmethod ((bukanbukan void) void)

GunakanGunakan returnreturn untukuntuk setiapsetiap fungsifungsi ((pertambahanpertambahan GunakanGunakan returnreturn untukuntuk setiapsetiap fungsifungsi ((pertambahanpertambahan, , penguranganpengurangan, , pembagianpembagian dandan perkalianperkalian))I t d t I t d t d l hd l h l tl t t t (( l Sl S )) Input data Input data adalahadalah lewatlewat prompt prompt ((class Scannerclass Scanner))

BuatBuat menu menu pilihanpilihan untukuntuk fiturfitur pertambahanpertambahan, , penguranganpengurangan, , pembagianpembagian atauatau perkalianperkalian

GunakanGunakan pengulanganpengulangan untukuntuk menu menu pilihanpilihan. . AkanAkana aa a p g a gap g a ga p ap a aaberhentiberhenti apabilaapabila kitakita pilihpilih 00

TampilanTampilan

Menu Aplikasi Matematika:Menu Aplikasi Matematika:1. Pertambahan1. Pertambahan 2. Pengurangan2. Pengurangan 3. Perkalian3. Perkalian 4. Pembagian4. Pembagian0. Keluar Aplikasi0. Keluar Aplikasi

Pilih Menu = Pilih Menu = 11Masukkan Angka Pertama = Masukkan Angka Pertama = 33Masukkan Angka Kedua =Masukkan Angka Kedua =2323Masukkan Angka Kedua =Masukkan Angka Kedua =2323

Hasil Hasil PertambahanPertambahan antaraantara 33 dandan 2323 adalah adalah 2626

Java API untuk Referensi Java API untuk Referensi PemrogramanPemrograman

Java Documentation Java Documentation

Referensi Referensi --11--

Sharon Zakhour et al, Sharon Zakhour et al, The Java Tutorial Fourth The Java Tutorial Fourth EditionEdition http //java sun com/docs/books/tutorial http //java sun com/docs/books/tutorialEditionEdition, http://java.sun.com/docs/books/tutorial, http://java.sun.com/docs/books/tutorial

Deitel & Deitel, Deitel & Deitel, Java How to ProgramJava How to Program Sixth EditionSixth Edition, , P t H ll 2004P t H ll 2004Prentice Hall, 2004Prentice Hall, 2004

Kathy Sierra & Bert Bates, Kathy Sierra & Bert Bates, Head First Java 2nd Head First Java 2nd EditionEdition, O’Reilly, 2005, O’Reilly, 2005

Rogers Cadenhead & Laura Lemay, Rogers Cadenhead & Laura Lemay, Teach Yourself Teach Yourself g d d y,g d d y,Java 6 in 21 DaysJava 6 in 21 Days, Sams Publishing, 2007, Sams Publishing, 2007

Robert Robert LaforeLafore Data Structures and Algorithms in Data Structures and Algorithms in Robert Robert LaforeLafore, , Data Structures and Algorithms in Data Structures and Algorithms in Java Second EditionJava Second Edition, , SamsSams Publishing, 2003 Publishing, 2003

Referensi Referensi --22--

Tim Pengembang JENI, Tim Pengembang JENI, JENI 1JENI 1--66, Depdiknas, , Depdiknas, 2007200720072007

Abdul Kadir, Abdul Kadir, Dasar Pemrograman Java 2Dasar Pemrograman Java 2, Penerbit , Penerbit A d 2004A d 2004Andi, 2004Andi, 2004

Indrajani dan Martin, Indrajani dan Martin, Pemrograman Berbasis Objek Pemrograman Berbasis Objek dengan Javadengan Java, Elex Media Komputindo, 2007, Elex Media Komputindo, 2007

LN LN HarnaningrumHarnaningrum, , AlgoritmaAlgoritma dandan PemrogramanPemrogramangg ,, gg dd ggJavaJava, , GrahaGraha IlmuIlmu, 2009, 2009

RachmadRachmad Hakim & Hakim & SutartoSutarto Mastering JavaMastering Java ElexElex RachmadRachmad Hakim & Hakim & SutartoSutarto, , Mastering JavaMastering Java, , ElexElexMedia Media KomputindoKomputindo, 2009, 2009

top related