BAB 9 Bekerja dengan Java Class Library - JENI Intro1 Bab09 Bekerja Dengan Java Class Library

J.E.N.I .

BAB 9
Be k e r j a de n ga n Ja va Cla ss Libr a r y
9 .1

Tu j u a n

Pada sesi ini, kit a akan m engant arkan beberapa konsep dasar dari Obj ect - Orient ed obj ct s,
dan Program m ing ( OOP) . Selanj ut nya kit a akan m em bahas konsep dari classes dan
bagaim ana m enggunakan class dan anggot anya. Perubahan dan pem ilihan obj ect j uga akan
dibahas. Sekarang, kit a akan focus dalam m enggunakan class yang t elah dij abarkan dalam
Java Class library, kit a akan m em bahas nant i t ent ang bagaim ana m em bikin class anda
sendiri.
Pada akhir pelaj aran, siswa seharusnya dapat :
1. m enj elaskan OOP dan beberapa konsepnya
2. perbedaan ant ara class dan obj ect
3. pebedaan ant ara inst ance variables/ m et hod dan class ( st at ic) variable/ m et hod
4. m enj elaskan m et hod apa dan bagaim ana m em anggil m et hod param et er
5. m engident ifikasi beberapa j angkauan dari sebuah variable
6. m em ilih t ipe dat a prim it ive dan obj ect

7. m em bandingkan obj ect s dan m enj abarkan class dari obj ect s.

9 .2

Pe n ge n a la n Pe m r ogr a m a n Be r or ie n t a si Obj e ct

OOP berput ar pada konsep dari obj ect sebagai dasar elem ent dari program anda. Ket ika
kit a m em bandingkan dengan dunia nyat a, kit a dapat m enem ukan beberapa obj ek disekit ar
kit a, sepert i m obil, singa, m anusia dan set erusnya. Obj ect ini dikarakt erisasi oleh sifat /
at t ribut nya dan t ingkah lakunya.
Cont ohnya, obj ek sebuah m obil m em punyai sifat t ipe t ransm isi, warna dan m anufakt ur.
Mem punyai kelakuan berbelok, m engerem dan berakselerasi. Dengan cara yang sam a pula
kit a dapat m endefinisikan perbedaan sifat dan t ingkah laku dari singa. Coba perhat ikan
t able dibawah ini sebagai cont oh perbandingan :
Obj e ct

Pr ope r t ie s

Be h a vior


Car

t ype of t ransm ission
m anufact urer
color

t urning
braking
accelerat ing

Lion

Weight
Color
hungry or not hungry
t am ed or wild

roaring
sleeping
hunt ing


Table 1: Exam ple of Real- life Obj ect s
Pengenalan Pem rogram an 1

1

J.E.N.I .

Dengan deskripsi ini, obj ek pada dunia nyat a dapat secara m udah dim odelisasi sebagai
obj ek soft ware m enggunakan sifat sebagai dat a dan t ingkah laku sebagai m et hod. Dat a
disini dan m et hod dapat digunakan dalam pem rogram an gam e at ausoft ware int erakt if unt uk
m enst im ulasi obj ek dunia nyat a. Cont ohnya adalah sebagai soft ware obj ek m obil dalam
perm ainan balap m obil at au soft ware obj ek singadalam sebuah soft ware pendidikan
int erakt if pada kebun binat ang unt uk anak anak.

9 .3

Cla ss da n Obj e ct

9 .3 .1 Pe r be da a n Cla ss da n Obj e ct

Pada dunia soft ware, sebuah obj ek adalah sebuah kom ponen soft ware yang st ukt urnya
m irip dengan obj ek pada dunia nyat a. Set iap obj ek dibuat dari sat u set dat a ( sifat ) dim ana
variable m enj abarkan esensial karakt er dari obj ek, dan j uga t erdiri dari sat u set dari
m et hode ( t ingkah laku) yang m enj abarkan bagaim ana t ingkah laku dari obj ek. Jadi obj ek
adalah sebuah berkas soft ware dari variable dan m et hod yg berhubungan. Variable dan
m et hods dalam obj ek Java scara form al diket ahui sebagai inst ance variable dan inst ance
m et hods unt uk m em bedakannya dari variable klas dan m et hod klas, dim ana akan dibahas
kem udian.
Klas adalah st urkt ur dasa dari OOP. Dia t erdiri dari dua t ipe dari anggot a dim ana disebut
dengan field ( at t ribut / propert i) dan m et hod. Field m espesifikasi t ipe dat a yang didefinisikan
oleh class, sem ent ara m et hode spesifikasi dari operasi. Sebuah obj ek adalah sebuah
inst ance pada class.
Unt uk dapat m em bedakanant ara class dan obect , m ari kit a m endiskusikan beberapa
cont oh. Apa yang kit a m iliki disini adalah sebuah class m obil dim ana dapat digunakan unt uk
m edefinisikan beberapa obj ect m obil. Pada t able dibawah, m obil A dan m obil B adalah obj ek
dari kelas m obil. Kelas m em iliki field plat nom er, warna, m anufakt ur, dan kecepat an yang
diisi dengan nilai korespondendi pada obj ek m obil A dan m obil B. m obil j uga dapat
berakselerasi, berbelok dan m engerem .
Ca r Cla ss
Plat e Num ber

