1 / 34

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

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. B. Buatlah program berikut : 1. Buatlahobjekdarikelas Mobil bernamam1. Isilahwarnanyadenganhitam, merekAvanza, dantahun 2011. Tuliskankelayar “Mobil Avanzawarnahitamkeluarantahun 2011”. 2. BuatlahobjekdarikelasManusiabernamaman. Isilahnamanya dg “Budi Prasetya”, usia 30, dantinggi 175. Tuliskankelayar : Nama : Budi Prasetya Usia : 30 th Tinggibadan : 175 cm

  15. 3. BuatlahobjekdarikelasMatakuliah. Isikannama =“Kalkulus”, semester 2, bobotSKS 2. Tuliskankelayar “Kalkulusdiberikanpada semester 2 denganbobot 2 SKS.” Kemudianubahlahsemesternyamenjadi 3, tuliskankelayar “Kalkulusdipindahke semester 3”

  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) { Kotakk1 = new Kotak(10,5,17);; Kotakk2; k1.cetakVolume(); k2 = k1.perbesar(2); k2.cetakVolume(); } }

  32. public class DemoKotak { public static void main(String[] args) { Kotakk1 = new Kotak(10,5,17); Kotakk2 = 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 akanmenginisialisasiketigavariabelBola 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 • ubahJumlahKamaradalah method yang akanmengubahnilaivariabeljumlahKamar. Parameternyaadalahjumlahkamar yang baru. Method tidakmengembalikannilai. • ubahLamaInapadalah method yang akanmengubahnilaivariabellamaInap. Parameternyaadalahnilai lama inap yang baru. Method tidakmengembalikannilai. • totalBayarakanmengembalikanberapa yang harusdibayarolehpemesan. Rumusnya = lamaInap*jumlahKamar*harga PesanKamar jumlahKamar lamaInap harga namaPemesan PesanKamar ubahJumlahKamar ubahLamaInap totalBayar

More Related