250 likes | 399 Views
Objek dan Kelas. Zahara Ritonga , S.Kom STMIK BANDUNG, 2012. Pendahuluan. Pemrograman berorientasi objek adalah sebuah konsep pemrograman untuk membuat kode program yang lebih terstruktur , terkelompokkan berdasarkan objek yang terlibat untuk [ embuatan aplikasi .
E N D
ObjekdanKelas ZaharaRitonga, S.Kom STMIK BANDUNG, 2012
Pendahuluan • Pemrogramanberorientasiobjekadalahsebuahkonseppemrogramanuntukmembuatkode program yang lebihterstruktur, terkelompokkanberdasarkanobjek yang terlibatuntuk [embuatanaplikasi. • Membagikode program aplikasimenjadikumpulanbungkusanbenda/objek yang dipandangdarisudutaplikasikomputer.
PemrogramanProseduralvsBeorientasiObjek • Sebelummunculnya ide membuatkonsep [emrogramanbeorientasiobjek, telahmunculterlebihdahulupemrogramanprosedural. • Membagi proses yang dilakukan program menjadiprosedural-proseduralataufungsi yang dibuatberdasarkanpembagian proses yang dibutuhkansebuah program. • Contoh : penyewaan VCD makapada program proseduralakandibuatprosedurataufungsisepertigambarberikut.
Prosedurdanfungsidikelompokkanberdasarkanjenisobjekataubenda yang dikenai proses ditambahdengansebuahkelasuntukmenampung program utama. • Kelas yang dibuatakandigunakanolehkelasutamakarenakelasuatamaadalahkelas yang akanpertama kali dijalankanketika program dijalankan. • Prosedurdanfungsipadapemrogramanbeorientasiobjekdisebutdenganmetode. • Tujuannya agar kode program yang sudahdibuatuntuksebuah program berorientasiobjekdapatdigunakanuntuk program lain.
SyaratUmumBahasa yang MendukungPemrogramanBerorietasiObjek • Enkapsulasi • Mampumembungkusatributdanmetodedalamsebuahkelasdandapatmencegahpengaksesanlangsungatributdanmetode yang ingindilindungi di dalamsebuahkelas, misalkanmembungkusmetode yang terkaitdengan VCD kedalamkelas VCD. • Pewarisan • Memungkinkanadanyapendefinisiankelasbaru yang memilikisifat-sifatturunandarikelas lain. • Polimorfisme • Memungkinkanpembuatanpengaksesanmetodedengannama yang samanamunberbeda parameter masukanatauberbedakelas.
ManfaatPewarisan • Tanpa inheritance, makasemua attribute dan method yang pernahdibuatdanbutuhkankelas lain, harusditulisulangseluruhnya. • Dengan inheritance, seorang programmer inginmemodifikasisuatu attribute atau method yang dimanfaatkansubkelas, makadilakukanmodifikasi attribute dan method tersebutpadakelassupernya.
Class danObjek • Kelasmerupakantemplate untukmembuatobyek. • Merupakanprototipe / blue prints yang mendefinisikanvariabel – variabeldanmethod – method secaraumum. • Kelasadalahtulisankode program kelas yang ditulisolehprogrammersedangkanobjekadalahkelas yang telahdieksekusidandijalankanmenjadi program komputer. • Objekadalahelemenpadasaat runtime yang akandiciptakan, dimanipulasi, dandihancurkandaateksekusisehinggasebuahobjekhanyaadasaatsebuah program dieksekusi.
Atribut • Atributdarisebuahkelasadalahvariabel global yang dimilikisebuahkelas, misalkanpadakelasberikut: • MakajuduladalahatributdarikelasBuku yang bertipe string danpengarangadalahatributdarikelasBukubertipe string. • Atributpadasebuahkelasmemilikiizinaksesjikakelasdigunakanoelhkelas lain, izinaksesitusepertiprivate, public, protected. Class Buku privatejudul : stringprivatepengarang : string Buku() (end constructor)(end class)
Atribut Private • Menyatakanbahwakelastersebuttidakdapatdiaksessamasekaliolehkelas lain bahkanjugatidakdapatditurunkan. • Berarti attribute-attribute yang private hanyadapatdiaksesoleh method-method dalamkelas yang sama, kelas lain masihdapatmengaksesmelalui method-method tersebutasalmodifiernya public. • Pertimbangansuatu attribute dideklarasikan private : • Bilakelas lain takmemerlukan attribute tersebut. • Melindungisuatu attribute darikemungkinannilainyadiubaholeh method lain darikelas lain.
Atribut Public • Menyatakanbahwakelas/method/attribute tersebutdapatdiaksesolehkelas lain dimanapun. Class Buku publicjudul : stringpublicpengarang : string Buku() (end constructor)(end class)
Atribut Protected • Menyatakanbahwakelas/method/attribute tersebutdapatdiaksesolehkelas lain yang beradadalamsatu package ataukelas lain tersebutmerupakanturunannya.
PACKAGE • Package adalahsarana/carapengelompokkandanpengorganisasiankelas-kelasdan interface yang sekelompokmenjadisuatu unit tunggaldalam library. • Package jugamempengaruhimekanismehakakseskekelas-kelas di dalamnya.
PengaruhPackage terhadap Method • Kelas yang mengandung method memilkisyarattidakberadadalamsuatu package, danhirarkiposisifoldernya di atas package yang diimport.
Membuat Package • Ada tigalangkahuntukmembuat package : • Mendeklarasikandanmemberinama package. • Membuatstrukturdannamadirektori yang sesuaidenganstrukturdannama package. • Mengkompilasikelas-kelassesuaidenganpackagenyamasing-masing.
MendeklarasikandanMemberiNama Package • Deklarasi package harusdiletakkanpadabagian paling awal (sebelumdeklarasi import) dari source code setiapkelas yang dibungkus package tersebut. • Bentukumumdeklarasi package : package namaPackage • Deklarasitersebutakanmemberitahukankompilator, ke library manakahsuatukelasdikompilasidandirujuk.
Syaratnamapackage • Diawalihurufkecil • Menggambarkankelas-kelas yang dibungkusnya • Harusunik (berbedadengannama package standard) • Merepresentasikan path dari package tersebut. • Harussamadengannamadirektorinya.
Konstruktor • Sebuahkelasharusmemilikisebuahmetode yang disebutsebagaikonstruktor. • Namasebuahkonstruktorharussamadengannamadarisebuahkelas. • Sebuahkonstruktorjugadapatmenerimasebuahmasukansepertihalnyaprosedurpada program prosedural. • Fungsidarisebuahkonstruktoradalah : • Mengalokasikansebuahobjeksaat program dieksekusi(memerintahkandibuatnyaalokasiobjekdimemprisaat program dijalankan) • Memberikannilaiawalsebagaiinisialisasidarisemuaatribut yang perludiinisialisasikan • Mengerjakan proses yang diperlukansaatsebuahobjekdibuat
Destruktor • Destruktoradalahmetode yang dipanggilsecaraotomatisketikaobjekdihancurkan. • Sebuahdestruktortidakharusadapadakode program sebuahkelasjika compiler atau interpreter tidakmemiliki garbage collection (mekanismemembersihkanalokasiobjek yang sudahtidaktepakaidimemori). • Penamaandestruktorsamadengankonstruktor, hanyasajapadadestruktordiberitanda ~ padabagiandepanpenamaanmetode.
Method • Metodepadasebuahkelashampirsamadenganfungsiprosedurpadapemrogramanprosedural. • Padasebuahmetodedidalamsebuahkelasjugamemilikiizinaksessepertihalnyaatributpadakelas. • Karakteristiksebuahmetode : • Dapatmengembalikansatunilaiatautidaksamasekalidapatditerimabeberapa parameter yang dibutuhkanatautidakada parameter samasekali. Parameter bisajugadisebutsebagaiargumendarifungsi • Setelahmethod telahselesaidieksekusi, diaakankembalipadamethod yang memanggilnya.
PEWARISAN (INHERITANCE) • Semua attribute dan method darisuatukelas super dapatdiwariskankesubkelas. • Dalamhirarkikelas, jikakelas C merupakanturunankelas B, dankelas B merupakanturunankelas A, makaotomatis attribute dan method kelas A jugadiwariskankelas C. • Bentukpewarisan : • [modifier] class namaSubKelas extend namaKelasSuper { • // classBody • }
ManfaatPewarisan • Tanpa inheritance, makasemua attribute dan method yang pernahdibuatdanbutuhkankelas lain, harusditulisulangseluruhnya. • Dengan inheritance, seorang programmer inginmemodifikasisuatu attribute atau method yang dimanfaatkansubkelas, makadilakukanmodifikasi attribute dan method tersebutpadakelassupernya.
Overrriding Attribute dan Method • Overriding adalahkemampuansuatusubkelasuntukmemodifikasi attribute dan method milikkelassupernya (tentu yang memilikisifat private atau final tidakbiasadilakukan overriding). • Modifikasi yang dilakukan, misalnyajumlah parameter, tipe parameter, tipe return value, ataupunlingkunganpemrosesandatanya. // Contoh program overriding class KelasSuper { public void methodAsli() { System.out.println(”Method milikKelasSuperjalan”); } public static void main(String[] args) { KelasSuper oks = new KelasSuper(); oks.methodAsli(); } }
POLIMERFISME • Polimorfismeberartibanyakbentuk. • Padapemrogramanberorientasiobjek, polimorfismemeerupakankonsep yang menyatakansesuatu yang samadapatmemilikiberbagaibentukdanperilaku yang berbeda. • Polimerfismedapatberupa overloading atau overriding.
Overloading • Overloading merupakanbentukdaripolimerfismeyaitubeberapametodedapatmemilikinama yang samadenganisidan parameter yang berbeda di dalamsebuahkelas.
Overriding • Overriding merupakanbentukpolimerfismeyaitubeberapametodepadakelas orang tuadapatditulisulangpadakodekelasanakdalampewarisan (inheritance) denganmemilikinama yang samadanmemilikiisiataupunparamater yang samaatauberbeda.