I nst Vari Color
anc able
e
s Manufact urer
Current Speed
I nst Met
anc hod
e
s

Obj e ct Ca r A

Obj e ct Ca r B

ABC 111

XYZ 123

Blue


Red

Mit subishi

Toyot a

50 km / h

100 km / h

Accelerat e Met hod
Turn Met hod
Brake Met hod
Table 2: Cont oh class car dan obj ect - obj ect nya

Pengenalan Pem rogram an 1

2

J.E.N.I .


Ket ika diinisialisi, t iap obj ek m endapat sat u set baru dari st at e variable. Bagaim anapun,
im plem ent asi dari m et hod dibagi diant ara obj ek pada kelas yang sam a.
Kelas m enyediakan keunt ungan dari reusabilit y. Soft ware program m ers dapat digunakan
dari sebuah kelas lagi dan lagi unt uk m em buat beberapa obj ek.

9 .3 .2 I n st a n sia si Cla ss
Unt uk m em buat sebuah obj ek at au sebuah instance pada sebuah kelas. Kit a m enggunakan
operat or baru. Sebagai cont oh, j ika anda ingin m em buat inst ance dari kelas st ring, kit a
m enggunakan kode berikut :
St ring st r2 = new St ring( “ Hello world! ” ) ;
or also equivalent t o,
St ring st r2 = " Hello" ;
Figur e 1: Classs I nst ant iat ion

9 .3 .3 Va r ia be l Cla ss da n M e t h od
Sebagai t am bahan pada cont oh variable, hal ini j uga m em ungkinkan unt uk m endefinisikan
variable kelas, dim ana variable m ilik dari seluruh kelas. I ni berart i bahwa m em iliki nilai
yang sam a unt uk sem ua obj ek pada kelas yang sam a. Mereka j uga disebut st at ic m em ber
variables.


9 .4 M e t h od
9 .4 .1 Apa k a h M e t h od it u da n m e n ga pa m e n ggu n a k a n M e t h od?
Pada cont oh yang t elah kit a diskusikan sebelum nya, kit a hanya m em iliki sat u m et hod, dan
it u adalah m ain( ) m et hod. Didalam Java, kit a dapat m endefinisikan beberapa m et hod yang
akan kit a panggil dari m et hod yang berbeda.
Sebuah m et hod adalah bagian t erpisah dari kode yang akan dipanggil oleh program ut am a
dan beberapa m et hod lainnya unt uk m enunj ukkan beberapa fungsi spesifik.
Berikut adalah karakt erist ik dari m et hod :
1. dapat m engem balikan sat u at au t idak ada nilai
2. dia m ungkin dapat dit erim a sebagai beberapa param et er yang dibut uhkan at au t idak
ada aram et er sam a sekali. Param et er j uga disebut sebagai fungsi argum ent
3. set elah m et hod t elah selesai dieksekusi, dia akan kem bali pada m et hod yang
m em anggilnya.

Pengenalan Pem rogram an 1

3

J.E.N.I .


Sekarang m engapa kit a but uh unt uk m em buat m et hod? Mengapa kit a t idak m elet akkan
sem ua kode pada sebuah m et hod yang sangat besar? Pem ecahan m asalah disini alah
dekom posisi. Kit a j uga dapat m elakukan ini di Java dengan m m buat m et hod unt uk
m engat asi bagian spesifik dari m asalah. Mengam bil sebuah perm asalahan dan
m em ecahkannya m enj adi bagian kecil, bagian dapat diat ur adalah pent ing unt uk m enulis
program yang besar.

9 .4 .2 M e m a n ggil I n st a n ce da r i M e t h od da n Pa ssin g Va r ia be l
Sekarang kit a ilust rasikan bagaim ana m em anggil m et hod, m ari kit a m enggunakan kelas
st ring sebagai cont oh. Anda dapat m enggunakan t he Java API docum ent at ion unt uk m elihat
sem ua m et hod dalam kelas st ring yang t ersedia. Selanj ut nya, kit a akan m em buat m et hod
kit a sendiri. Tapi sekarang m ari kit a m enggunakan apa yang t ersedia.
Unt uk m em anggil sebuah inst ance m et hod, kit a m enuliskan :

nameOfObject.nameOfMethod( parameters );
m ari kit a m engam bil dua cont oh yang dit em ukan dalam kelas St ring.

M e t h od de cla r a t ion


D e fin it ion

pu blic cha r ch a r At ( int in de x )

Mengam bil karakt er pada index.

pu blic boole a n e qua lsI gn or e Ca se
( St r in g a not h e r St r ing)

