Pemrograman Berorientasi Objek (PBO/OOP) UTS/Task

 

Soal:

1.      Jelaskanlah sejarah lahirnya OOP hingga saat ini ! Dan seberapa urgensi kah penggunaan OOP pada masa sekarang ini ? Jelaskan dengan pendapatmu masingmasing ! 

2.      Representasikanlah dalam kehidupan nyata apa yang dimaksud dengan class, object, method dan juga atribute ! Jelaskan contohnya masing-masing ! 

3.      Jelaskanlah bagaimana konsep inheritance dan encapsulation dalam pemrograman berorientasi objek kemudian  buatlah contoh program yang mengimplementasikan konsep inheritance dan encapsulation tersebut !

4.      Jelaskanlah jenis-jenis hak access modifier dalam OOP kemudian jelaskanlah masing masing fungsi nya beserta contohnya masing-masing!

5.      Jelaskanlah perbedaan antara Overloading dengan Overriding! Dan berikan contoh penggunaanya masing-masing!

Jawab:

1.      Sejarah lahirnya OOP pertama kali muncul di MIT  pada era 1960-an. Lalu sekitar beberapa tahun kemudian antara 1962-1965, sebuah bahasa pemrograman yang mendasari konsep OOP diperkenalkan dengan nama bahasa pemrograman SIMULA 1, dikembangkan oleh Kristen Nygaard dan Ole-Johan yang merupakan warga negara Norwegia. Setelah itu pada tahun 1967 keluarlah SIMULA 67, Bahasa SIMULA dengan OOP menginspirasi banyak pengembang, sehingga pada tahun 70-an tercipta bahasa SMALTALK, Bahasa yang pertama kali disebut oleh dunia sebagai Object-Oriented Programming, dengan membawa fitur barunya yaitu Inheritance.

Semenjak itu konsep OOP semakin dikenal, pada tahun 1980-an banyak Bahasa pemrograman menggunakan konsep OOP diperkenalkan kepada dunia, tapi hanya empat yang cukup populer yaitu ADA, PROLOG, Eifle dan C++. Kedua Bahasa, yaitu ADA dan PROLOG dipercaya akan bersaing ketat sebagai bahasa pemrograman yang paling dominan. Namum pada tahun 80-an Bahasa pemrograman C++ mematahkan kepercayaan tersebut. Bahasa pemrograman C++ menjadi Bahasa pemrograman yang popular dan mendominasi hingga sekarang.

urgensi kah penggunaan OOP pada masa sekarang ini? Iya , karena menjadi idealisme baru dalam pemrograman masa kini. Menggunakan konsep OOP untuk pembuatan sebuah aplikasi berbasis PHP setidaknya dapat memberikan pengalaman baru bagi para developer.

2.      Class ialah pemodelan dari objek yang berisi informasi tentang sifat karakteristik (data/atribute) dan tingkah laku (methode) yang dimiliki objek tersebut dan terbagi menjadi 2 yaitu class utama dan class turunan, misalnya contoh suzuki smash, yamaha vega r, honda supra fit, dan kawasaki kazer merupakan obyek dari class sepeda motor.

Object ialah kesatuan entitas (benda) atau abstraksi dari suatu problem dan punya nilai atribute yang unik yang mebedakannya dengan objek lain dikelas yang sama yang di sebut stat, misalnya contoh objek mobil x, (Atribut): merek, warna, bahan bakar . ( Method) : maju, mundur, pindah persnelling, kecepatan bertambah, dll, Pada OOP : status disimpan dalam variabel, dan tingkah laku disimpan dalam method.

Method ialah suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object, didefinisikan pada class akan tetapi dipanggil melalui object.dan menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta berbagai operasi yang dapat dilakukan objek sepanjang hidupnya, misalnya contoh kelas Mahasiswa memiliki atribut Nama, Umur dan memiliki method untuk mengisi Nama dan Umur , misalnya dinamakan SetData, method untuk mencetak misalnya dinamakan CetakInfo.

