• Tidak ada hasil yang ditemukan

MODUL Method Dan Greenfoot

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL Method Dan Greenfoot"

Copied!
19
0
0

Teks penuh

(1)

MODUL 6

MODUL 6

Method

Method

TUJUAN PRAKTIKUM : TUJUAN PRAKTIKUM : 1.

1. PraktikPraktikan dapaan dapat memahat memahami kmi konsep monsep method paethod pada java.da java. 2.

2. PraktikPraktikan an dapat dapat mengerti mengerti esensi esensi penggupenggunaan naan method method dalam dalam Java.Java. 3.

3. PraktikPraktikan dan dapat mapat memahami emahami bentuk bentuk umum umum method.method. 4.

4. PraktikPraktikan dapan dapat memat memahami kahami konsep onsep dasar Grdasar Greenfooteenfoot 5.

5. PrPraktaktikikan an dadapapat t menmengigimpmplemlemententasiasikakan n pepemahmahamaaman n metmethohod d papadada Greenfoot

Greenfoot

A.

A. CCllasasss

Dide

Didenisinisikan !lass kan !lass sebasebagai gai sebusebuah ah blublue e prinprint" t" atau protoatau prototipetipe" " #an#angg men

mendedeninisiksikan an vavariariablble$e$vavaririabeabel l dadan n memetodtode$me$metoetode de #an#ang g umumumum untuk semua objek dari jenis tertentu. !lass mendenisikan atribut dan untuk semua objek dari jenis tertentu. !lass mendenisikan atribut dan perilaku objek #ang dibuatn#a. !lass merupakan denisi formal suatu perilaku objek #ang dibuatn#a. !lass merupakan denisi formal suatu abst

abstrakraksi. si. !las!lass s berberlaklaku u sebasebagai gai temptemplate late untuuntuk k pempembuatbuatan an objobjek$ek$ objek. !la

objek. !lass berisi abstrss berisi abstraksi #ang taksi #ang terdiri derdiri dari nama ari nama %lass" atrib%lass" atribut danut dan servi%e.

servi%e.

&agian$bagian dari sebuah !lass se%ara umum penulisan %lass terdiri &agian$bagian dari sebuah !lass se%ara umum penulisan %lass terdiri atas 2 bagian #akni'

atas 2 bagian #akni'

1.

1. ClClass Decass Declarlaratiationon &entuk (mum ' &entuk (mum '

)modier*

)modier* classclass +nama,kelas-  +nama,kelas-  ... ... ... ... +%lass +%lass bod#-... ...

(2)

... /

)modier* adalah pengaturan level akses terhadap kelas

tersebut. Dengan kata lain" modier ini akan menentukan sejauh mana kelas ini dapat digunakan oleh kelas atau pa%kage lainn#a. 0dapun ma%am$ma%am modier ialah '

• kosong  default  not specifed

elas tersebut dapat diakses oleh kelas lain dalam satu pa%kage.

•   public

elas tersebut dapat dipakai dimanapun" maupun kelas lain atau pa%kage lain.

•   private

elas tersebut tidak dapat diakses oleh kelas manapun.

. Class od!

!lass &od# merupakan bagian dari kelas #ang mendeklarasikan kode program java.

!lass &od# tersusun atas' a. onstruktor

b. Variable Instance 0tribut

%. Method dikenal juga sebagai fun%tion atau def

(ntuk dapat menggunakan kelas #ang telah didenisikan" anda harus membuat sebuah objek dari kelas tersebut instance class" dengan syntax '

amaelas na"aO#$e% & ne' amaelas  )parameter* (

(3)

!ontoh'

)it*n+l*as segitiga & ne' )it*n+l*as(

C. Instance Variables

 ,Atri#*t-6uatu objek dapat dibedakan berdasarkan sifat behavior #ang berbeda. objek juga dapat dibedakan berdasarkan atributn#a. 7isaln#a burung dapat dibedakan berdasarkan suara ki%auan" 8arna bulu" bentuk tubuh" dsb. . Dalam bahasa lain dikenal juga sebagai  property  #ang mana merupakan %iri$%iri dari sebuah objek.