Mem bandingkan ant ar St ring, t idak case sensit ive.

Table 3: Met hod dari Class St ring

Menggunakan m et hod :

String
str1 = "Hello";
char
x = str2.charAt(0); //will return the
character H

//simpan pada variabel x
String

str2 = "hello";

//return boolean
boolean result = str1.equalsIgnoreCase( str1 );

Pengenalan Pem rogram an 1

4

J.E.N.I .

9 .4 .3 Pa ssin g Va r ia be l D a la m M e t h od
Pada cont oh kit a, kit a t elah m ecoba m elewat i variable pada m et hod. Bagaim anapun j uga
kit a t idak dapat m em bedakan ant ara perbedaan t ipe variabel passing dalam Java. Ada dua
t ipe dat a passing pada m et hod, yang pert am a adalah pass- by- value dan yang kedua adalah
pass- by- reference.

9 .4 .3 .1 Pa ss- by- Va lue
Ket ika pass- by- values t erj adi, m et hod m enggunakan sebuah copy pada nilai pada variable
yang dilewat kan pada m et hod. m et hod t idak dapat secara langsung dim odifikasi secara
argum ent langsung m eskipun j ika dim odifikasi param et ernya selam a perhit ungan
berlangsung.
Cont oh :

public class TestPassByValue
{
public static void main( String[] args ){
int i = 10;
//mencetak nilai i
System.out.println( i );
//memanggil method test
//passing i pada method test
test( i );

Pass i as parameter
which is copied to j

//Mencetak nilai i
System.out.println( i );
}
public static void test( int j ){
//merubah nilai parameter j
j = 33;
}
}
Pada cont oh diat as yang t elah diberikan, kit a m em anggil m et hod t es dan m elewat kan nilai i
sebagai param et er. Nilai pada i dikopikan pada variable pada m et hod j . sej ak j adalah
variable penggant i pada m et hod t es, dia t idak akan berdam pak pada nilai variable j ika i
pada m ain sem enj ak m em iliki perbedaan kopy pada variable.
Secara default , sem ua t ipe dat a prim it ive ket ika dilewat kan pada sebuah m et hod adalah
pass- by- values

Pengenalan Pem rogram an 1

5

J.E.N.I .

9 .4 .3 .2 Pa ss- by- r e fe r e n ce
Ket ika sebuah pass- by- reference t erj adi, referensi pada sebuah obj ek dilewat kan dengan
cara m em anggil m et hod. Hal ini berart i bahwa m et hod m engkopi referensi pada variable
yang dilewat kan pada m et hod. Bagaim anapun j uga, t idak sepert i apda pass- by- value,
m et hod dapat m em buat obj ek act ual yang m enerangkan point ing t o, since, m eskipun
berbeda ket erangan yang digunakan dalam m et hod, lokasi dari dat a yang m ereka
t unj ukkan adalah sam a.
cont oh :

class TestPassByReference
{
public static void main( String[] args ){
//membuat array integer
int []ages
= {10, 11, 12};
//mencetak nilai array
for( int i=0; i

Dokumen yang terkait

Analisis Komparasi Internet Financial Local Government Reporting Pada Website Resmi Kabupaten dan Kota di Jawa Timur The Comparison Analysis of Internet Financial Local Government Reporting on Official Website of Regency and City in East Java

19 819 7

Analisis komparatif rasio finansial ditinjau dari aturan depkop dengan standar akuntansi Indonesia pada laporan keuanagn tahun 1999 pusat koperasi pegawai

15 355 84

Berburu dengan anjing terlatih_1

0 46 1

Hubungan Antara Kompetensi Pendidik Dengan Kecerdasan Jamak Anak Usia Dini di PAUD As Shobier Kecamatan Jenggawah Kabupaten Jember

4 116 4

Hubungan antara Kondisi Psikologis dengan Hasil Belajar Bahasa Indonesia Kelas IX Kelompok Belajar Paket B Rukun Sentosa Kabupaten Lamongan Tahun Pelajaran 2012-2013

12 269 5

Analisa studi komparatif tentang penerapan traditional costing concept dengan activity based costing : studi kasus pada Rumah Sakit Prikasih

56 889 147

Upaya mengurangi kecemasan belajar matematika siswa dengan penerapan metode diskusi kelompok teknik tutor sebaya: sebuah studi penelitian tindakan di SMP Negeri 21 Tangerang

26 227 88

Preparasi dan Karaterisasi Nanopartikel Zink Pektinat Mengandung Diltiazem Hidroklorida dengan Metode Gelasi Ionik.

7 51 92

Aplikasi keamanan informasi menggunakan teknik steganografi dengan metode Least Significant Bit (LSB) insertion dan RC4

34 174 221

Hubungan motivasi belajar dengan hasil belajar pendidikan agama islam siswa kelas V di sdn kedaung kaliangke 12 pagi

6 106 71