1 / 42

Kelas & Objek

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

gefen
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kelas & Objek

  2. Tujuan Di akhirpertemuan, mahasiswadiharapkan : • Memahamikonsepkelas & objek • Mampumengidentifikasiperbedaanantarakelas & objek • Mampumembuatkelas & objekdi Java • Mampumembuatdanmenjalankan method di Java

  3. kelas & objek

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

  5. Contoh • Kelas Mobil • KelasManusia Mobil Manusia warna merk tipe kapasitastangki nama tinggibadan beratbadan usia data/atribut start stop dipercepat bersuara berjalan belajar perilaku/ method

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

  7. Contoh //DeklarasiKelas class Kotak { double panjang; double lebar; double tinggi; } //Membuatobjek //deklarasi Kotak k; //alokasi k = new Kotak(); Kotak panjang lebar tinggi k

  8. 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); } }

  9. 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); } }

  10. MembuatObjek • Ada 2 tahap : • Mendeklarasikanvariabel • Mengalokasikanmemori & memasangkannya dg variabel yang telahdideklarasikan dg operator new • Contoh : //mendeklarasikanvariabel Kotak k; // melakukanalokasidanmemasangkan k = new Kotak ();

  11. 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); } }

  12. 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); } }

  13. Latihan A. Buatlahkelas-kelasberikut : 1. 3. 2. 4. Mobil Manusia MataKuliah KartuATM warna tahun merek nama usia tinggibadan nama bobotSKS semester noKartu namaPemilik noRekening

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

  15. 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]

  16. Method

  17. 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 }

  18. Mendefinisikan Method • Menambahkan method cetakVolume() padakelasKotak. • Method tidakmengembalikannilai tipekembalian : void voidcetakVolume(){ System.out.println(“Volume kotak = ” + (panjang*lebar*tinggi)); }

  19. Membuat method hitungVolume(), method akanmengembalikan volume kotak yang tipenyadouble. double hitungVolume(){ double volume; volume = panjang * lebar * tinggi; return volume; }

  20. 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; }

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

  22. Tetapi, ketikakitamembuatconstructorbaruuntuksebuahkelas, maka Java TIDAK akanmembuat default constructor. • Constructor dapat MEMILIKI/TIDAK MEMILIKI parameter. • Constructor dapatdi-OVERLOAD

  23. Format penulisan constructor : • Constructor TIDAK memilikitipekembalian. namaKelas (daftar-parameter) { //kodeconstructor }

  24. Contoh Constructor Kotak () { panjang = 7; lebar = 6; tinggi = 5; } Kotak (int p, int l, int t) { panjang = p; lebar = l; tinggi = t; }

  25. Katakunci : this • thisdigunakansebagaireferensikeobjek yang sedangaktif • Contoh : • penggunaanthispada constructor (ketikanama parameter samadengannamaatributkelas) Kotak (intpanjang, intlebar, inttinggi) { this.panjang = p; this.lebar = l; this.tinggi = t; }

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

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

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

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

  30. 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; }

  31. 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(); } }

  32. 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."); } }

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

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

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

  36. Tingkat Akses data & method

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

  38. Keyword private • KelasKotak public class Kotak{ private intpanjang; private intlebar; private inttinggi; } Kotak - panjang - lebar - tinggi

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

  40. Inner Class • Inner class merupakankelas yang dibuat/dideklarasikandidalamsebuahkelas. • Inner class hanyadapatdiaksesdidalamkelasluarnya.

  41. Contoh

  42. Package (Paket) • Package/paketmemungkinkankitauntukmengelompokkankelas-kelas. • Caranya : tuliskan : package [nama_package]dibarispertamakelas • Nama package bersifatbebas. • Data & method dg tipeaksesdefaulthanyadapatdiakses/dikenalidi package yang sama.

More Related