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