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

108
OOP: OOP: OOP: OOP: J F d tl J F d tl Java Fundamentals Java Fundamentals Romi Romi Satria Satria Wahono Wahono Romi Romi Satria Satria Wahono Wahono [email protected] [email protected] http //romisatriawahono net http //romisatriawahono net http://romisatriawahono.net http://romisatriawahono.net HP: 0878 HP: 0878- -80480485 80480485 YM YM r mi s r mi s YM: YM: romi_sw romi_sw

Upload: phungnhi

Post on 20-Mar-2019

231 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

RomiRomi SatriaSatria WahonoWahonoRomiRomi SatriaSatria [email protected]@romisatriawahono.nethttp //romisatriawahono nethttp //romisatriawahono nethttp://romisatriawahono.nethttp://romisatriawahono.net

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

Page 2: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 3: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 4: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

Java FundamentalsJava Fundamentals

Page 5: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 6: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

PernyataanPernyataan dandanEkspresiEkspresi

Page 7: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 8: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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;

Page 9: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 10: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 11: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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;;

Page 12: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 13: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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("");("");

}}}}

Page 14: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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();

}}}}

Page 15: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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;

Page 16: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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;;

Page 17: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 18: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

Class Class AccesAcces Level Level

SpecifierSpecifier ClassClass PackagePackage SubClassSubClass WorldWorldSpecifierSpecifier ClassClass PackagePackage SubClassSubClass WorldWorld

privateprivate privateprivate

f f no specifierno specifier

protectedprotected

publicpublic

18

Page 19: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 20: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 21: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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)

Page 22: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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);

}}}}}}

Page 23: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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;

Page 24: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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))

Page 25: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 26: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 27: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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););}}}}

}}

Page 28: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 29: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

Array (Array (LarikLarik))

Page 30: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 31: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

DeklarasiDeklarasi VariabelVariabel ArrayArray

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

ll b lb lnamaKelasnamaKelas[] [] namaVariabelnamaVariabel;;

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

Page 32: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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];

Page 33: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

MengaksesMengakses ElemenElemen ArrayArray

BentukBentuk DeklarasiDeklarasi BentukBentuk DeklarasiDeklarasinamaVariabelArraynamaVariabelArray[[nomorElemennomorElemen];];

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

Page 34: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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]);

}}}}

Page 35: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 36: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 37: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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]]

Page 38: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 39: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

OperatorOperator

Page 40: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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;

Page 41: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka
Page 42: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 43: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 44: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 45: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 46: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 47: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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);

Page 48: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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)

Page 49: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 50: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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;;; ;;

Page 51: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 52: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 53: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

Operator Pembanding (Relasional)Operator Pembanding (Relasional)

Page 54: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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)

Page 55: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 56: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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)

Page 57: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 58: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

OperasiOperasi I/O StreamI/O StreamppSederhanaSederhana

Page 59: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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)

Page 60: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 61: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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 +"!");+"!");

}}}}}}

Page 62: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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));

}}}}}}

Page 63: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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););

}}}}}}

Page 64: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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 =

Page 65: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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 ););

}}}}

Page 66: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

Tampilan ProgramTampilan Program

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

Page 67: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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 );

}}}}

}}

Page 68: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

P tP t P tP tPernyataanPernyataan PenentuPenentuK tK tKeputusanKeputusan

Page 69: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 70: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

}}

Page 71: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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););

}}}}}}

Page 72: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

}}}}

Page 73: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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););

}}}}}}

Page 74: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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))

Page 75: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

}}

Page 76: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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););

}}}}

Page 77: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 78: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 79: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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););}}

}}}}

Page 80: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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;;

}}

Page 81: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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");

}}}}

}}

Page 82: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 83: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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");");

}}}}}}

Page 84: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 85: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 86: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

PernyataanPernyataan PengulanganPengulangan ProsesProses

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

Page 87: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

}}

Page 88: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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););}}

}}}}}}}}

Page 89: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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 ;;

}}}}}}

}}}}

Page 90: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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}}

Page 91: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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++;++;

}}}}}}

}}

Page 92: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 93: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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););

Page 94: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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);}}

}}

Page 95: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 96: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

PernyataanPernyataan PemindahPemindah ProsesProses

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

Page 97: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 98: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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););

}}}}

}}}}

Page 99: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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););

}}}}}}

}}

Page 100: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

continuecontinue

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

l ll lberlabelberlabel

Page 101: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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;

}}

Page 102: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 103: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 104: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

Java API untuk Referensi Java API untuk Referensi PemrogramanPemrograman

Java Documentation Java Documentation

Page 105: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka
Page 106: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka
Page 107: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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

Page 108: OOP - rekayasawebbl.files.wordpress.com · Setiap pernyataan ditutup o lhk kleh karakter semicolon (;; ) PernyataanPernyataan dikelompokkan dikelompokkan dengandengan tanda pembuka

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