Disusun Oleh:
Disusun Oleh:
Imam Nawawi
Imam Nawawi
Ika Yunifa
Ika Yunifa
PROGRAM STUDI SISTEM INFORMASI
PROGRAM STUDI SISTEM INFORMASI
SEKOLA TINGGI MANA!EMEN INFORMATIKA DAN KOMPUTER
SEKOLA TINGGI MANA!EMEN INFORMATIKA DAN KOMPUTER
NUSA MANDIRI
NUSA MANDIRI
"#$%
"#$%
KAT
KATA PA PENGAENGANTARNTAR
Puji syukur penulis panjatkan kehadirat Allah SWT. yang telah mem!erikan rahmat Puji syukur penulis panjatkan kehadirat Allah SWT. yang telah mem!erikan rahmat hid
hidayayah ah dan dan inainayayahnhnya ya kkepaepada da penpenuliulis s sehsehingingga ga modmodul ul pempemrorogrgramaaman n jajava va 1 1 ini ini dapdapatat terselesaikan dengan !aik. Tak lupa shola"at serta salam semoga senan#asa tetap ter$urah terselesaikan dengan !aik. Tak lupa shola"at serta salam semoga senan#asa tetap ter$urah kepada !aginda %a!i &uhammad SAW. Selanjutnya modul ini disusun untuk memudahkan kepada !aginda %a!i &uhammad SAW. Selanjutnya modul ini disusun untuk memudahkan da
dan n memem!m!ererikikan an ggamam!a!arran an !a!agi gi papara ra pepem!m!a$a$a a yayang ng iningigin n memempmpelelajajarari i !a!ahahasasa pemrograman java dengan metode '
pemrograman java dengan metode '&ela&ela'a( 'a( )e*a)e*a+ + ,an ,an MenMen-enan-enan.kan/.kan/ karena modul inikarena modul ini disertai $ontoh kasus sehingga le!ih mudah untuk
disertai $ontoh kasus sehingga le!ih mudah untuk dipahami.dipahami.
Tak lupa penulis mengu$akan terima kasih !anyak kepada semua pihak yang telah Tak lupa penulis mengu$akan terima kasih !anyak kepada semua pihak yang telah em!antu dengan tenaga dan pikirannya terima kasih juga kepada rekanrekan instruktur em!antu dengan tenaga dan pikirannya terima kasih juga kepada rekanrekan instruktur dosen dan semuanya yang #dak !isa penuis se!utkan satu persatu tanpa mengurangi rasa dosen dan semuanya yang #dak !isa penuis se!utkan satu persatu tanpa mengurangi rasa hormat penulis yang selalu mendukung penulis sehingga modul ini selesai sesuai dengan hormat penulis yang selalu mendukung penulis sehingga modul ini selesai sesuai dengan yang kita inginkan.
yang kita inginkan.
Penulis menyadari masih !anyak kekurangan disana sini dalam penyusunan modul Penulis menyadari masih !anyak kekurangan disana sini dalam penyusunan modul ini. ntuk itu saran dan kri#k
ini. ntuk itu saran dan kri#k yang mem!angun sangat penulis harapkyang mem!angun sangat penulis harapkan guna per!aikan danan guna per!aikan dan pengem!anga
pengem!angan modul n modul ini di ini di masa yang akan datang.masa yang akan datang.
Ak
Akhihir r kakata ta pepenunulilis s !e!erhrhararap ap sesemomogga a momodudul l pepemrmrogogrramaman an jajava va 1 1 inini i dadapapatt dip
diperergungunakakan an se!se!aikaik!a!aikniknya ya dan dan dapdapat at dijdijadiadikakan n rere*e*ererensi nsi !ag!agi i pempem!a$!a$a a yayang ng inginginin mempelajari pemrograman java.
mempelajari pemrograman java.
Jakarta
Jakarta Septem!er Septem!er +,1-
+,1-Penulis Penulis
ST&/
KAT
KATA PA PENGAENGANTARNTAR
Puji syukur penulis panjatkan kehadirat Allah SWT. yang telah mem!erikan rahmat Puji syukur penulis panjatkan kehadirat Allah SWT. yang telah mem!erikan rahmat hid
hidayayah ah dan dan inainayayahnhnya ya kkepaepada da penpenuliulis s sehsehingingga ga modmodul ul pempemrorogrgramaaman n jajava va 1 1 ini ini dapdapatat terselesaikan dengan !aik. Tak lupa shola"at serta salam semoga senan#asa tetap ter$urah terselesaikan dengan !aik. Tak lupa shola"at serta salam semoga senan#asa tetap ter$urah kepada !aginda %a!i &uhammad SAW. Selanjutnya modul ini disusun untuk memudahkan kepada !aginda %a!i &uhammad SAW. Selanjutnya modul ini disusun untuk memudahkan da
dan n memem!m!ererikikan an ggamam!a!arran an !a!agi gi papara ra pepem!m!a$a$a a yayang ng iningigin n memempmpelelajajarari i !a!ahahasasa pemrograman java dengan metode '
pemrograman java dengan metode '&ela&ela'a( 'a( )e*a)e*a+ + ,an ,an MenMen-enan-enan.kan/.kan/ karena modul inikarena modul ini disertai $ontoh kasus sehingga le!ih mudah untuk
disertai $ontoh kasus sehingga le!ih mudah untuk dipahami.dipahami.
Tak lupa penulis mengu$akan terima kasih !anyak kepada semua pihak yang telah Tak lupa penulis mengu$akan terima kasih !anyak kepada semua pihak yang telah em!antu dengan tenaga dan pikirannya terima kasih juga kepada rekanrekan instruktur em!antu dengan tenaga dan pikirannya terima kasih juga kepada rekanrekan instruktur dosen dan semuanya yang #dak !isa penuis se!utkan satu persatu tanpa mengurangi rasa dosen dan semuanya yang #dak !isa penuis se!utkan satu persatu tanpa mengurangi rasa hormat penulis yang selalu mendukung penulis sehingga modul ini selesai sesuai dengan hormat penulis yang selalu mendukung penulis sehingga modul ini selesai sesuai dengan yang kita inginkan.
yang kita inginkan.
Penulis menyadari masih !anyak kekurangan disana sini dalam penyusunan modul Penulis menyadari masih !anyak kekurangan disana sini dalam penyusunan modul ini. ntuk itu saran dan kri#k
ini. ntuk itu saran dan kri#k yang mem!angun sangat penulis harapkyang mem!angun sangat penulis harapkan guna per!aikan danan guna per!aikan dan pengem!anga
pengem!angan modul n modul ini di ini di masa yang akan datang.masa yang akan datang.
Ak
Akhihir r kakata ta pepenunulilis s !e!erhrhararap ap sesemomogga a momodudul l pepemrmrogogrramaman an jajava va 1 1 inini i dadapapatt dip
diperergungunakakan an se!se!aikaik!a!aikniknya ya dan dan dapdapat at dijdijadiadikakan n rere*e*ererensi nsi !ag!agi i pempem!a$!a$a a yayang ng inginginin mempelajari pemrograman java.
mempelajari pemrograman java.
Jakarta
Jakarta Septem!er Septem!er +,1-
+,1-Penulis Penulis
ST&/
DAFTAR ISI DAFTAR ISI
ST&/
3over...
3over... 11 /ata
/ata PenganPengantar...tar... ++ 0a4ar
0a4ar si...si... 22 Pert
Pertemuan emuan 11 &engen&engenal 5al 5ahasa ahasa PemrPemrograograman man JavJava...a... 66 Pert
Pertemuan emuan ++ /ons/onsep ep 0asa0asar r PemrPemrogrograman aman JavJava....a... +,+, +.1 Tipe 0ata...
+.1 Tipe 0ata... +,+, +.1.1 Tipe
+.1.1 Tipe 5ilangan 5ulat...5ilangan 5ulat... +,+, +.1.+ Tipe 5
+.1.+ Tipe 5ilangan ilangan Pe$ahan...Pe$ahan... +1+1 +
+001.2 Tipe 1.2 Tipe 0ata 0ata 3hara$t3hara$ter...er... +1+1 +.1.7 Tipe 0ata 5
+.1.7 Tipe 0ata 5oolean...oolean... +1+1 +.+ 8aria!el..
+.+ 8aria!el... +1+1 +.+.1
+.+.1 &endeklarasik&endeklarasikan an 8a8aria!el...ria!el... ++++ +.+.+ 9ingkup 8aria!el...
+.+.+ 9ingkup 8aria!el... +2+2 +.+.2 &enempatkan
+.+.2 &enempatkan %ilai kedala%ilai kedalam 8arm 8aria!el...ia!el... +2+2 +.+.7 3onst
+.+.7 3onstanta...anta... +2+2 +.2 &em!uat
+.2 &em!uat komentkomentar...ar... +7+7 Pert
Pertemuan emuan 22 ðoðod d dan dan 3ons3onstru$tru$tor.tor... +:+: 2.1
2.1 ðod...ðod... +:+: 2.+
2.+ 3onstru$tor3onstru$tor... 2,2, Pertemuan
Pertemuan 77 /arakt/arakteris#k eris#k PemrogrPemrograman aman 5er!asis 5er!asis ;!jek...;!jek... 2727
ST&/
7.1 A!stra$#on... 27
7.+ <n$apsula#on... 2:
7.2 nheritan$e... 2=
7.7 Polymorphism... 71
Pertemuan : >; Stream Sederhana... 7:
Pertemuan 6 &em!uat ?orm 0engan J*rame ?orm 0an ;!jek S"ing... 7@
Pertemuan - 0asar Pemrograman Java... :+ -.1 ;perator... :+ -.1.1 Jenis ;perator... :+ -.+ Per$a!angan... :@ -.+.1 Pernyataan *... :@ -.+.+ Pernyataan ?<9S<... 61 -.+.2. *<lse &ajemuk... 62 -.+.7. ? 5ersarang %ested*... 6: -.2 Perulangan... -.2.1 Pernyataan ?or... 6--.2.+ Pernyataan While... 6= -.2.2 Pernyataan 0oWhile... 6= -.7 Array... -, -.7.1 &endeklarasikan Array... -1 -.7.+ &em!uat Array... -1
-.7.2 &emanipulasi 0ata dala Array... -1
-.7.7 Array &ul#dimensi... -+ Pertemuan = 0asar0asar S9... -2
=.1 Pengenalan S9... -2
=.+ Perintah 009 (Data Defnion Laguage)... -7
=.+.1 &em!uat 0ata!ase... -7
=.+.+ &enghapus 0ata!ase... -7
=.+.2 &em!uat Ta!el... -: =.+.7 Perintah A9T< TA59<... -6
=.+.: &enam!ahkan /olom... -= =.+.6 &egu!ah Tipe... -= =.+.- &enghapus /olom... -= =.+.= &engu!ah %ama Ta!el... -= =.+.@ Perintah 0;P... -= =.2. Perintah 0&9 (Data Manipulaon Language)... -@ =.2.1. Perintah S9 %S<T... -@ =.2.+. Perintah S9 P0AT<... =, =.2.2. Perintah S9 0<9<T<... =, =.2.7. Perintah S9 S<9<3T... =, =.2.:. J;% TA59<... =1 =.2.6. %%< J;%... =1 =.2.-. ;T< J;%... =+ =.2.=. 9<?T J;%... =+ =.2.@. BCT J;%... =+ 0a4ar Pustaka...=2
PERTEMUAN $
MENGENAL &AASA PEMROGRAMAN !A1A
Apa se!enernya java ituD
Java adalah nama se!uah !ahasa pemrograman yang sangan terkenal. Se!agai !ahasa pemrograman !ahasa pemrograman dapat digunakan untuk menulis program. Program adalah kumpulan intruksi yang ditujukan untuk komputer. &elalui program komputer dapat diatur agar melaksanakan tugas tertentu sesuai yang ditentukan oleh programmer (orang yang mem!uat program).
$0$0 Se'a(ah Sin.ka+ Pem(2.(aman !a3a
5ahasa pemrograman java yang pada a"alnya !ernama !ahasa pemrograman ;A/ dipelopori oleh James Bosling Patri$k %aughton 3hris Warth <d ?rank dan &ike Sheridan dari sun &i$rosystem n$ pada tahun 1@@1 ke#ka perusahaan terse!ut memulai green proje$t (Proyek peneli#an mem!uat !ahasa pemrograman yang dapat !erjalan disemua jenis plaEorm). Cal ini merupakan se!uah tero!osan yang $ukup !esar. Se!a! se!elumnya aplikasiaplikasi yang dikem!angkan untuk sistem operasi (perangkat lunak dan perangkat keras) tertentu hanya akan !erjalan dengan !aik diatas sistem operasi tertentu pula. 0engan kata lain dimasa lalu aplikasi yang ditulis diatas se!uah sistem operasi (misalnya Windo"s) hampir mustahil !isa dijalankan diatas sistem operasi lain ($ontoh 9inuF).
paya yang dilakukan James Bosling dari Sun &i$rosystem ini $ukup !erhasil. 5ahasa pemrograman java saat ini !isa digunakan untuk mengem!angkan aplikasiaplikasi desktop (menggunakan JS<GJava Standard <di#onH) aplikasiaplikasi yang !erjalan dilingkup <nterprise dan internet(J<<GJava <nterprise <di#onH) serta aplikasiaplikasi yang !erjalan disaranasarana komputasi yang ter!atas sum!erdaya pemrosesan dan ter!atas sum!er daya penggunaan memorinya (J&<GJava &i$ro <di#onH) $ontohnya telpon seluler P0A dan se!againya.
-8er
8ersi a"al java di si a"al java di tahun 1@@6 sudah tahun 1@@6 sudah merupakan versi release sehingga dinamakan javamerupakan versi release sehingga dinamakan java 8ersi 1.,. java versi ini menyertakan !anyak paket standar a"al yang terus dikem!angkan 8ersi 1.,. java versi ini menyertakan !anyak paket standar a"al yang terus dikem!angkan pada versi selanjutnyaI
pada versi selanjutnyaI
java.langI P java.langI Peruntukaeruntukan kelas elemenelemen dasan kelas elemenelemen dasarr..
java.ioI P java.ioI Peruntukan keruntukan kelaselas input input dan dan output output termasuk penggunaan !erkas. termasuk penggunaan !erkas.
java.u#lI P java.u#lI Peruntukan keruntukan kelas pelengkap selas pelengkap seper# keper# kelas strelas struktur dauktur data dan kta dan kelas kelas pelas kelas penanggenangg alan.
alan.
java.net java.netII PeruntukanPeruntukan kelaskelas T3P>PT3P>P yangyang memungkinkanmemungkinkan !erkomunikasi!erkomunikasi dengandengan kompkomp uter
uter lain menggunakan jaringan T3P>P.lain menggunakan jaringan T3P>P.
java.a java.a"tI /elas dasa"tI /elas dasar untuk aplikr untuk aplikasi antaasi antarmuka dengarmuka dengan pengguna (Bn pengguna (B))
java.ap java.appletI /elas dasapletI /elas dasar aplikasi anr aplikasi antar muka tar muka untuk dituntuk diterapkerapkan pada penjelajah "an pada penjelajah "e!.e!.
$0"0 Ka(ak+e(is4k &ahasa Pem(2.(aman !a3a $0"0 Ka(ak+e(is4k &ahasa Pem(2.(aman !a3a
5e!er
5e!erapa apa karkaraktakteriseris#k #k dari dari !aha!ahasa sa pemrpemrogrograman aman javjava a adalaadalah h sederhsederhana ana ;!je$;!je$tt ;riented Program dapat didistri!usikan dengan mudah &ul#plaEorm &ul#thread.
;riented Program dapat didistri!usikan dengan mudah &ul#plaEorm &ul#thread.
A
A00 SSee,,ee((hhaannaa
5ahasa pemrograman java menggunakan sintaks mirip dengan 3
5ahasa pemrograman java menggunakan sintaks mirip dengan 3 namun sintaks pada javanamun sintaks pada java tela
telah h !an!anyak yak diperdiper!aiki!aiki. . TTeruterutama ama menghmenghilanilangkagkan n penggupenggunaan naan poinpointer ter yang yang rumirumit t dandan mul#ple inheriten$e. Java juga menggunakan automa#$ memory allo$a#on dan memory mul#ple inheriten$e. Java juga menggunakan automa#$ memory allo$a#on dan memory gar!age $olle$#on.
gar!age $olle$#on.
&
&00 OO55'e'e66+ O+ O((iieenn++e, e, PP((22..((aamm
Java menggunakan pemrograman !erorientasi o!jek yang mem!uat program dapat di!uat Java menggunakan pemrograman !erorientasi o!jek yang mem!uat program dapat di!uat sse
sse$a$ara ra modmodulaular r dan dan dadapat pat dipdipergergunaunakakan n kkem!em!li. li. PemPemrorogrgramaaman n !er!erorioriententasi asi o!jo!jekek memodelkan dunia nyata kedalam o!jek dan melakikan interaksi antar o!jeko!jek terse!ut. memodelkan dunia nyata kedalam o!jek dan melakikan interaksi antar o!jeko!jek terse!ut.
)0
)0 DaDa*a*a+ ,+ ,i,i,isis+(+(i5i5ususikikan an ,e,en.n.an an mumu,a,ahh Jav
Java a dapadapat t digundigunakaakan n untuuntuk k menymenye!arke!arkan>mean>mendisndistri!utri!usiksikan an datdata a atatau au in*in*ormaormasi si dalamdalam "orksta#on $lient email data!ase server dan "e!server (dalam jaringan komputer lokal "orksta#on $lient email data!ase server dan "e!server (dalam jaringan komputer lokal =o$a
=o$alntlnterneternet). ). JavJava a di!uadi!uat t untuntuk uk mem!umem!uat at aplikaplikasi asi terterdistdistri!usri!usi i se$ase$ara ra mudamudah h dengdenganan adanya li!raries net"orking yang terintegrasi pada java.
adanya li!raries net"orking yang terintegrasi pada java.
D
D00 MMuull44**llaa7722((mm
ST&/
Prog
Program ram javjava a yanyang g sudasudah h ditditerjemaerjemahkahkan>dikn>dikompilaompilasi si dengdengan an !enar !enar dan dan !erha!erhasil sil dapadapatt dijalankan pada plaEorm !er!eda!eda atau pada sistem operasi yang !er!eda!eda.
dijalankan pada plaEorm !er!eda!eda atau pada sistem operasi yang !er!eda!eda.
Java menggunakan prinsip W;A (Write ;n$e and un Any"here). Ar#nya sekali menulis Java menggunakan prinsip W;A (Write ;n$e and un Any"here). Ar#nya sekali menulis progra
programdalam !ahasa mdalam !ahasa java dan java dan mengkommengkompilasinyapilasinya maka hasil maka hasil prograprogramnya dapat mnya dapat dijalankadijalankann pada sistem operasi mana saja. Seper# 0;S Windo"s 9inuF &a$;S Solaris
pada sistem operasi mana saja. Seper# 0;S Windo"s 9inuF &a$;S Solaris E
E00 MMuull44++hh((eeaa,,
&aksudnya adalah !anyaknya pekerjaan yang dikerjakan dalam satuan "aktu yang hampir &aksudnya adalah !anyaknya pekerjaan yang dikerjakan dalam satuan "aktu yang hampir !ersamaan. Se!agai $ontoh suatu "e! server mempunyai ratusan $lient server. 5e!erapa !ersamaan. Se!agai $ontoh suatu "e! server mempunyai ratusan $lient server. 5e!erapa $lient yang mengakses "e! server se$ara !ersamaan. Apa!ila "e! server terse!ut hanya $lient yang mengakses "e! server se$ara !ersamaan. Apa!ila "e! server terse!ut hanya me
memimililiki ki sasatu tu ththreread ad ajaja a !e!erarar# r# $l$lieient nt yayang ng lalain in haharurus s memenunungnggugu. . ;l;leh eh kakarerena na itituu di!utuhkan mul#thread untuk dapat melayani $lient server.
di!utuhkan mul#thread untuk dapat melayani $lient server.
$0
$0 TiTin.n.kaka+a+an &an &ahahasa Psa Pemem(2(2.(.(amamanan
0alam dunia pemrograman !ahasa memiliki #ga #ngkatan yaituI 0alam dunia pemrograman !ahasa memiliki #ga #ngkatan yaituI
1.
1. 5ahasa p5ahasa pemrograemrograman #ngkaman #ngkat endah. t endah. 3ontohI!ahas3ontohI!ahasa Assem!lera Assem!ler
+.
+. 5ahasa Pemr5ahasa Pemrograman #ngkograman #ngkat sedang atat sedang atau menengah. 3ontohau menengah. 3ontohI 5ahasa 3 Pas$aI 5ahasa 3 Pas$all ?ortran dan lain lain
?ortran dan lain lain
2.
2. 5ahasa pemr5ahasa pemrograman #ngkograman #ngkat #nggi. 3onat #nggi. 3ontohI JavatohI Java 3 3K dan la 3 3K dan lainlaininlain
"0
"0 !e!eninis Ps P((2.2.((am am !a!a33aa
Progra
Program java dapat di!edakan menjadi m java dapat di!edakan menjadi dua jenis yaitu Applet dua jenis yaitu Applet dan Aplikasi.dan Aplikasi.
a
a.. AApppplleett
Adalah program yang di!uat dengan java dapat diletakan di "e! server dan diakses Adalah program yang di!uat dengan java dapat diletakan di "e! server dan diakses me
melalalului i "e"e! ! !r!ro"o"seserr. . 0a0alalam m hahal l inini i !r!ro"o"seser r yayang ng didigugunanakakan n adadalalah ah yayang ng mememimililikiki kemampuan java (misalnya %ets$ape %avigator nternet <Fplorer &oLila ?ire*oF dan lain kemampuan java (misalnya %ets$ape %avigator nternet <Fplorer &oLila ?ire*oF dan lain lain).
lain).
!
!.. AApplliikkaassii
Adalah program yang di!uat
Adalah program yang di!uat dengan java yang !ersi*at umum. Aplikasi dapat dengan java yang !ersi*at umum. Aplikasi dapat dijalankdijalankanan se$ara langsung. Tidak perlu
se$ara langsung. Tidak perlu perangkaperangkat lunak t lunak !ro"ser untuk menjalankann!ro"ser untuk menjalankannya. Aplikasi dapatya. Aplikasi dapat
ST&/
pem!a
pem!a$a $a !ay!ayangkangkan an seperseper# # proprogragram m yanyang g pem!apem!a$a $a tulitulis s dengdengan an !aha!ahasa sa 3 3 atatau au PaPas$als$al.. Setelah dikompilasi pem!a$a dapat mengeksekusinya se$ara langsung.
Setelah dikompilasi pem!a$a dapat mengeksekusinya se$ara langsung.
Pemrograman java yang akan penulis !ahas mem!utuhkan so4"are pendukung. yang akan Pemrograman java yang akan penulis !ahas mem!utuhkan so4"are pendukung. yang akan digunakan untuk menguraikan sintakssintak dari !ahasa pemrograman java. So4"are dan digunakan untuk menguraikan sintakssintak dari !ahasa pemrograman java. So4"are dan TeFt <ditor yang di!utuhkan yaituI
TeFt <ditor yang di!utuhkan yaituI
1.
1. Java S< 0evelopment /it (J0/) !isa dido"nload diJava S< 0evelopment /it (J0/) !isa dido"nload di
hMpI>>""".ora$le.$om>te$hnet"ork>java>javase>do"nloads>indeF.html
hMpI>>""".ora$le.$om>te$hnet"ork>java>javase>do"nloads>indeF.html
+.
+. %et5eans !isa dido"nload di%et5eans !isa dido"nload di hMpsI>>net!eans.org>do"nloads>hMpsI>>net!eans.org>do"nloads>
2.
2. J$reatJ$reator !isa or !isa dido"nload didido"nload di hMpsI>>j$reator.$om>hMpsI>>j$reator.$om>
80
80 PPe(e(nn-a-a+a+aan ,aan ,an Ekn Eks*s*((esesii
a0
a0 PePe(n(n-a-a+a+aanan Perny
Pernyataan adalah ataan adalah perintah yang menye!a!kan sesuatu terjadi perintah yang menye!a!kan sesuatu terjadi dan merepresentasikdan merepresentasikan an suatusuatu aksi tunggal dalam program java. Se#ap pernyataan diakhiri dengan tanda semi$olon (N). aksi tunggal dalam program java. Se#ap pernyataan diakhiri dengan tanda semi$olon (N). Per
Pernynyataan juga ataan juga dikdikelompelompokkaokkan n dengdengan an tandtanda a pem!pem!uka (uka ( 99 ) ) dadan n tatandnda a pepenunututup p (( )) kelompok ini dise!ut dengan !lok atau !lok
kelompok ini dise!ut dengan !lok atau !lok pernyapernyataan.taan.
3ontohI int
3ontohI int tahunProduktahunProduksiNsiN 50
50 EkEks*s*((esesii
<kspresi adalah pernyat
<kspresi adalah pernyataan yang dapat menghasilkan suatu aan yang dapat menghasilkan suatu nilai yang dise!ut dengan nilainilai yang dise!ut dengan nilai !alik (return value) yang dapat !erupa
!alik (return value) yang dapat !erupa !ilangan !oolean atau o!jek.!ilangan !oolean atau o!jek. 3ontohI hasil5agiOa>!N
3ontohI hasil5agiOa>!N
;
;00 KK22nnssee* D* Daassaa( O( OOOPP 60
60 &a&ahahasa Pesa Pem(m(2.2.((amamanan
5ahasa Pemrograman (programm
5ahasa Pemrograman (programming ing language) adalah se!uah language) adalah se!uah instruksinstruksi i stanstandar dar untukuntuk memeri
memerintntah ah kokomputmputer er agaagar r menjamenjalanklankan an *ung*ungsi si terttertentuentu. . 5aha5ahasa sa pemrpemrogrograman aman iniini mer
merupaupakakan n suasuatu tu himhimpunpunan an dardari i atatururan an sinsintataks ks dan dan semsemanan#k #k yayang ng dipdipakakai ai ununtuktuk mendenisikan program komputer
mendenisikan program komputer
5erdasarkan uraian diatas maka !isa disimpulkan !ah"a !ahasa pemrograman adalah 5erdasarkan uraian diatas maka !isa disimpulkan !ah"a !ahasa pemrograman adalah perantara per$akapan antara manusia dan komputer yang mana !ahasa pemrograman perantara per$akapan antara manusia dan komputer yang mana !ahasa pemrograman di
diu!u!ah ah kkededalalam am !a!ahahasa sa yayang ng didipapahahami mi ololeh eh kkomompuputeter r dendenggan an memengnggugunanakkanan
ST&/
Interpreter
Interpreter a attaauu Compiler Compiler . . /a/arerena na kkomompuputter er !e!ekkererja ja sesepeper#r# SwSwititchchiningg hanhanya ya !isa!isa mengenal , dan 1
mengenal , dan 1 sedangkan manusia #dak(pahasedangkan manusia #dak(paham) !i$ara dengan !ahasa , dan 1m) !i$ara dengan !ahasa , dan 1
Compiler
Compiler !ekerja mengkompilasi !ekerja mengkompilasi source codesource code menjadi !entuk le yang !isa dieksekusi menjadi !entuk le yang !isa dieksekusi sed
sedangangkakann Interpreter Interpreter !ek!ekerja mengkerja mengkompilompilasi dan menjalankasi dan menjalankanan sosoururce coce codede se$arase$ara langsung.
langsung.
Gam5a( $0$0 )2m*ile( ,an In+e(*(e+e( Gam5a( $0$0 )2m*ile( ,an In+e(*(e+e(
d.
d. )lass)lass yaitu yaitu merupakan kumpulan dari data amerupakan kumpulan dari data atau atri!ut dan tau atri!ut dan method. 3lass juga !isamethod. 3lass juga !isa dikatakan se!agai konsep dan deskripsi dari sesuatu. 3lass mendeklarasikan method dikatakan se!agai konsep dan deskripsi dari sesuatu. 3lass mendeklarasikan method yang akan digunakan (dipanggil) oleh
yang akan digunakan (dipanggil) oleh ;!je$t.;!je$t.
3ontohI
3ontohI &o!il&o!il
&en+uk umum : &en+uk umum :
Main )lass<)lass in,uk Main )lass<)lass in,uk modier 1 $lass
modier 1 $lass %ama$lass %ama$lass modier + Qmodier + Q pu!li$ sta#$ void
pu!li$ sta#$ void main(StringGHarmain(StringGHargs)Qgs)Q >>pen$iptaan o!jek
>>pen$iptaan o!jek RR
ST&/
ST&/ %SA %SA &A%0 &A%0 1111
jav
java$
a$
jav
jav
a$
a$
(Java 3ompiler) (Java 3ompiler) (Java 3ompiler)(Java 3ompiler)
jav
jav
jav
java
a
a
a
(Java nterpreter) (Java nterpreter) (Java nterpreter)
R
Su5 )lass<)lass Anak
modier 1 $lass %ama3lass modier + Q >>#pedata namaatri!ut>varia!el
R
e. O5'e6+ adalah !entuk nyata dari suatu 3lass dengan kata lain o!je$t merupakan !entuk sederhana (intansiasi) dari 3lass. ;!je$t memiliki si*at independen dan dapat digunakan untuk memanggil method.
3ontohI &o!ilnya Pak joko &o!ilku mo!il !er"arna merah &en+uk Umum:
%ama3lass %ama;!je$t One" %ama3lass()
*. Da+a<A+(i5u+<1a(ia5le &erupakan komponen terke$il didalam $lass atau dapat dikatakan data merupakan karakteris#k sik dari $lass. /ita am!il $ontoh $lass manusia manusia itu memiliki mata telingan hidung mulut tangan kaki dan lainnya.
3ontohI karakteris#k dari $lass manusia diantaranyaN jenis/elamin usia "arnaam!ut "arna/ulit dll.
&en+uk Umum:
typedata namaatri!ut>data>varia!el
ST&/ %SA &A%0 1+
A=(i5u+e>Mem5e(?: Topi 5aju Jaket Tas Punggung Tangan /aki &ata &eha3i2(>Me+h2,?: 3ara Jalan ke 0epan 3ara Jalan &undur 3ara 5elok ke /iri 3ara &emanjat
Gam5a( $0" )2n+2h )lass@ O5'e6+@ A+(i5u+
Gam5a( $08 )2n+2h " )lass@ A+(i5u+@ O5'e6+
)2n+2h:
Su5 )lass
pu!li$ $lass 3ontohJava Q
String jenis/elaminO'kh"an "arnaam!utO'CitamN
int usiaO+-N
R
Main )lass
pu!li$ $lass 3ontohJava5eraksiQ
pu!li$ sta#$ void main(StringGHargs)Q
>>instansiasi o!je$t
3ontohJava ;!jOne" 3ontohJava()N
>>pernyataan $etak
System.out.println('/onsep dasar ;;P)N
ST&/ %SA &A%0 12
AMri!ute (State)I
5an S#r Pedal em Pedal Bas Warna Tahun Produksi
5ehaviorI
3ara &enghidupkan &esin 3ara &anjalankan &o!il 3ara &emundurkan &o!il
AMri!ute 8aria!le(&em!er) 5ehavior ðod(?ungsi)
System.out.println('Jenis /elaminIo!j.jenis/elamin)N
System.out.println('Warna am!utIo!j."arnaam!ut)N
System.out.println('siaIo!j.usia)N
R
R
Im*lemen+asi men..unakan Ne+&eans
$0 &uka Ne+5eans IDE
+. Iku4 lan.kah 5e(iku+:
Pilih menu le dan pilih %e" Proje$t $ategoriesOJava Proje$tOJava Appli$a#ons dan klik neFt. 5eri nama proje$t dengan nama all2)i*u+a+ dan klik ?inish
ST&/ %SA &A%0 1: Proje$t
Pa$kage
La4han $
• 5uatlah 1 $ontoh suatu $lass (en#tas) !eserta dengan atri!ut dan o!je$t.
• 5uatlah 1 $ontoh suatu $lass (en#tas) !eserta dengan atri!ut dan + o!je$t yang
!er!eda.
PERTEMUAN "
KONSEP DASAR PEMROGRAMAN !A1A
"0$ Ti*e Da+a
Tipe data dalam pemrograman java dikelompokkan ke dalam + jenis #pe data yaituI a. Ti*e ,a+a *(imi4f adalah #pe data yang merupakan kata kun$i di dalam java
(tertanam di $ompiler java) sehingga pemrosesan jauh le!ih $epat. Tipe data primi#* menggunakan huru* ke$il (lo"er $ase) .
$ontohI int dou!le
!. Ti*e ,a+a (efe(en6e yaitu #pe data !erupa $lass yang ada di li!rari java (java.lang). #pe data re*eren$e menggunakan huru* kapital.
3ontohI String nteger 0ou!le
Java memiliki delapan #pe data primi#ve melipu# 7 #pe untuk !ilangan !ulat + # pe untuk !ilangan pe$ahan dan sisanya untuk karakter dan 5oolean.
Ta!el +.1 Tipe 0ata Primi#* pada Java
5erikut kita !ahas se$ara singkat dan padat mengenai keempat kategori #pe data diat as.
"0$0$ Ti*e &ilan.an &ula+ >Integer ?
1. Ada empat ma$am #pe !ilangan !ulat. Per!edaan masingmasing #pe data terletak pada jangkauan nilai yang di$akup. Tipe data integer digunakan untuk operasi data !ilangan !ulat dan perhitungan arima#ka. 5erikut keempat #pe data yang ter$akup kedalam kategori integer.
5erikut keempat #pe data yang ter$akup kedalam kategori integer.
"0$0" Ti*e &ilan.an Pe6ahan >Floang Point ?
Pada dasarnya digunakan ke#ka kita mempunyai situasi dimana mendapatkan hasil atau output dalam !entuk desimal dan seluruh angka yang #dak dise!utkan dalam #pe data integer. 0ua #pe data yang !erkaitan dengan !ilangan pe$ahan adalah oat dan dou!le.
"0$08 Ti*e Da+a ka(ak+e( >Char ?
Tipe data 3hara$ter digunakan untuk mendenisikan se!uah karakter yang merupakan sim!ol dalam karakter Set seper# huru* dan angka. /ey"ord #pe data 3hara$ter ini yaitu $har dengan ukuran 16 !it.
"0$0; Ti*e Da+a &22lean
Tipe data 5oolean digunakan untuk menangani keadaan logika atau keadaan dengan dua kemungkinan nilai. %ilai yang dapat digunakan adalah True(!enar) dan ?alse(Salah)
"0" 1a(ia5el
8aria!le adalah suatu tempat untuk menampung data atau konstanta di memory yang mempunyai nilai atau data yang dapat !eru!ahu!ah selama proses program. Atau !isa juga dijelaskan varia!el menyatakan suatu lokasi di dalam memory komputer yang digunakan untuk menyimpan suatu nilai dan nilai yang ada di dalamnya !isa diu!ah.
Bam!ar +.1 Bam!aran 8aria!el
0alam pe!erian nama varia!el mempunyai ketentuanketentuan antara lain #dak !oleh ada spasi ( $th I gaji !ersih) dan dapat menggunakan tanda garis !a"ah ( U ) se!agai penghu!ung ( $th I gajiU!ersih ). Tidak !oleh dia"ali oleh angka dan menggunakan operator aritma#ka. Pem!a$aan varia!le dalam pemrograman java !ersi*at $ase sensi#ve
"0"0$ Men,ekla(asikan 1a(ia5el
0eklarasi varia!el adalah proses memperkenalkan varia!el kepada java dan pendeklarasian terse!ut !ersi*at mutlak karena jika #dak diperkenalkan terle!ih dahulu maka java #dak menerima varia!el terse!ut.
0eklarasi varia!el ini melipu# #pe varia!el seper#I integer atau $hara$ter dan nama varia!le itu sendiri.
Se#ap kali pendeklarasian ini varia!el harus diakhiri oleh tanda ##k koma(N)
"0"0" Lin.ku* 3a(ia5el
8aria!el dipanggil !erdasarkan lingkupnya dimulai dari !lok yang paling ke$il kemudian !lok diluar itu.
0alam pemrograman !ahasa java dikenal ada 7 lingkup varia!el yaituI
a. L26al 3a(ia5le yaitu digunakan di dalam method atau !lok pernyataan yang le!ih ke$il dari itu.
!. Pa(ame+e( yaitu varia!el yang !erada di dalam pernyataan (argument) se!uah method
$. Ins+an6e 3a(ia5le yaitu varia!el yang memiliki nilai yang !er!eda dise#ap o!jek.
d. )lass 1a(ia5le varia!el yang !erlaku di suatu $lass dan seluruh instan dari $lass terse!ut (o!jek). 3iri dari $lass varia!el adalah menggunakan key"ord s+a46 "0"08 Menem*a+kan Nilai ke,alam 1a(ia5el
Setelah pendeklarasian varia!el dilaksanakan selanjutnya varia!el tadi !isa anda masukan nilai ke dalam varia!el. 5erikut $ara yang mudah untuk menemppatkan nilai ke dalam varia!elI
nama varia!el O nilaiN
3ontoh Penempatan %ilai kedalam 8aria!el I namaUmahasis"a O Vrvan . ArdiansyahVN grade O XAXN
rataUrata O @:.-:N nilai1 O @,N nilai+ O @:N
Java !isa juga memper!olehkan mem!erikan nilai yang sama ke!e!erapa nama varia!e l yang !er!eda.
"0"0; K2ns+an+a
/onstanta merupakan varia!el yang #dak dapat diu!ah lagi nilainya. 0i Java pem!uata n konstanta dapat menggunakan kata kun$i nal pada a"al deklarasi varia!el.
3ontoh I
nal int nilaiAkhir O 1,,N
+.2 Mem5ua+ K2men+a(
Pada !ahasa pemrograman manapun komentar program !iasa digunakan untuk mem!rikan penjelasan !aris atau !lok program supaya pem!a$a atau programmer lainnya !isa memahami dan menger# !agian!agian program terse!ut. Ada 2(#ga) $ara mem!erikan komentar program pda java yaituI
a. <nd ;* 9ine 3ommnet(>>)
/omentar dengan tanda slash ganda(>>) dise!ut dengan <nd o* 9ine 3omment karena semua perintah program komentarkomentar atau penjelasan program !erada setelah tanda slash ganda. 0engan ar# lain semua !entuk karakter atau tulisan yang !erada setelah tanda slash ganda dianggap se!agai komentar. 0an komentar hanya satu !aris saja. 3ontohI
>> isi komentar program >> a O ! $N
!. &ul#ple 9ine 3omment ( >Y Y>)
/omentar dengan tanda slash dan asterik dise!ut juga dengan mul#ple 9ine 3omment karena komentarkomentar atau penjelasan program !erada dalam apitan tanda slash dan asterik. 3ontohI
>Y isi komentar program !isa
terdiri dari !e!erapa !aris komentar atau in*ormasi Y>
$. Javado$ 3omment ( >YY Y>)
/ometar dengan tanda slash dan asterik ganda di depan dise!ut juga dengan javado$ $omment. Penggunaanya sama dengan &ul#ple 9ine 3omment akan tetapi penggunaanya untuk dokumentasidokumentasi di dalam program. Se!agai $ontohI semua komentar program atau penjelasan program pada saat di$ompile #dak ikut serta di $ompile karena #dak dianggap se!agai suatu !aris program.
PERTEMUAN 8
METOD DAN )ONSTRU)TOR
80$ Me+h2,
ðod adalah se!uah $ara atasu suatu ak#tas dari suatu $lass yang menghasilkan sesuatu. ðod merupakan urutan instruksi yang mengakses data dari o!je$t.
ðod digunakan untuk memanipulasi data perhitungan matema#ka memonitor kejadian dari suatu event.
Gam5a( "0$ 62n+2h me+h2,
ðod di!agi menjadi + kategori yaitu method viod dan method non void
1. Me+h2, 12i, >Ti,ak Men.em5alikan Nilai? 5entuk mumI
void namaðod()Q R
)2n+2h$: Su5 )lass
pu!li$ $lass &anusiaQ
String jenis/elaminO'kh"an "arnaam!utO'CitamN int usiaO+-N void get3etak()Q System.out.println('Jenis kelaminIjenis/elamin)N System.out.println('Warna ram!utI"arnaam!ut)N System.out.println('siaIusia)N R R
Pen'elasan S6(i*+
su! $lass diatas memiliki nama $lass Manusia atri!ut dari $lass Manusia adalah jenis/elamin dengan value 'kh"an "arnaam!ut dengan value 'Citam dan usia dengan value +-. S-s+em02u+0*(in+l adalah perintah yang digunakan untuk men$etak tampilan dan .e+)e+ak adalah nama method void yang digunakan untuk memanipulasi data.
Main )lass
pu!li$ $lass &anusia5eraksiQ
pu!li$ sta#$ void main(StringGHargs)Q >>instansiasi o!je$t
&anusia o!jOne" &anusia()N >>pernyataan $etak System.out.println('/onsep dasar ;;P)N o!j.get3etak()N R R Pen'elasan s6(i*+
&ain $lass adalah $alss !erkerja menjalankan su!su! $lass yang dihu!ungkan ke main $lass. %ama main $lass yaitu Manusia&e(aksi9 tanda !ah"a se!uah $lass dise!ut main $lass yaitu terdapat deklarasi main $lass seper# $ontoh diatas yaitu *u5li6 s+a46 32i, main>S+(in.Ba(.s?90 Manusia adalah su! $lass yang dipanggil di main $lass yang didenisikan menggunakkan o!je$t yaitu 25' yang !erguna untuk memanggil method yang terdapat di su! $lass Manusia0 Pendenisian menggunakan o!je$t ini dise!ut $onstru$tor. Casil yang ditampilkan adalahI
Jenis /elamin I kh"an Warna am!utI Citam sia I
+-ST&/ %SA &A%0
+-3onstru$tor (penghu!ung main $alss dengan su! $lass)
+. Me+h2, N2n 12i, >Men.em5alikan Nilai? )2n+2h":
Su5 6lass
pu!li$ $lass Test%ilai Q int nilai1O1,nilai+O+,N
pu!li$ int get%ilai()Q ðod non void return(nilai1Ynilai+)N R void get3etak()Q System.out.println(VTest %ilaiV)N System.out.println(VTest %ilaiIVget%ilai())N R R Su5 6lass
pu!li$ $lass Java%ilai Q >>int nilai1 nilai+N
pu!li$ Java%ilai() Q parameter pada method R
pu!li$ int get%ilai(int a int !)Q method non void !erparameter return(aY!)N R void get3etak()Q System.out.println(V/onsep 0asar ;;P V)N System.out.println(VCasilIVget%ilai(1,+,))N R R Main )lass
pu!li$ $lass Test%ilai5eraksi Q
pu!li$ sta#$ void main(StringGHargs)Q >>instansiasi o!je$t
Test%ilai o!jOne" Test%ilai()N o!j.get3etak()N
Java%ilai o!jparOne" Java%ilai()N o!jpar.get3etak()N
R R
La4han "
Tu.as $
ST&/ %SA &A%0 +@
pu!li$ $lass &o!il+Q String "arnaN int tahunProduksiN void print&o!il()Q System.out.println(VWarnaI V "arna)N System.out.println(VTahunI V tahunProduksi)N R R
pu!li$ $lass &o!il+5eraksiQ
pu!li$ sta#$ void main(StringGH args)Q &o!il+ mo!ilku O ne" &o!il+()N
mo!ilku."arna O VCitamVN mo!ilku.tahunProduksi O +,,6N mo!ilku.print&o!il()N
R R
1. 5uat $lass Candphone masukkan dalam pa$kage hp 3lass Candphone !erisi empat method di !a"ahI
a. hidupkan()
!. lakukanPanggilan()
$. kirimS&S()
d. ma#kan()
si masingmasing method dengan tampilan status menggunakan System.out.println()
+. 5uat $lass Candphone5eraksi dan panggil methodmethod diatas dalam $lass terse!ut
2. kirim tugas ini ke email dengan su!je$t nimUkelas Tu.as "
1. 5uat 3lass !ernama &atema#ka yang !erisi method dengan dua parameterI
• pertam!ahan(int a int !) • pengurangan(int a int !) • perkalian(int a int !) • pem!agian(int a int !)
+. 5uat 3lass !ernama &atema#ka5eraksi yang mengeksekusi method dan menampilkanI
• Pertam!ahanI +, +, O 7, • PenguranganI 1,: O : • PerkalianI 1,Y+, O +,, • Pem!agianI +1>+ O 1,
80" )2ns+(u6+2(
3onstru$tor adalah Suatu metode yang dieksekusi (dijalankan se$ara otoma#s) saat suatu o!je$t ter$ipta dari suatu $lass. 3onstru$tor juga merupakan method yang digunakan untuk meme!erikan nilai a"al pada saat o!jek di$iptakan.
3onstru$tor memiliki si*at yaituI
1. %ama $onstru$tor sama dengan nama $lass(su! $lass)
+. Tidak memiliki nilai !alik
2. Tidak !oleh ada kata kun$i void
3ontoh Penerapan 3onstru$tor
)2n+2h $
Su5 6lass
pu!li$ $lass &o!il Q
String "arnaN
int tahunProduksiN
*u5li6 M25il>S+(in. wa(na@ in+ +ahunP(2,uksi?9
+his0wa(na C wa(na
+his0+ahunP(2,uksi C +ahunP(2,uksi
pu!li$ void in*o()Q
System.out.println(VWarnaI V "arna)N
System.out.println(VTahunI V tahunProduksi)N
R
R
Main )lass
pu!li$ $lass &o!il/onstruktorQ
pu!li$ sta#$ void main(StringGH args)Q
M25il m25ilku C new M25il>Me(ah/@ "##8?
mo!ilku.in*o()N
R
R
)2n+2h "
Su5 )lass
pu!li$ $lass Test%ilai Q
pu!li$ int get%ilai/ali(int Fint y)Q
return(Fy)N
R
R
Main )lass
pu!li$ $lass Test%ilai5eraksi Q
pu!li$ sta#$ void main(StringGHargs)Q
>>instansiasi o!je$t
Test%ilai o!jOne" Test%ilai()N
System.out.println(V%ilai /aliIVo!j.get%ilai/ali(1,1,))N
R
R
)2n+2h 8
Su5 )lass
pu!li$ $lass Test%ilai3onstru$ Q int nilai1nilai+N
*u5li6 Tes+Nilai)2ns+(u6>in+ @ in+ -? 9 nilai$C
nilai"C-
>>method non void pu!li$ int get%ilai/ali()Q
return(nilai1Ynilai+)N R >>method void void get3etak%lai()Q System.out.println(VTest 3onstru$torV)N System.out.println(V%ilai CasilIVget%ilai/ali())N R R Main )lass
pu!li$ $lass Test%ilai3onstru$5eraksi Q
pu!li$ sta#$ void main(StringGHargs)Q
>>instansiasi o!je$t
Tes+Nilai)2ns+(u6 25'Cnew Tes+Nilai)2ns+(u6>"#@8#?
o!j.get3etak%lai()N
R
R
La4han $
1. 5uat $lass 5ank
• 5uat konstruktor $lass 5ank dengan parameterI saldo • 5uat methodI simpanang am!ilang dan getSaldo
+. 5uat $lass 5ank5eraksi tetapkan saldo a"al le"at konstruktur p. 1,,,,, jalankan 2 method di atas dan tampilkan proses se!agai !erikutI
Selamat 0atang di 5ank A53 Saldo saat iniI p. 1,,,,,
Simpan uangI p. :,,,,, Saldo saat iniI p. 6,,,,,
Am!il uangI p. 1:,,,, Saldo saat iniI p. 7:,,,,
PERTEMUAN ;
KARAKTERISTIK PEMROGRAMAN &ER&ASIS O&!EK
;0$0 A5s+(a642n>A5s+(aksi?
Adalah $ara melihat suatu sistem dalam !entuk yang le!ih sederhana yaitu se!agai suatu kumpulan su!sistem (o!je$t) yang saling !erinteraksi. 3ontoh &o!il adalah kumpulan sistem pengapian sistem kemudi sistem pengereman.
Alat untuk menga!straksikan sesuatu adalah $lass sedangkan o!jek !ersi*at modularity o!jek dapat ditulis dan dimaintain terpisah(independen) dari o!jek lain.
;0"0 En6a*sula42n>Enka*sulasi?
/arakteris#k ini merupakan suatu $ara !agaimana menyem!uyinkan suatu proses dan data dalam sistem untuk menghindari inter*erensi dari luar sistem dan menyederhanakan penggunaan proses itu sendiri.
3ontohI
Pada saat anda menggan# $hannel T8 menggunakan remote T8 apakah anda mengetahui proses yang terjadi di dalam T8 terse!utD maka ja"a!annya tentu saja #dak tahu dan andapun se!agai pem!eli T8 #dak mau dipusingkan dengan proses yang terjadi. &aka hal terse!ut dise!ut menyederhanakan sistem di dalam ;;P. 3ontoh lain seper# Tongkat Transmisi(gigi) pada mo!il tom!ol on>oZ pengaturan suhu pada A3.
<n$apsula#on><nkapsulasi dapat dilakukan terle!ih dahulu memahami a66ess m2,ie( >)lass A66ess Le3el? karena merupakan implementasi dari konsep <nkapsulasi.
<nkapsulasi dapat dilakukan dengan + (dua) $ara yaituI
1. &endeklarasikan instan$e varia!el se!agai private
+. &endeklarasikan method yang si*atnya pu!li$ untuk mengakses varia!el terse!ut
3ontoh penerapan enkapsulasi
ST&/ %SA &A%0 26
M2,ie( Dalam )lass -an. Sama Dalam Pa6ka.e -an. Sama Dalam Su5)lass Dalam Pa6ka.e Lain private tanpa tanda prote$ted pu!li$
&elum Enka*sulasi
pu!li$ $lass SepedaQ int girN
void setBir(int pertam!ahanBir) Q girO gir pertam!ahanBirN R int getBir() Q return girN R R Enka*sulasi
pu!li$ $lass SepedaQ
*(i3a+e int girN a$$ess modier private pada instan$e varia!le void setBir(int pertam!ahanBir) Q
girO gir pertam!ahanBirN R
int getBir() Q return girN R
R
pu!li$ $lass Sepeda5eraksiQ
pu!li$ sta#$ void main(StringGH args) Q
2-Sepeda sepedaku O ne" 2-Sepeda()N
sepedaku.setBir(1)N
>Y 8aria!el !isa diu!ah atau #dak sengaja diu!ah. Cal ini !er!ahaya dan sering menim!ulkan !ug.
5erikan a$$ess modier private pada instan$e varia!le Y> se*e,aku0.i( C 8
System.out.println('Bir saat iniI ' sepedaku.getBir())N R
R
3ontoh lain I
1) 5uatlah se!uah 3lass dengan nama&ela'a(0!a3a
$alss 5elajar Q
Pu!li$ String [ OPintarN Private String OJava N R
+) 5uatlah se!uah 3lass dengan nama Pin+a(0'a3a
$u!li$ $lass Pintar Q
pu!li$ sta#$ void main(StringGHargs)Q 5elajar panggilOne" 5elaja()N
System.out.println('Panggil [ I 'panggil.[)N System.out.println('Panggil I 'panggil.)N R
R
Pen'elasan :
?ungsi *u5li6 yang terdapat dalam $lass &ela'a( pada varia!el [ memungkinkan nilai dari varia!el [ dapat diakses dan diu!ah oleh $lass Pin+a( sedangkan varia!el yang menggunakan *ungsi *(i3a+e #dak dapat diakses oleh $lass Pin+a(0
;080 Inhe(i+an6e >*ewa(isan?
nheritan$e (Pe"arisan>Penurunan) merupakan penurunan si*at (data>atri!ut dan method) dari induk $lass kepada su! $lass atau anak $lass serta mem!entuk $lass hirarki. ntu mendeklarasikan suatu $lass se!agai su! $lass atau $lass turunan dari suatu $lass dilakukan dengan menam!ahkan kata kun$i e+en,s/0 nheritan$e ini sangat pen#ng agar Reusa5ili+-0
Gam5a( ;0$ i(a(ki )lass
3ontoh inheritan$eI
Pu!li$ $lass 5 eFtends A Q
\\\\\\..
R
Ar#nya $lass 5 merupakan su!$lass atau turunan dari $lass A ($lass 5 me"arisi atri!ut yang dimiliki $lass A
3ontoh Penerapan Pe"arisan pada program Su5 6lass
pu!li$ $lass Persegi Q >>atri!ut
prote$ted int sisiN >>method
pu!li$ int get/elPersegi()Q return(7Ysisi)N
R
pu!li$ int get9uasPersegi()Q return(sisiYsisi)N
R R
pu!li$ $lass /u!us eFtends PersegiQ pu!li$ /u!us(int s) Q
sisiOsN R
>>method
pu!li$ int get9uas/u!us()Q return(6Yget9uasPersegi())N
R
pu!li$ int get8olume/u!us()Q return(sisiYget9uasPersegi())N
R
pu!li$ void get3etak()Q System.out.println(V V)N
System.out.println(V/eliling Persegi IVget/elPersegi())N System.out.println(V9uas Persegi IVget9uasPersegi())N System.out.println(V9uas /u!usIVget9uas/u!us())N
System.out.println(V8olume /u!usIVget8olume/u!us())N R
R
Main 6lass
pu!li$ $lass nheritan$e5eraksi Q pu!li$ nheritan$e5eraksi() Q R
pu!li$ sta#$ void main(StringGHargs)Q >>instansiasi
>>kasus Persegi/u!us /u!us o!jOne" /u!us(:)N o!j.get3etak()N
R R
La4han $
1. 5uatlah $lass dengan nama Se*e,a0'a3a
+. 5uatlah $lass dengan nama Se*e,aGunun. me"arisi $lass Se*e,a0'a3a
2. 5uatlah $lass dengan nama Se*e,a.unun.&e(aksi0'a3a
Tu.as Inhe(i+an6e:
1. 5uat $lass &atema#ka3anggih5anget yang merupakan inherit dari $lass &atema#ka3anggih
a. Tam!ahkan method pertam!ahanTiga(int a int ! int $) yang menghitung pertam!ahan dari a ! dan $
!. a ! $
+. 5uat $lass &atema#ka3anggih5anget5eraksi yang memanggil method pertam!ahan perkalian modulus pertam!ahanTiga
;0;0 P2l-m2(*hism
Polimorsme merupakan suatu kemampuan untuk memperlakukan o!je$t yang memiliki perilaku (!entuk) yang !er!eda agar #dak terjadi duplikasi o!je$t (kemampuan untuk mempunyai !e!erapa !entuk $lass yang !er!eda). Polimorsme ini terjadi pada saat suatu o!je$t !er#pe parent $lass akan tetapi pemanggilan $onstru$tor nya melalui su! $lass
Polimorsme di!edakan menjadi dua jenis yaituI
a. P2lim2(*hism O3e(l2a,in. yaitu kemampuan untuk menggunakan nama yang sama untuk !e!erapa method yang !er!eda parameter (#pe dan atau jumlahnya).
)2n+2h:
Su5 6lass
$lass &o!il Q String "arnaN int tahunProduksiN
pu!li$ &o!il(String "arna int tahunProduksi)Q this."arna O "arnaN this.tahunProduksi O tahunProduksiN R pu!li$ &o!il()Q R void in*o()Q System.out.println(VWarnaI V "arna)N System.out.println(VTahunI V tahunProduksi)N R R Main 6lass
pu!li$ $lass &o!il/onstruktorQ
pu!li$ sta#$ void main(StringGH args)Q
&o!il mo!ilku O ne" &o!il('&erah +,,2)N mo!ilku.in*o()N
&o!il mo!ilmu O ne" &o!il()N mo!ilmu.in*o()N
R R
Jadi polimorphism overloading !isa mem!uat method dengan nama method yang sama dengan parameter yang !er!eda !aik dalam segi #pe data maupun jumlah parameter seper# di!a"ahI
$lass 9ingkaranQ
void gam!ar9ingkaran()Q R
void gam!ar9ingkaran(int diameter)Q ...
R
void gam!ar9ingkaran(dou!le diameter)Q ...
R
void gam!ar9ingkaran(int diameter int F int y)Q ...
R
void gam!ar9ingkaran(int diameter int F int y int "arna String nama9ingkaran)Q ...
R R
!. P2lim2(*hism O3e((i,in. yaitu kemampuan su!$lass untuk menimpa method dari super$lass yaitu dengan $ara menggunakan nama dan parameter yang sama pada method.
)2n+2h:
pu!li$ $lass SepedaQ private int girN
void setBir(int pertam!ahanBir) Q girO gir pertam!ahanBirN R
int getBir() Q return girN R
R
pu!li$ $lass SepedaBunung eFtends SepedaQ
void setBir(int pertam!ahanBir) Q super.setBir(pertam!ahanBir)N
gir O +YgetBir()N R
R
pu!li$ $lass SepedaBunung5eraksi Q
pu!li$ sta#$ void main(StringGH args) Q
SepedaBunung sgOne" SepedaBunung()N
sg.setBir(+)N System.out.println(sg.getBir())N sg.setBir(2)N System.out.println(sg.getBir())N R R Tu.as
1. /em!angkan $lass &atema#ka &atema#ka3anggih dan &atema#ka5eraksi
+. 9akukan overloading pada ðod yang ada (pertam!ahan pengurangan perkalian pem!agian modulus)
2. Tam!ahkan method !aru !er#pe data dou!le (pe$ahan) dan memiliki 2 parameter 7. ji di kelas &atema#ka5eraksi dengan parameter pe$ahanI 1+.: +=.- 17.+
:. ji konsep overloading denganI
pertam!ahan(1+.: +=.- 17.+) pertam!ahan(1+ += 17) pertam!ahan(+2 27) pertam!ahan(2.7 7.@)
PERTEMUAN H
I<O STREAM SEDERANA
A0 S+(eam S+an,a(,
1. System.in digunakan untuk menangani pem!a$aan dari key!oard (standar input) +. System.out digunakan untuk mengirimkan keluaran ke layar (standar output) 2. System.err digunakan untuk mengirimkan kesalahan (standar error)
5. &em!a$a input dari key!oard
ntuk mem!a$a inputan dari key!oard dapat digunakan $lass S6anne( >'a3a0u4l0S6anne(? dengan method seper# !erikutI
1. neFtnt()I untuk emenrima #pe data nteger +. netFShort()I untuk menerima #pe data Short 2. neFt9ong()I untuk menerima #pe data 9ong 7. neFt0ou!le()I untuk menerima #pe data 0ou!le :. netF?loat()I untuk menerima #pe data ?loat 6. neFt9ine()I untuk menerima #pe data string
-. neFt5oolean()I untuk menerima #pa data !oolean 3ontohI1
import java.u#l.S$annerN pu!li$ $lass Salam/enal Q
pu!li$ sta#$ void main( StringGH args )Q
S$anner masukan O ne" S$anner(System.in)N System.out.print(V&asukkan %ama AndaI V)N String nama O masukan.neFt9ine()N
System.out.println(VCalo Salam /enal sdr V nama V]V)N R
R
3ontohI+
pu!li$ $lass PerkalianQ
pu!li$ sta#$ void main(StringGH args)Q
S$anner input O ne" S$anner(System.in)N
System.out.print(V&asukkan !ilangan pertamaI V)N int !ilangan1 O input.neFtnt()N
System.out.print(V&asukkan !ilangan keduaI V)N int !ilangan+ O input.neFtnt()N
System.out.print(VCasil perkalianI V (!ilangan1 Y !ilangan+))N R
R
La4han $
pu!li$ $lass 9uasSegi#ga Q
pu!li$ sta#$ void main(StringGH args) Q
dou!le alasO 1-N dou!le #nggi O 11N dou!le luas O (alasY#nggi)>+N
System.out.println('Program Perhitungan 9uas Segi#ga)N System.out.println(VJadi 9uas Segi#ga adalahO V luas)N R
R
!ah $lass 9uasSegi#ga dengan nilai alas dan #nggi dimasukkan oleh user le"at prompt (gunakan $lass S$anner)
asil Tam*ilan
Program Penghitung 9uas Segi#ga &asukkan Alas O 12
&asukkan Tinggi O +7 Jadi 9uas Segi#ga adalah O
&0 K2n3e(si &ilan.an ,an S+(in. $0 K2n3e(si S+(in. Ke &ilan.an
/onversi ini dilakukan apa!ila inginmeru!ah nilai String menjadi %ilai 5ilangan perintahnya adalahI
0ou!le my0!lO0ou!le.parse0ou!le(myString) nteger.parsent(myString)
?loat.parseoat(myString) "0 K2n3e(si &ilan.an ke S+(in.
/onversi ini dilakukan apa!ila inginmengu!ah nilai 5ilangan menjadi %ilai String perintahnya adalah seper# $ontoh di !a"ahI
0ou!le my0ou!leN nt myntN ?loat my?loatN String myStringO0ou!le.toString(my0ou!le) nteger.toString(mynt) ?loat.toString(my?loat) )0 Su5s+(in.
Su!string adalah se!uah *ungsi yang digunakan untuk memilih se!agian dari kumpulan karakter
5entukI
8aria!el.su!string(nilai posisi mulai pemilihan nilai posisi akhir pemilihan)
7-3ontohI
String gree#ng O VCello World]VN
String su! O gree#ng.su!string(, :)N >> su! is VCelloV
9a#han
1. 5uat $lass nput%ama yang meminta kita memasukkan nama lengkap dan panjang karakter nama !elakang kita
+. Se!agai hasilnya $lass nput%ama akan menampilkan nama !elakang kita 2. Bunakan method su!string() untuk $lass terse!ut
&asukkan nama andaI omi Satria Wahono 5erapa panjang karakter nama !elakang andaI 6 Jadi nama !elakang adalah Wahono
PERTEMUAN
MEM&UAT FORM DENGAN !FRAME FORM DAN O&!EK SJING
0alam pertemuan kali ini akan di!ahas tentang $ara mem!uat *orm. %et5eans memiliki taskpane paleMe dimana di dalamnya terdapat o!jeko!jek yang kita !utuhkan untuk pem!uatan *orm java. ntuk menampilkan paleMe pada %et5eans dapat memilih menu "indo" pada menu!ar paleMe. Atau !isa juga dengan kom!inasi tom!ol key!oard yaitu dengan menekan )+(lShi
Gam5a( 0$ )a(a menam*ilkan +ask*ane *ale=e
PaleMe memiliki !e!erapa pa$kage o!jek yang dapat digunakan untuk pem!uatan *orm. salah satunya yang sering digunakan adalah pa$kage s"ing $ontrol dan masingmasing pa$kage memiliki !er!agai ma$am *ungsi yang !er!eda!eda tergantung dari aplikasi apa yang akan di!uat. ntuk pemakaiannya sendiri kita dapa memilih salah satu o!jek yang akan digunakan dan meletakkannya ke dalam *orm. Semua o!jek di dalam paleMe memiliki proper#es yang !er!eda!eda !egitu pula dengan *ungsinya. 3ontohI
Mem5ua+ F2(m K2n3e(si Suhu ,a(i )el6ius ke Fah(enhei+
1. klik kanan pada pa$kage hallo$iputat pilih ne" J?rame ?orm
+. 0edain ?orm seper# Bam!ar
2. u!ah teFt dan varia!le name o!jek *orm diatas seper# tampilan. Tujuannya agar programmer mudah mengingat o!jeko!jek yan* ada di *orm
7. !uat event untuk tom!ol 62n3e(+
:. masukkan pernyataan seper# di !a"ah
6. 5uat $lass !aru !eri nama konversi.java
-. isikan $lass konversi dengan pernyataan di!a"ah iniI
=. jalankan *orm konversiSuhu.java dengan $ara pilih menu un un ?ile atau !isa dengan kom!inasi tom!ol key!oard ShiF0 &aka hasilnya akan seper# di!a"ah iniI
PERTEMUAN %
DASAR PEMROGRAMAN !A1A
%0$ O*e(a+2(
;perator adalah sim!ol dan karakter khusus (matema#ka) yang digunakan dalam suatu ekspresi.
3ontohI
• int F O 2N • int y O FN • int L O F Y yN
• !oolean status O trueN
%0$0$ !enis O*e(a+2(
;perator !erdasarkan operan digolongkan menjadi 2 golongan yaitu a. ;perator nary yaitu operator yang meli!atkan satu operand !. ;perator !inary yaitu operator yang meli!atkan dua operand dan $. ;perator trinary yaitu operator yang meli!atkan #ga operand
Pemrograman java mengenal - jenis operator yaitu operator Aritma#ka operator Penugasan operator pengga!ungan opeartor in$rement dan de$rement operator !it operator pem!anding dan operator logika.
1. ;perator Aritma#ka
Tipe data dari hasil operator aritma#ka mengiku# #pe data operan
O*e(a+2( Meanin. Eam*le
Addi#on 2 7
Su!tra$#on : -Y &ul#pli$a#on : Y : > 0ivision 17>
-^ &odulus +,^
-3ontoh penggunaan operator aritma#ka dalam aplikasi kalkulator sederhana I
1) 5uatlah desain seper# di!a"ah ini dengan menggunakan 'f(ameI
+) klik kananpada 5Tam5ah kemudian pilih E3en+s A642n a642nPe(f2(me,
9is#ng ProgramI
2) lakukan juga seper# no. + pada 5Ku(an.@ 5Kali@ ,an 5&a.i
ST&/ %SA &A%0 :2
O&!E)T NAME
j9a!el1 TeFt I /A9/9AT; S<0<CA%A
j9a!el+ TeFt I %ilai 1
8aria!le %ame I t%ilai1
j9a!el2 TeFt I %ilai +
8aria!le %ame I t%ilai+
j9a!el7 TeFt I Casil
8aria!le %ame I tCasil
jPanel1 Title5order I ;perator
j5uMon1 TeFt I
8aria!le %ame I !Tam!ah
j5uMon+ TeFt I
8aria!le %ame I !/urang
j5uMon2 TeFt I Y
8aria!le %ame I !/ali
j5uMon7 TeFt I >
8aria!le %ame I !5agi
j5uMon: TeFt I /<9A
7) isi lis#ng pada 5Kelua( dengan I
Cierarki ;perator Aritma#ka
0idalam suatu penulisan ekspresi aritma#ka sering kita jumpai menggunakan !e!er apa operator aritma#ka yang !er!eda se$ara !ersamaan. &aka dalam prosenya akan !er!eda tergantung dari urutan atau #ngkatan operator terse!ut. 5erikut urutan operator aritma#ka seper# di!a"ah ini I
Ta!el hirarki operator aritma#k
3ontoh kasus ekspresi aritma#ka seper# !erikut ini I
AO=+Y2>6
&aka langkahlangkah perhitungannya I 9angkah 1I A O + Y 2 hasilnya 6 AO=6>6 9angkah +I A O 6 > 6 hasilnya 1 AO=1 9angkah 2 I AO@
Tingkatan operatoroperator ini !isa dia!aikan dengan menggunakan tanda kurung !uka V ( Vdan V ) V. Jika suatu ekspresi terdapat didalam tanda kurung maka proses ekspresi terse!ut akan diproses terle!ih dahulu tanpa melihat #ngkatan operator.
3ontoh I A O (= +) Y 2 > 6
&aka langkahlangkah perhitungannya I 9angkah 1I A O = + hasilnya 1, A O 1, Y 2 > 6 9angkah + I A O 1, Y 2 hasilnya 2, A O 2, > 6 9angkah 2I AO:
5erikut $ontoh penggunaan hierarki operator aritma#ka !isa anda iku# seper# di!a"ah ini.
9is#ng program diisi pada !uMon proses dengan events a$#onPer*ormed I
;utput yang dihasilkan dari program Cierarki;perator.java diatas setelah tom!ol P;S<S di klik seper# di!a"ah ini I
ST&/ %SA &A%0 ::
8aria!le %ame I tA
8aria!le %ame I t5
8aria!le %ame I !Proses TeFt I P;S<S
+. ;perator Penugasan
;perator penugasan !erguna untuk mem!erikan nilai ke suatu varia!el. ;perator penugasan menggunakan tanda ( O ). Jika operator penugasan diga!ungkan dengan operator aritma#ka maka akan mem!etuk operator penugasan ga!ungan (3ompound Assignment). Seper# $ontoh di !a"ah iniI E*(essi2n Meanin. F O y F O F y F O y F O F y F YO y F O F Y y F >O y F O F > y 2. ;perator Pengga!ungan
;perator Pengga!ungan digunakan untuk mengga!ungkan String dengan String atau String dengan !ilangan yaitu menggunakan tanda seper# $ontohI
System.out.println('Saya adalah '&ahasis"a)N int mahasis"a O 2,N
System.out.println('Jumlah &ahasis"a mahasis"a)N
7. ;perator n$rement dan de$rement.
;perator in$rement digunakan untuk menam!ahkan 1 nilai ke varia!el (operatorO preF atau posEiF). Sedangkan operator de$rement digunakan untuk mengurangi 1 nilai varia!el (operator O preF atau posEiF). 3ontohI
int FO:N int FO:N
y OFN y OFN
(nilai saat ini I y O : FO6) (nilai saat iniI y O 6 FO6)
int FO:N int FO:N y O FN y O FN
(nilai saat iniI y O : FO7) (nilai saat iniI y O 7 FO7) :. operator pem!anding
;perator pem!anding menggunakan ekspresi dengan nilai !oolean yaitu !erupa T< dan ?A9S<
O*e(a+2( Meanin. Eam*le
OO <_ual FOO2
]O %ot e_ual F ]O 2
` 9essthan F`2
Breater than F 2 `O 9ess than or e_ual to F `O 2 O Breater than or e_ual to F O 2 -. ;perator 9ogika
;perator logika menggunakan ekspresi dengan nilai !alik 5oolean yaitu T< dan ?A9S< bb operasi logika A%0
c c operasi logika ; ] operasi logika %;T 3ontohI Y OR Y AND Y Q 1 1 1 1 , 1 , 1 , , , 1 1 , 1 , , , , 1 %0" Pe(6a5an.an
:-Pada pem!ahasan ini penulis ingin mendiskusikan mengenai penggunaan operasi kondisi pada !ahasa pemrograman java. /ompetensi dasar se$ara umum agar pem!a$a !isa mendekripsikan dan memahami operasi kondisi pada !ahasa pemrograman java. Penulis !erharap diakhir pem!ahasan para pem!a$a !isaI
a. Penggunaan Pernyataan * * – <lse %ested * dan * &ajemuk !. Penggunaan Pernyataan 3ase
$. 3ondi#onal ;perator
%0"0$0 Pe(n-a+aan IF
Pernyataan i* mempunyai penger#an 'Jika kondisi !ernilai !enar maka perintah akan dikerjakan dan jika #dak memenuhi syarat maka akan dia!aikan. 0ari penger#an terse!ut dapat dilihat dari diagram alir !erikutI
Penulisan kondisi harus didalam tanda kurung dan !erupa ekspresi relasi dan penulisan pern yataan dapat !erupa se!uah pernyataan tunggal pernyataan majemuk atau pernyataan kosong. Jika pemakaian i* diiku# dengan pernyataan majemuk !entuk penulisannya se!agai !erikut I
Jika le!ih dari satu pernyataan hasu diapit dengan tanda kurung kura"al
3ontoh I
9is#ng Program diisi pada 5P(2ses dengan events a$#onPer*ormed I
;utput I
9ogika I
Jika %ilai yang dimasukkan le!ih dari sama dengan 6, maka keterangannya 'Anda 9ulus. %0"0" Pe(n-a+aan IFELSE
Pernyataan i*else mempunyai penger#an ' Jika kondisi !ernilai !enar maka perintah 1 akan dikerjakan dan jika #dak memenuhi syarat maka akan mengerjakan perintah +. 0ari penger#an terse!ut dapat dilihat dari diagram alir !erikut I
ST&/ %SA &A%0 :@
8aria!le %ame I t%ilai
8aria!le %ame I t/et
8aria!le %ame I !Proses TeFt I P;S<S
?lo"$hart proses *<lse
Perintah 1 dan perintah + dapat !erupa se!uah pernyataan tunggal pernyataan majemuk atau pernyataan kosong. Jika pemakaian i*else diiku# dengan pernyataan majemuk !entuk penulisannya se!agai !erikutI
Jika le!ih dari satu pernyataan hasu diapit dengan tanda kurung kura"al.
3ontoh I
ST&/ %SA &A%0 6,
8aria!le %ame I t%ilai
8aria!le %ame I t/et
8aria!le %ame I !Proses TeFt I P;S<S
9is#ng Program diisi pada 5P(2ses dengan events a$#onPer*ormed I
;TPT I
Penjelasan I
Bam!ar 1 adalah kondisi jika nilai yang dimasukkan le!ih dari sama dengan 6, sedangkan gam!ar + adalah kondisi jika nilai yang dimasukkan kurang dari 6,.
%0"080 IfElse Ma'emuk
5entuk dari i*else !er#ngkat se!enarnya mirip dengan nested i* keuntungan penggunanan i* else !er#ngkat di!anding dengan nested i* adalah penggunaan !entuk penulisan yang le!ih sederhana. 5entuk Penulisannya
ST&/ %SA &A%0 61
3ontoh I
9is#ng Program diisi pada 5P(2ses dengan events a$#onPer*ormed I
ST&/ %SA &A%0 6+
8aria!le %ame I tTS
8aria!le %ame I tAS
8aria!le %ame I tata 8aria!le %ame I tata
8aria!le %ame I !Proses TeFt I P;S<S
;TPT I
%0"0;0 IF &e(sa(an. Nes+e,If
%ested i* merupakan pernyataan i* !erada didalam pernyataan i* yang lainnya. 5entuk penulisan pernyataan %ested i* adalah I
3ontoh I
!u(usan Maska*ai a(.a
Jakarta&edan
Baruda ndonesia 1:,,,,,
9ion Air 12,,,,,
Air Asia 11,,,,,
JakartaSura!aya Baruda ndonesia 1,,,,,,
9ion Air @,,,,,
ST&/ %SA &A%0 67
8aria!le %ame I $Jurusan &odel I OPilihO
Jakarta&edan JakartaSura!aya
8aria!le %ame I $&askapai &odel I OPilihO
Baruda ndonesia 9ion Air
Air Asia
Air Asia =:,,,,
/e#k lis#ng program pada 6Maska*ai dengan events a$#onPer*ormed dengan lis#ng se!agai !erikut I
;TPT I
%08 Pe(ulan.an
Pada pem!ahasan ini penulis mengajak mendiskusikan mengenai penggunaan operasi kondisi yang pada 5ahasa Pemrograman Java. /opetensi dasar se$ara umum agar mahasis"a> atau pem!a$a !isa mendeskripsikan dapat memahami perintah perulangan pada !ahasa pemrograman Java.
Penulis !erharap diakhir pem!ahasan para pem!a$a !isa I a. Penggunaan Pernyataan Perulangan *or
!. Penggunaan Pernyataan Perulangan While $. Penggunaan Pernyataan Perulangan 0o While
%080$0 Pe(n-a+aan f2(
Perulangan yang pertama adalah *or. 5entuk umum pernyataan *or se!agai !erikut I f2( > inisialisasi s-a(a+ *en.ulan.an *en.u5ah nilai *en6a6ah ?
5ila pernyataan didalam *or le!ih dari satu maka pernyataanpernyataan terse!ut harus diletakan didalam tanda kurung.
/egunaan dari masingmasing argumen *or diatas adalah I
nisialisasi I merupakan !agian untuk mem!erikan nilai a"al untuk varia!elvaria!el tertentu. Syarat Pengulangan I memegang kontrol terhadap pengulangan karena !agian ini yang
akan
menentukan suatu perulangan diteruskan atau dihen#kan.
Pengu!ah %ilai Pen$a$ah I mengatur kenaikan atau penurunan nilai pen$a$ah.
%080"0 Pe(n-a+aan while
Pernyataan perulangan "hile merupakan instruksi perulangan yang mirip dengan perulangan *or. 5e ntuk perulangan "hile dikendalikan oleh syarat tertentu yaitu perulangan akan terus dilaksanakan selama syarat terse!ut terpenuhi. 5entuk umum perulangan "hile se!agai !erikut I
%08080 Pe(n-a+aan ,2Jhile
Pernyataan perulangan do – "hile merupakan !entuk perulangan yang melaksanakan perulangan terle!ih
dahulu dan pengujian perulangan dilakukan di!elakang. 5entuk umum perulangan do "hile se !agai !erikut I
3ontoh I
Tambahkan listing : import javax.swing.DefaultListModel pada posisi diatas public
ST&/ %SA &A%0
6-8aria!le %ame I !While
8aria!le %ame I !0oWhile
8aria!le %ame I !?or
class.
Tambahkan listing DefaultListModel mdl = new DefaultListModel() pada posisi
paling bawah.
Tambahkan listing pada button WHL! dengan events -> actionPerformed. Lakukan
juga pada button D" WHL! dan #"$ .
;TPT I
%0;0 ARRAY
Array merupakan o!jek yang dapat digunakan untuk menyimpan sejumlah data. 0ata yang dapat ditampung pada array dapat !erupa #pe data ataupun kelas (o!jek).
%0;0$0 Men,ekla(asikan
ntuk mem!uat varia!le array !er!eda dengan mem!uat varia!le !iasanya yaitu se!agai !erikut I
0imana #pe array dapat !erupa #pe data !iasa seper# int $har short atau juga kelas seper# String dan yang lainnya.
%0;0"0 Mem5ua+
A((a-Setelah mendeklarasikan Array maka perlu di!uat arraynya terle!ih dahulu se!elum array terse!ut digunakan $aranya dengan menggunakan perintah ne".
0imana jumlah array merupakan jumlah data yang dapat ditampung oleh array.
%0;080 Memani*ulasi Da+a Dalam
A((a-Setelah mem!uat Array maka untuk melakukan proses manipulasi seper# menam!ahkan data ke Array mengu!ah data di Array ataupun mengakses data dalam array maka diperlukan se!uah indeks dimana saat mem!uat se!uah array dengan jumlah data : maka hasilnya akan terlihat seper# ini. %; %0</S 1 , + 1 2 + 7 2 : 7
Ar#nya data ke 1 dapat diakses menggunakan indeks , dan seterusnya. 0an untuk melakukan proses manipulasi data dalam array menggunakan indeks dapat digunakan dengan perintah I
&isal I
ST&/ %SA &A%0 -,
Ti*eA((a- namaA((a- B
Ti*eA((a- namaA((a- B
namaA((a- C new Ti*eA((a- 'umlahB
namaA((a- in,eksB
In+ a B C new in+ HB
a #B C "8; a $B C % a "B C ;"8; a 8B C H; a ;B C ";"8 S-s+em02u+0*(in+ln >a #B? S-s+em02u+0*(in+ln >a $B? S-s+em02u+0*(in+ln >a "B? S-s+em02u+0*(in+ln >a 8B? S-s+em02u+0*(in+ln >a ;B?
%0;0;0 A((a- Mul4,imensi
Java mendukung pem!uatan array mul#dimensi maksudnya kita dapat menam!ahkan data array ke dalam se!uah array $ara pem!uatannya adalah se!agai !erikut I
ST&/ %SA &A%0 -1