0tribut #ang membedakan suatu instance objek burung #ang satu dengan #ang lainn#a disebut instance aria#le.

&entuk (mum '

)"odi/er* +ti0edata- +nama_variabel- 9 )nilai,default*:

!ontoh '

0*#lic do*#le tinggi: 0riate int berat  9 ;<:

0dapun perbedaan local dan instance variable adalah '

1. Instance variable dideklarasikan di dalam kelas tetapi tidak di dalam method.

class segitiga 2

do*#le tinggi 9 15.2: // ini adalah variabel instance 3trin+ jenis: // ini adalah variabel instance

int tambah() 2 ret*rn 4( 5

5

(4)

int tambah,- 2

int total 9 tinggi = 2:  // total adalah variabel local ret*rn total:

5 D. Method

6ebuah method adalah bagian$bagian kode #ang dapat dipanggil oleh kelas" badan program atau method lainn#a untuk menjalankan fungsi #ang spesik di dalam kelas. 6e%ara umum method dalam java adalah sebuah fungsi.

&erikut adalah karakteristik dari method '

1. Dapat mengembalikan  melaporkan nilai balikkan return value atau tidak void

2. Dapat diterima beberapa parameter #ang dibutuhkan atau tidak ada parameter sama sekali. Parameter bisa juga disebut sebagai argumen dari fungsi. Parameter berguna sebagai nilai masukkan #ang hendak diolah oleh fungsi.

3. 6etelah method telah selesai dieksekusi" dia akan kembali pada method #ang memanggiln#a.

De%larasi se#*ah "ethod

7ethod terdiri atas dua bagian #akni '

1. 7ethod de%laration 2. 7ethod &od#

7ethod dapat digambarkan sebagai sifat  behavior  dari suatu %lass. (ntuk mendenisikan method pada dalam class digunakan s#nta> '

"odi/er7 +tipe,data,return- na"a"ethod )parameter*  

(5)

...

return +data,return-: /

!ontoh '

0*#lic int er!alian  int y :int "  

ret*rn y 8 "  : /

9. Modi/er 0ada "ethod

7odier menentukan level pengaksesan sebuah method. ?al ini menentukan apakah sebuah method biasa diakses oleh objek lain" objek anak" objek dalam satu paket atau tidak dapat diakses oleh suatu obje%t sama sekali berikut adalah beberapa jenis level a%%ess'

• Publi%

0tribut ini menunjukan bah8a fungsimethod dapat diakses oleh kelas lain.

• Private

0tribut ini menunjukan bah8a fungsi atau method tidak dapat diakses oleh kelas lain

• Prote%ted

0tribut ini menunjukan bah8a fungsi atau method bisa diakses oleh kelas lain dalam satu paket dan han#a kelas lain #ang merupakan sub%lass n#a pada paket #ang berbeda.

•  @anpa modier

0tribut ini menunjukan bah8a method dapat diakses oleh kelas lain dalam paket #ang sama.

(6)

. Method tan0a nilai #ali%an

7ethod ini merupakan method #ang tidak mengembalikan nilai. 7aka dari itu" kita harus mengganti tipe kembalian dengan kata kun%i void. &erikut ini kode program #ang dimaksud'

class Kota%2

do*#le panjang: do*#le lebar : do*#le tinggi:

 //mendefnisi!an method void (tida! mengembali!an nilai) oid ceta!Volume,-2

System#out#printlnAVolume !ota! $ A Bpanjang=lebar=tinggi: 5

5

class De"oMethod12

0*#lic static oid "ain,3trin+7 ar+s-2 otak k1" k2" k3:

instansiasi objek k19ne8 otak: k29ne8 otak: k39ne8 otak:

mengisi data untuk objek k1 k1.panjang94:

k1.lebar93: k1.tinggi92:

mengisi data untuk objek k2 k2.panjang9C:

k2.lebar95: k2.tinggi94:

mengisi data untuk objek k3 k3.panjang9:

k3.lebar9;: k3.tinggi9C:

memanggil method %etakEolume untuk masing$masing objek k1.%etakEolume: k2.%etakEolume: k3.%etakEolume: 5 5

(7)

 //%utput &

 //Volume !ota! $ '#  //Volume !ota! $ *'#  //Volume !ota! $ ++,#

;. Method den+an nilai #ali%an

Di sini" kita akan memodikasi program sebelumn#a dengan

mengganti method %etakEolume menjadi method hitungEolume #ang akan mengembalikan nilai dengan tipe double. &erikut ini kode program #ang dimaksud'

class Kota%2

do*#le panjang: do*#le lebar : do*#le tinggi:

 //mendefnisi!an method yang mengembali!an tipe double do*#le hitungEolume,-2

 //menghitung volume

do*#le vol 9 panjang=lebar=tinggi:  //mengembali!an nilai

ret*rn vol: 5

5

class De"oMethod<2

0*#lic static oid "ain,3trin+7 ar+s-2 otak k1" k2" k3:

instansiasi objek k19ne8 otak: k29ne8 otak: k39ne8 otak:

mengisi data untuk objek k1 k1.panjang94:

k1.lebar93: k1.tinggi92:

mengisi data untuk objek k2 k2.panjang9C:

k2.lebar95: k2.tinggi94:

(8)

k3.panjang9: k3.lebar9;: k3.tinggi9C: 6#stem.out.printlnAEolume k1 9 ABk1.hitungEolume: 6#stem.out.printlnAEolume k2 9 ABk2.hitungEolume: 6#stem.out.printlnAEolume k3 9 ABk3.hitungEolume: 5 5 O*t0*t : Eolume k1 9 24.< Eolume k2 9 12<.< Eolume k3 9 33C.< ). Para"eter

Dengan adan#a parameter" sebuah method dapat bersifat dinamis dan general. 0rtin#a" method tersebut dapat mengembalikan nilai #ang beragam sesuai dengan nilai parameter #ang dile8atkan. @erdapat dua istilah #ang perlu anda ketahui dalam bekerja dengan method" #aitu parameter dan argumen. Parameter adalah variabel #ang didenisikan pada saat method dibuat" sedangkan argumen adalah nilai #ang digunakan pada saat pemanggilan method. Dalam referensi lain" ada  juga #ang men#ebut parameter sebagai parameter formal dan argumen sebagai parameter aktual. Perhatikan kembali denisi method berikut '

int luasersegianjang ,int panjang= int lebar -2 ret*rn panjang = lebar:

5

Disini" variabel panjang dan lebar disebut parameter.

Fuas1 9 luasPersegiPanjang1<" 5:

0dapun pada statemen diatas" nilai 1< dan 5 disebut argumen.

6ekarang" kita akan mengimplementasikan konsep di atas ke dalam kelas otak. Di sini data panjang" lebar" dan tinggi akan kita isikan

(9)

melalui sebuah method. &erikut ini kode program #ang dapat digunakan untuk melakukan hal tersebut.

class Kota%2 do*#le panjang: do*#le lebar : do*#le tinggi:

 //mendefnisi!an method dengan parameter  oid isiData,do*#le 0= do*#le l= do*#le t-2

panjang 9 p: lebar 9 l: tinggi 9 t: 5 do*#le hit*n+>ol*"e,-2 returnpanjang=lebar=tinggi: 5 5 class De"oMethod42

0*#lic static oid "ain,3trin+7 ar+s-2 otak k:

instansiasi objek k 9 ne8 otak:

memanggil method isiData k.isiData4"3"2:

6#stem.out.printlnAEolume kotak 9 A B k.hitungEolume: 5

5

O*t0*t :

Eolume kotak 9 24.<

&agaimana jika bagian lain dari program ingin tahu juga nilai volume itu tetapi tidak ingin menampilkann#a men%etakn#a. 0pabila terdapat suatu fungsi #ang tidak menghasilkan suatu nilai apapun maka bagian return t#pe ini diganti dengan void .

!ontoh penggunaan return'

0ac%a+e %oba!oba:

(10)

class balok  int p" l" t:

int volume int p" int l" int t 

  ret*rn p=l=t: /

0*#lic static oid main6tring args)* 

6%anner masuk 9 ne' 6%anner6#stem.in: fungsi untuk menginputkan suatu nilai

6#stem.out.printAPanjang 9 A: int a9masuk.ne>tnt: 6#stem.out.printAFebar 9 A: int b9masuk.ne>tnt: 6#stem.out.printA@inggi 9 A: int %9masuk.ne>tnt: balok %oba 9 ne' balok:

6#stem.out.printAHnEolume balok 9 AB %oba.volumea"b"%: / /  //%utput &  //anjang $ '  //Lebar $ +  //-inggi $ '  //Volume balo! $ *' I. Method 3tatic

6ebuah method stati% dapat diakses tanpa harus melakukan instantiasi terlebih dahulu. Pemanggilan method stati% dilakukan dengan format '

Na"a%elas.nama_method:

ama,kelas diberikan bila method tersebut dipanggil dari kelas #ang berbeda.. !ontoh ' class 7#6tati% 2 static oid Fuas 2 int p 9 1<: int l 9 2 : 3!ste".out .0rintlnILuas $ IB p=l :

(11)

/

0*#lic static oid main 6tring )* args  

Luas: // pemanggilan method luas 5

5

  0*#lic class persegi 

static int hitungluasint p" int l ret*rn p=l:

/

0*#lic static oid main6tring)* args  int 9<:  9hitungluas3"2:  6#stem.out.println: / /  J. ;reen?oot

Greenfoot adalah perangkat lunak #ang didesain untuk pemula agar dapat terbiasa dengan Pemrograman &erorientasi Kbjek  %bject. %riented rogramming" #ang mendukung pengembangan aplikasi bergambar dengan memakai bahasa pemrograman Java.

(ntuk lebih memahami pengimplementasian method pada Greentfoot" berikut ini kami buat s%enario lengkapn#a '

Pada kesempatan kali ini akan membuat sebuah game #ang berjudul ILat and Mun NNO. 6e%ara umum permainan ini sangat mudah untuk dimainkan oleh siapa saja" %aran#a dengan menggunakan tombol navigasi pada ke#board untu menggerakan obje%t. 0dapun langkah$ langkah pembuatann#a" 0ntara lain '

a. Me"#*at @orld

orld pada greenfoot merupakan latar pada game #ang akan dibuat. Fangkah pengerjaan '

(12)

1. &uka aplikasi ;reen?oot

2. (ntuk memulai pertama$tama buatlah sebuah s%enario baru dengan %ara klik 3cenario" pilih ne' scenario. &eri nama pada s%enario baru #ang akan kalian buat dan tentukan lokasi pen#impanann#a" kemudian klik create

3. Pada orld !lasses buat ne8 sub%lass dengan %ara klik kanan pada @orld"klik kanan pilih ne' s*#class.&eri nama kelas

(13)

dengan nama Q&a%kgroundR. Falu pilih image untuk dijadikan ba%kground. Falu klik K.

4. 6etelah selesai klik Co"0ile

#. Me"#*at Actor

0%tor pada greenfoot merupakan obje%t #ang akan berperan dalam permainan. Fangkah pengerjaan '

1. lik kanan pada Actor" kemudian pilih ne' s*#class" kemudian beri nama sub%lass tersebut IlobsterO" setelah itu pilih gambar lobster pada mage %ategories" setelah itu klik o% 

(14)

2. emudian buat obje%t lain dengan nama I&atuO dan IJamurO seperti pada langakah sebelumn#a" selanjutn#a klik Co"0ile

3. 6elanjutn#a letakan obje%t lobster #ang sudah dibuat pada orld dengan %ara klik kanan pada Lo#ster  pilih ne' lo#ster,-" letakan juga obje%t #ang lainn#a.

(15)

c. User Interaction 0ada Actor

6etelah kita membuat a%tor dan 8orld pada greenfoot" langkah selanjutn#a #aitu memasukan perintah pada obje%t agar obje%t tersebut dapat digerakan. (ser ntera%tion #ang dapat kita gunakan 0ntara lain menggunakan inputan dari mouse dan ke#board.

(ntuk dapat menggerakan lobster" kita menggunakan ke#board untuk memasukan perintah. Fangkah Pengerjaan '

1. lik kanan pada a%tor Lo#ster" setelah itu pilih o0en editor. 6elanjutn#a kita akan memasukan perintah berupa baris program java. Act pada greenfoot merupakan method main #ang akan mengeksekusi baris program. &uat sebuah method baru #ang diberi nama Ke!#oardController dan letakan juga method tersebut dalam method main" sehingga pada saat program dijalankan method tersebut akan ikut dieksekusi. 6etelah itu klik co"0ile untuk mengeksekusi program dan memastikan tidak ada kesalahan pada baris program.

(16)

2. Fangkah selanjutn#a #aitu menjalankan aplikasi" dengan %ara klik tombol r*n. 6etelah itu %oba tekan tombol navigasi untuk memastikan lobster dapat bergerak.

3. emudian langkah selanjutn#a #aitu membuat obje%t IJamurO agar dapat menghilang ketika obje%t lobster menabrakn#a dengan %ara menambahkan a%tion pada obje%t lobster. &uka

(17)

open editor pada a%tor Lo#ster dan masukan perintah pada gambar berikut ini.

4. Mun kembali aplikasi dan lihat apakah obje%t Jamur berhasil hilang ketika ditabrak oleh lobster.

5. Fangkah terakhir #aitu memasukan a%tion pada a%tor lo#ster" sehingga apabila lobster menabrak &atu maka program berakhir. &uka o0en editor dan edit dengan menambahkan baris program sebagai berikut.

(18)

C. Mun kembali aplikasi dan lihat apakah permainan dapat berhenti ketika obje%t lobster menabrak batu.

(19)

Referensi

Dokumen terkait

Untuk menjawab rumusan masalah ini peneliti memiliki beberapa tujuan penelitian, di antaranya: (1) Untuk mengetahui tingkat kesahihan (valid) dan kehandalan

Jumlah saham yang ditawarkan 208.360.000 Saham Biasa Atas Nama dengan nilai nominal Rp 100,- /saham. Penjamin Pelaksana PT TRIMEGAH SECURITIES Tbk , PT OCBC

pengertian tentang dunia pemikiran santri. Jika peneliti ingin menemukan pengertian secara dalam, harus mengakui sumber-sumber prejudgement dan sejauh mana kaca mata peneliti

Dimulai dengan dimunculkannya filsafat bahasa oleh para filosof yaitu pengetahuan dan penyelidikan dengan akal budi mengenai hakikat bahasa, maka lahirlah ilmu bahasa

Puji syukur kehadirat Allah SWT atas segala rahmat, taufiq, hidayah, serta inayah-Nya sehingga penulis dapat menyelesaikan proposal skripsi dengan judul “Uji

Menurut Moleong, penelitian kualitatif adalah penelitian yang bermaksud untuk memahami fenomena tentang apa yang dialami oleh subjek penelitian, misalnya perilaku,

Menurut Hellier, et al, (2003) dalam Setyaningsih (2008) niat beli ulang merupakan keputusan konsumen untuk melakukan pembelian kembali suatu produk atau