kelas objek n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Kelas & Objek PowerPoint Presentation
Download Presentation
Kelas & Objek

Loading in 2 Seconds...

play fullscreen
1 / 42

Kelas & Objek - PowerPoint PPT Presentation


  • 218 Views
  • Uploaded on

Kelas & Objek. Tujuan. Di akhir pertemuan , mahasiswa diharapkan : Memahami konsep kelas & objek Mampu mengidentifikasi perbedaan antara kelas & objek Mampu membuat kelas & objek di Java Mampu membuat dan menjalankan method di Java. kelas & objek. Kelas ( Class ).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Kelas & Objek


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
tujuan
Tujuan

Di akhirpertemuan, mahasiswadiharapkan :

  • Memahamikonsepkelas & objek
  • Mampumengidentifikasiperbedaanantarakelas & objek
  • Mampumembuatkelas & objekdi Java
  • Mampumembuatdanmenjalankan method di Java
kelas class
Kelas (Class)
  • Adalahcetakbiru (blueprint) atauprototipe yang mendefinisikanvariabel-variabel (data) danmethod-method (perilaku) umumdarisebuahobjek.
  • Membuatkelasbaru == membuattipe data baru
  • Variabel yang tipedatanyaberupakelas variabel reference
  • Membuatkelas != membuatobjek
  • Membuatobjek == membuat instance drkelas
contoh
Contoh
  • Kelas Mobil
  • KelasManusia

Mobil

Manusia

warna

merk

tipe

kapasitastangki

nama

tinggibadan

beratbadan

usia

data/atribut

start

stop

dipercepat

bersuara

berjalan

belajar

perilaku/

method

membuat kelas
MembuatKelas

classNamaKelas {

tipe data1;

tipe data2;

tipedataN;

tipe method1(daftar-parameter) {

//kodeuntuk method1

}

  • tipe method2(daftar-parameter) {
  • //kodeuntuk method2
  • }
  • tipemethodN(daftar-parameter) {
  • //kodeuntukmethodN
  • }

}

instance

variable

class

members

contoh1
Contoh

//DeklarasiKelas

class Kotak {

double panjang;

double lebar;

double tinggi;

}

//Membuatobjek

//deklarasi

Kotak k;

//alokasi

k = new Kotak();

Kotak

panjang

lebar

tinggi

k

contoh penggunaan 1
ContohPenggunaan (1)

class DemoKotak1 {

public static void main(String[] args) {

double volume;

Kotak k = new Kotak();

// Mengisikannilaikedalam data-data kelasKotak

k.panjang = 4;

k.lebar = 3;

k.tinggi = 2;

// Menghitungisi/volume kotak

volume = k.panjang * k.tinggi * k.lebar;

// Menampilkannilai volume kelayar monitor

System.out.println("Volume kotak = " + volume);

}

}

contoh penggunaan 2
ContohPenggunaan (2)

class DemoKotak2 {

public static void main(String[] args) {

double volume1, volume2;

Kotak k1 = new Kotak(); // mendeklarasikanobjek k1

Kotak k2 = new Kotak(); // mendeklarasikanobjek k2

// Mengisikannilaikedalamobjek k1

k1.panjang = 4;

k1.lebar = 3;

k1.tinggi = 2;

// Mengisikannilaikedalamobjek k2

k2.panjang = 6;

k2.lebar = 5;

k2.tinggi = 4;

// Menghitungisi/volume dariobjek k1

volume1 = k1.panjang * k1.tinggi * k1.lebar;

// Menghitungisi/volume dariobjek k2

volume2 = k2.panjang * k2.tinggi * k2.lebar;

// Menampilkannilai volume k1 dan k2 kelayar monitor

System.out.println("Volume k1 = " + volume1);

System.out.println("Volume k2 = " + volume2);

}

}

membuat objek
MembuatObjek
  • Ada 2 tahap :
    • Mendeklarasikanvariabel
    • Mengalokasikanmemori & memasangkannya dg variabel yang telahdideklarasikan dg operator new
  • Contoh :

//mendeklarasikanvariabel

Kotak k;

// melakukanalokasidanmemasangkan

k = new Kotak ();

