Judul :
Oleh :
NIM : 1557301083
Jurusan/Prodi : TIK/IT/2.4
KATA PENGANTAR
Puji syukur saya panjatkan kehadirat Allah SWT, atas segala kebesaran dan limpahan
nikmat yang diberikan-Nya, sehingga Makalah Pemrograman Berorientasi Objek mengenai
Polimorfisme telah dapat saya selesaikan.
Adapun penulisan tugas ini bertujuan untuk tugas teori Pemrograman Berorientasi Objek.
Dalam penulisan makalah ini, berbagai hambatan telah saya alami. Oleh karena itu,
terselesaikannya makalah ini tentu saja bukan karena kemampuan saya semata-mata. Namun
karena adanya dukungan dan bantuan dari pihak-pihak yang terkait.
Sehubungan dengan hal tersebut, perlu kiranya saya dengan ketulusan hati mengucapkan
terima kasih kepada Asisten Dosen yang telah membimbing saya dalam menyelesaikan laporan
ini. Saya juga berterima kasih kepada teman-teman saya sehingga laporan ini dapat diselesaikan.
Dalam penyusunan laporan ini, saya menyadari pengetahuan dan pengalaman saya masih
sangat terbatas. Oleh karena itu, saya sangat mengharapkan adanya kritik dan saran dari berbagai
pihak agar laporan ini lebih baik dan bermanfaaat.
Marhaban Husni
DAFTAR ISI
Kata Pengantar..................................................................................................
Daftar Isi ..........................................................................................................
Bab I Pendahuluan ...........................................................................................
1.1 Tujuan............................................................................................
1.2 Latar Belakang...............................................................................
Bab II Pembahasan ..........................................................................................
Mendefinisikan Superclass dan Subclass .............................................
Overidding Method...............................................................................
Method Final dan class final ................................................................
Polimorfisme ........................................................................................
Membuat Interface................................................................................
Bab III Penutup ................................................................................................
BAB I
PENDAHULUAN
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu
sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari
semua subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka dapat
digunakan oleh semua subclass. Subclass hanya perlu mengimplementasikan perbedaannya
sendiri dan induknya.
Polimorfisme , yaitu suatu teknik dalam programming yang lebih mengarahkan kita
untuk memprogram secara general dari pada secara spesifik. Sebagai contoh seumpama kita
memiliki 3 class berbeda yaitu: Motor, Mobil dan Pesawat. Dimana ketiga class
tersebut adalah turunan dari class Kendaraan. Dalam kelas kedaraan terdapat suatu method
yaitu Move(), akan tetapi apakah method Move() akan memberikan hasil yang sama
pada tiga class tersebut. Dimana jika method Move() dipanggil pada class Motor akan
menghasilkan perpindahan 30Km, jika pada class Mobil akan menghasilkan perpindahan
70Km dan jika dipanggil pada class Pesawat akan menghasilkan perpindahan 300Km. Hal
inilah yang kita sebut sebagai Polimorfisme , yaitu penggunaan method yang sama, yang
akan menghasilkan suatu hasil yang berbeda tergantung class yang menggunakan method
tersebut.
Untuk mendapatkan operasi polymorphism dari suatu method, method ini harus
merupakan member dari kelas induk. Dengan kata lain, Anda harus mendefinisikan method
yang akan dipanggil ini dalam kelas. Beberapa syarat yang harus dipenuhi agar operasi
polymorphism dapat berlangsung adalah :
Method dari kelas tutunan yang akan dieksekusi, dipanggil oleh objek dari kelas induk.
Method ini harus merupakan member dari kelas induk.
Nama method di kelas induk harus sama dengan yang ada di kelas tutunan.
Tipe yang dikembalikan juga harus sama.
Atribut akses dari method di kelas turunan tidak boleh lebih terbatas 10 dari yang ada di
kelas induk.
Satu hal yang penting lainnya yang harus di ingat adalah polymorphism hanya berlaku
untuk method, dan tidak berlaku untuk field data.
Interface adalah jenis khusus dari blok yang hanya berisi method signature(atau
constant). Interface mendefinisikan sebuah(signature) dari sebuah kumpulan method tanpa
tubuh.Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari
class-class.
Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class,
untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwainterface-interface
juga menunjukkan polimorfisme, dikarenakan program dapat memanggil method interface dan
versi yang tepat dari method yang akan dieksekusi tergantung daritipe object yang melewati
pemanggil method interface.
1.1 Tujuan
Mendefinisikan superclass dan subclasses
Override method dari superclasses
Membuat method final dan class final
BAB II
PEMBAHASAN
Pada pembahasan ini, terdapat analisis kode pada beberapa program yang menggunakan
polimorfisme , pewarisan dan interface
mengilustrasikan ini, kita akan membuat contoh class induk. Dimisalkan kita mempunyai
class induk yang dinamakan Person.
semua properti dan method dari setiap class Person yang ada. Untuk melakukan ini, kita
tulis,
Inside Person:Constructor
Inside Student:Constructor
Overriding Method
Misalnya kita mempunyai implementasi berikut untuk method getName dalam superclass
Person,
Dalam Java, juga memungkinkan untuk mendeklarasikan class-class yang tidak lama
menjadi subclass. Class ini dinamakan class final. Untuk mendeklarasikan class untuk menjadi
final kita hanya menambahkan kata kunci final dalam deklarasi class. Sebagai contoh, jika kita
ingin class Person untuk dideklarasikan final, kita tulis,
Polimorfisme
Class induk Person dan subclass Student dari contoh sebelumnya, kitatambahkan
subclass lain dari Person yaitu Employee.
Dalam Java, kita dapat membuat referensi yang merupakan tipe dari superclass ke sebuah
object dari subclass tersebut. Sebagai contohnya,
public static main( String[] args )
{
Person ref;
Student studentObject = new Student();
Employee employeeObject = new Employee();
ref = studentObject; //Person menunjuk kepada
// object Student
//beberapa kode di sini
}
Sekarang dimisalkan kita punya method getName dalam superclass Person kita, dan kita
override method ini dalam kedua subclasses Student dan Employee,
Membuat Interface
BAB III
PENUTUP
Polimorfisme erat kaitannya dengan pewarisan . Polimorfisme adalah pemikiran bahwa
objek dinamis suatu kelas dasar dapat berperilaku seperti kelas turunan. Ketika objek tersebut
menunjuk kelas dasar , objek tersebut berperilaku seperti kelas dasar , tetapi ketika objek tersebut
menunjuk kelas turunan objek tersebut berperilaku seperti kelas turunan .Dalam hal ini objek
dapat memiliki beberapa bentuk , tergantung pada saat itu kelas mana yang ditunjuk. Yang perlu
menjadi catatan, bahwa perubahan perilaku ini dari kelas dasar kepada kelas turunan , tidak dapat
objek turunan menunjuk kelas dasar.
Istilah pewarisan berarti suatu kelas bisa mewariskan sebagian atau keseluruhan struktur
dan perilaku kelas lain. Jika kelas B adalah kelas turunan dari kelas A, maka kita bisa juga
menyebut kelas A adalah kelas super dari kelas B. Kelas turunan bisa memiliki struktur atau
perilaku tambahan dari kelas supernya. Atau bahkan kelas turunan bisa mengubah atau
mengganti perilaku kelas supernya. Hubungan antara kelas turunan dan kelas super sering
dilukiskan dalam bentuk diagram di mana kelas turunan digambarkan di bawah kelas supernya,
dan dihubungkan dengan garis penghubung dengan tanda segitiga yang diletakkan di dekat kelas
supernya.