Dan attribute ialah  nilai data yang terdapat pada suatu object yang berasal dari class, contohnya pada Class Buah  terdapat attribute : warna, rasa  . Pada object mangga : warna berisi kuning dan rasa asam,  pada object apel : warna berisi merah dan rasa manis.

 3.      Konsep inheritance dan encapsulation

-          Encapsulasi adalah teknik penyembunyian atribut dan metode, dimana keterintegrasian antara class TIDAK BOLEH semua atribut dan metode di deklarasian sebagai public, dan enkapsulasi ada 3 jenis, yaitu public, protected, dan private.

Contoh


-          Inheritance adalah proses pewarisan data dan method satu kelas induk kepada kelas turunannya dan komponenya ada dua yaitu superclass dan subclass.

Contohnya

Suatu Subclass juga dapat memanggil constructor yang terdapat di superclass menggunakan kata kunci “super”. Kata kunci super juga dapat digunakan untuk merujuk pada anggota dari superclass, hal ini sama dengan penggunaan  referensi “this”.

Contoh super :


Contoh turunan :



4.      Jenis-jenis hak access modifier dalam OOP adalah

-          Private : Memberikan hak akses hanya pada class itu sendiri, artinya apa-apa saja yang ada di dalam class A baik itu method ataupun atribut hanya bisa diakses oleh class A saja, class lain tidak bisa mengaksesnya,

Contoh

Pada contoh diatas, variabel name dan methodgetName() hanya dapat diakses oleh method internal class tersebut.

-          Public : Memberikan hak akses kepada atribut atau method agar bisa diakses oleh siapapun (property atau class lain diluar class yang bersangkutan), artinya method atau atribut yang ada diclass A dapat diakses oleh siapaun baik itu class A, class B dan seterusnya,

Contoh


Dalam contoh ini, variabel name dan methodgetName() dapat diakses dari objectlain.

-          Protected : Memberikan hak akses kepada class itu sendiri dan class hasil turunannya (inheritance), artinya apa apa saja yang ada diclass A hanya bisa diakses oleh class A sendiri dan class yang meng Extends class A,

Contohnya



Pada contoh diatas, variabel name dan methodgetName()  hanya dapat diakses oleh methodinternal classdan subclassdari classStudentRecord.

-          Defalut : Tipe ini mempersyaratkan bahwa hanya class dalam package yang sama yang memiliki hak akses terhadap variabel dan methods dalam class. Tidak terdapat keyword pada tipe ini

Contohnya



Pada contoh diatas, variabel nama dan methodgetName() dapat diakses dari object lain   selama  object tersebut berada pada  package yang sama dengan letak dari file StudentRecord.

5.      Perbedaan antara Overloading dengan Overriding!

-          Overloading ialah mengijinkan sebuah method dengan nama yang sama namun memiliki parameter yang berbeda sehingga mempunyai implementasi dan return value yang berbeda pula. Daripada memberikan nama yang berbeda pada setiap pembuatan method, overloading method dapat digunakan pada operasi yang sama namun berbeda dalam implementasinya, jadi beberapa method dengan nama yang sama pada suatu kelas memiliki parameter yang berbeda.

Sebagai contoh, pada class StudentRecord kita menginginkan sebuah method yang akan menampilkan informasi tentang siswa. Namun kita juga menginginkan operasi penampilan data tersebut menghasilkan output yang berbeda menurut parameter yang digunakan

-          Overridding ialah class asal perlu mempunyai implementasi berbeda dari method yang khusus dari super class tersebut. Oleh karena itulah, method overriding digunakan. Subclass dapat mengesampingkan method yang didefinisikan dalam  super class dengan menyediakan implementasi baru dari method tersebut, jadi method  yang ada di class utama (Parent class) digunakan kembali pada sub class ( class anak).


Komentar

Postingan populer dari blog ini

Contoh Resume Jurnal

Nama-Nama Komponen Komputer Beserta Fungsinya

Instalasi Dan Pemasangan Kabel Fiber Optik