contoh penggunaan 3
ContohPenggunaan (3)

class DemoReferensi1 {

public static void main(String[] args) {

double volume1, volume2;

Kotak k1, k2;

k1 = new Kotak();

k2 = k1;

// Mengisikannilaikedalamobjek k1

k1.panjang = 4;

k1.lebar = 3;

k1.tinggi = 2;

// Menghitungisi/volume dariobjek k1

volume1 = k1.panjang * k1.tinggi * k1.lebar;

// Menghitungisi/volume dariobjek k2

volume2 = k2.panjang * k2.tinggi * k2.lebar;

// Menampilkannilai volume k1 dan k2 kelayar monitor

System.out.println("Volume k1 = " + volume1);

System.out.println("Volume k2 = " + volume2);

}

}

contoh penggunaan 4
ContohPenggunaan (4)

class DemoReferensi2 {

public static void main(String[] args) {

double volume1, volume2;

Kotak k1, k2;

k1 = new Kotak();

k2 = k1;

k1.panjang = 4;

k1.lebar = 3;

k1.tinggi = 2;

// Sebelumnilai k1 diubah

volume1 = k1.panjang * k1.tinggi * k1.lebar;

volume2 = k2.panjang * k2.tinggi * k2.lebar;

System.out.println("Sebelum k1 diubah:");

System.out.println("Volume k1 = " + volume1);

System.out.println("Volume k2 = " + volume2);

k1 = new Kotak();

k1.panjang = 6;

k1.lebar = 5;

k1.tinggi = 4;

// Setelahnilai k1 diubah

volume1 = k1.panjang * k1.tinggi * k1.lebar;

volume2 = k2.panjang * k2.tinggi * k2.lebar;

System.out.println("\nSetelah k1 diubah:");

System.out.println("Volume k1 = " + volume1);

System.out.println("Volume k2 = " + volume2);

}

}

latihan
Latihan

A. Buatlahkelas-kelasberikut :

1. 3.

2. 4.

Mobil

Manusia

MataKuliah

KartuATM

warna

tahun

merek

nama

usia

tinggibadan

nama

bobotSKS

semester

noKartu

namaPemilik

noRekening

latihan cont
Latihan (cont.)

B. Buatlah program berikut :

1. Buatlahobjekdarikelas Mobil bernamam1. Isilahwarnanyadenganhitam, merekAvanza, dantahun 2011. Tuliskankelayar “Mobil Avanzawarnahitamkeluarantahun 2011”.

2. BuatlahobjekdarikelasManusiabernamaaku. Isilahnamanya dg namaanda, usiadg usiaanda, dantinggidg tinggibadananda. Tuliskankelayar :

Nama: [nama]

Usia: [usia] th

Tinggibadan : [tinggibadan] cm

slide15

3. BuatlahobjekdarikelasMatakuliah. Isikannama =“Kalkulus”, semester 2, bobotSKS 2. Tuliskankelayar

“Kalkulusdiberikanpada semester 2 denganbobot 2 SKS.”

Kemudianubahlahsemesternyamenjadi 3, tuliskankelayar “Kalkulusdipindahke semester 3”

4. BuatlahobjekbertipeKartuATM. Isilah variabel2nya (isinyabebas). Tampilkankelayar:

Data nasabahpemegangkartudengannomor [noKartu]:

Nama : [namaPemilik]

No. rekening [noRek]

pengantar
Pengantar
  • Method merupakansalahsatuanggotakelas.
  • Method dapatdi-OVERLOAD
  • Rumus method :
    • tipe : tipe data yang akandikembalikan method; terbagimenjadivoiddanbukan-void
    • tipe void : jika method tidakmengembalikannilai
    • tipebukan-void : ditandaidenganada keyword returnpadakode method; bisa : tipe data primitif, array, ataukelas

Contoh : returnnilai;

tipenamaMethod(daftar-parameter) {

//kode method

}

mendefinisikan method
Mendefinisikan Method
  • Menambahkan method cetakVolume() padakelasKotak.
  • Method tidakmengembalikannilai tipekembalian : void

voidcetakVolume(){

System.out.println(“Volume kotak = ” +

(panjang*lebar*tinggi));

}

slide19

Membuat method hitungVolume(), method akanmengembalikan volume kotak yang tipenyadouble.

double hitungVolume(){

double volume;

volume = panjang * lebar * tinggi;

return volume;

}

method dengan parameter
Method dengan Parameter
  • Parameter adalahnilai yang dikirimkandaripemanggilke method yang dipanggil. Nilai-nilaiiniakandigunakandidalam method.
  • Contoh : menambahkan method isiDatakekelasKotak yang digunakanuntukmengisinilaipanjang, lebar, dantinggi.

parameter

voidisiData(double p, double l, double t){

panjang = p;

lebar = l;

tinggi = t;

}

constructor
Constructor
  • Constructor : method khusus yang didefinisikandidalamkelasdanakandipanggilsecaraotomatissetiapmembuatobjek.
  • Constructor digunakanuntukinisialisasivariabel-variabelobjek.
  • Apabilatidakmendefinisikan constructor, maka Java akanotomatismembuatnya DEFAULT CONSTRUCTOR
  • DEFAULT CONSTRUCTOR menginisialisasiseluruhvariabeldengannilai NOL/NULL.
slide22

Tetapi, ketikakitamembuatconstructorbaruuntuksebuahkelas, maka Java TIDAK akanmembuat default constructor.

  • Constructor dapat MEMILIKI/TIDAK MEMILIKI parameter.
  • Constructor dapatdi-OVERLOAD
slide23

Format penulisan constructor :

  • Constructor TIDAK memilikitipekembalian.

namaKelas (daftar-parameter) {

//kodeconstructor

}

contoh constructor
Contoh Constructor

Kotak () {

panjang = 7;

lebar = 6;

tinggi = 5;

}

Kotak (int p, int l, int t) {

panjang = p;

lebar = l;

tinggi = t;

}

kata kunci this
Katakunci : this
  • thisdigunakansebagaireferensikeobjek yang sedangaktif
  • Contoh :
    • penggunaanthispada constructor (ketikanama parameter samadengannamaatributkelas)

Kotak (intpanjang, intlebar, inttinggi) {

this.panjang = p;

this.lebar = l;

this.tinggi = t;

}

overload
Overload
  • Overload dapatditerapkanthd constructor dan method
  • Overload  mendefinisikan constructor/method dengannama yang samanamunberbeda parameter dalamsatukelas.
  • Parameter disebutberbeda, jika :
    • Jumlahnyaberbeda, meskipuntipenyasama
    • Tipedatanyaberbeda, meskijumlahnyasama
    • Jumlahdantipenyaberbeda
    • Urutannyaberbeda
overload method
Overload Method

intbagi (int a, int b) {

return a/b;

}

doublebagi (double a, double b){

return a/b;

}

overload

method

intbagi (int a, int b) {

return a/b;

}

doublebagi (int a, int b){

return a/b;

}

bukan

overload

method

overload constructor
Overload Constructor

class Kotak {

double panjang;

double lebar;

double tinggi;

Kotak (){

panjang = 0;

lebar = 0;

tinggi = 0;

{

Kotak (double p, double l, double t){

panjang = p;

lebar = l;

tinggi = t;

}

}

overload

constructor

pengiriman parameter passing parameter
Pengiriman Parameter (passing parameter)
  • Terdapat 2 jenis passing parameter :
    • pass by value
    • pass by reference
  • Pemilihankeduajenisdiatasotomatisdilakukanoleh Java bergantungpadatipe parameter method.
  • Jika parameter merupakantipe data primitif pass by value
  • Jika parameter berupaobjek  pass by reference
contoh objek sbg nilai kembalian parameter
ContohObjeksbgNilaiKembalian & Parameter

//objeksbgtipekembalian

Kotakperbesar(int m){

Kotaktmp = new Kotak(m*panjang, m*lebar, m*tinggi);

return tmp;

}

//objeksbg parameter

booleansamaBentuk(Kotak k){

if (k.panjang==panjang && k.lebar==lebar && k.tinggi==tinggi)

return true;

else

return false;

}

contoh pemanggilan
ContohPemanggilan

public class DemoKotak {

public static void main(String[] args) {

Kotak k1 = new Kotak(10,5,17);;

Kotak k2;

k1.cetakVolume();

k2 = k1.perbesar(2);

k2.cetakVolume();

}

}

slide32

public class DemoKotak {

public static void main(String[] args) {

Kotak k1 = new Kotak(10,5,17);

Kotak k2 = new Kotak(10,5,17);;

booleansama;

sama = k1.samaBentuk(k2);

if (sama==true)

System.out.println("k1 & k2 samabentuknya.");

else

System.out.println("k1 & k2 tidaksamabentuknya.");

}

}

latihan1
Latihan

Buatlahkelasberikut :

1.

  • Penjelasan method :
    • Bolaadalah constructor yang akanmenginisialisasiketigavariabel Bola dg nilaitertentu
    • hitungVolumeadalah method yang akanmengembalikanhasilperhitungan volume bola dengan radius tertentu. Rumus volume bola =
    • cetakVolumeadalah method yang akanmenuliskankelayar “Bola dengan radius … volume adalah …”

Bola

warna

radius

merek

Bola

hitungVolume

cetakVolume

slide34

2.

  • Penjelasan method :
    • PesanKamaradalah constructor yang akanmenginisialisasiseluruhatribut dg nilaitertentu
    • totalBayarakanmengembalikanberapa yang harusdibayarolehpemesan. Rumusnya = lamaInap*jumlahKamar*harga
    • cetakBillakanmenuliskankelayar “Tagihanuntuk Tn./Ny. … sebesarRp …”

PesanKamar

jumlahKamar

lamaInap

harga

namaPemesan

PesanKamar

totalBayar

cetakBill

slide35

3.

  • Penjelasan method :
    • Waktuadalah constructor yang akanmenginisialisasiseluruhatribut dg nilaitertentu
    • cetakWaktuakanmenuliskankelayar “Waktusaatinijam:menit:detik”
    • setJamakanmengisinilai jam. Method memiliki parameter 1 integer yaitunilai jam yang ingindimasukkan. Nilai yang diperbolehkanadalah 0<= jam <= 23
    • setMenitakanmengisinilaimenit. Method memiliki parameter 1 integer yaitunilaimenit yang ingindimasukkan. Nilai yang diperbolehkanadalah 0<= jam <= 59
    • setDetikakanmengisinilai jam. Method memiliki parameter 1 integer yaitunilaidetik yang ingindimasukkan. Nilai yang diperbolehkanadalah 0<= jam <= 59

Waktu

jam

menit

detik

Waktu

cetakWaktu

setJam

setMenit

setDetik

modifier data method
Modifier Data & Method
  • Modifier pada data & method menentukansejauhmana data & method dapatdiaksesolehobjek lain.
  • Keyword yang digunakan :
    • private hanyabisadiaksesdidalamkelasnya
    • public  bisadiaksesdikelasmanapun
    • protected  hanyabisadiaksesdikelasnya & turunannya
  • Keyword diletakkansebelumdeklarasi data / method
  • Jikatidakmencantumkanketiganyamakatingkataksesnyaadalah DEFAULT.
keyword private
Keyword private
  • KelasKotak

public class Kotak{

private intpanjang;

private intlebar;

private inttinggi;

}

Kotak

- panjang

- lebar

- tinggi

efek adanya private
EfekAdanyaprivate

public class DemoKotak {

public static void main(String[] args) {

Kotak k1 = new Kotak(10,5,17);

k1.panjang = 12;

}

Salah, krnvariabelpanjangbersifatprivate, sehinggatidakbolehdiakseslangsung. Solusinya : sediakan method untukmengaksesvariabel

inner class
Inner Class
  • Inner class merupakankelas yang dibuat/dideklarasikandidalamsebuahkelas.
  • Inner class hanyadapatdiaksesdidalamkelasluarnya.
package paket
Package (Paket)
  • Package/paketmemungkinkankitauntukmengelompokkankelas-kelas.
  • Caranya :

tuliskan : package [nama_package]dibarispertamakelas

  • Nama package bersifatbebas.
  • Data & method dg tipeaksesdefaulthanyadapatdiakses/dikenalidi package yang sama.