Bahasa Pemrograman II Modul 2 : Inheritance dan Interface

dokumen-dokumen yang mirip
Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

MINGGU V : PBO (PEWARISAN)

Bahasa Pemrograman II Modul 1 : Pemrograman Berbasis Objek

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Konsep Pemrograman Berbasis Obyek

Pewarisan atau Inheritance

Modul Bahasa Pemrograman 1

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

PRAKTIKUM I Class dan Obyek

MODUL 6. PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (II) dan STRING

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

Pemrograman Berorientasi. Inheritance

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

PEMROGRAMAN BERORIENTASI OBJEK

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

Bahasa Pemrograman :: Polimorfism and Abstraction

KONSEP Pemrograman Berorientasi Objek KARMILASARI

LAPORAN RESMI INHERITANCE

Inheritance dan Kata Kunci static

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

KONSEP OOP: PEWARISAN / INHERITANCE

8 - Overriding dan Overloading

:: abstract class + interface. :: abstract class

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Object Oriented Programming 1

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Bahasa Pemrograman 2.

Modul II Object Oriented Programming

Pemrograman Berorientasi. Abstract & Interface

Praktikum 6 Abstract, Interface, Overloading, Overriding, dan Package

Bahasa Pemrograman 2.

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Perancangan Analisis dan Database Sistem

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

Composition dan Inheritance

(INHERITANCE) Nurochman

JOBSHEET 8 INHERITANCE (PEWARISAN)

PEMROGRAMAN I. By : Sri Rezeki Candra Nursari

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Pemrograman Berorientasi Obyek. Konsep OOP

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

APLIKASI PERHITUNGAN GAJI PEGAWAI DENGAN JAVA Disusun untuk memenuhi tugas matakuliah Pemrograman JavaIII

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan

Pemrograman Berbasis Objek (Polimorfisme)

Pertemuan 11 Object Oriented Program

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

KONSEP OOP: PEWARISAN / INHERITANCE

public class B extends A {... }

Pemrograman Berbasis Objek Inheritance

Inheritance (Pewarisan) Pengertian dasar inheritance

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

Konsep Pemrograman Berorientasi Obyek. Pertemuan 1

Konsep Pemrograman Berorientasi Obyek

MODUL II VARIABEL DAN TIPE DATA

ABSTRACT CLASS DAN INTERFACE

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

MODUL 3 Inheritance. Tujuan: Mahasiswa dapat mengenal dan memahami konsep inheritance dan cara menerapkan inheritance dengan constructor

Pemrograman Berorientasi Obyek. Ramos Somya

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

PEMROGRAMAN BERORIENTASI OBJEK

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Inheritance. Topik 5/17/2013

Object OrientedProgramming

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

Class. Object. Object Oriented Programming (OOP) Object Oriented Programming (OOP)

MODUL I Pengenalan IDE Visual Basic 6.0

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

7 Inheritance. + berjalan() + berhenti PENDAHULUAN

VISUAL BASIC Pengenalan VB NET

Konsep Pemrograman Berorientasi Obyek

Pengenalan Bahasa C++, Algoritma Pemrograman, Integrated Development Equipment (IDE) Visual C++ dan Dasar Dasar Bahasa C++

Polymorphism (Polimorfisme)

STRUKTUR DENGAN ARRAY DAN FUNCTION

Pemrograman Lanjut Review Class dan Object PTIIK

MINGGU VII : RELASI ANTAR KELAS

Abstract Class dan Interface. Viska Mutiawani, M.Sc

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Inheritance dan Polimorfisme

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Modul Pelatihan : Pembuatan Game Animasi Menggunakan Greenfoot

Keyword this untuk memanggil private String pengarang; private String judul;

Gambar 1: Hirarki class

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

MODUL 1. Class, Object, Constructor dan Method

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Daftar Isi. Daftar Isi... ii MODUL 1 PENGENALAN OOP Pengantar Class Atribut Method This Access Modifier...

PertemuanI. Object Oriented

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

PERANCANGAN BERORIENTASI OBJEK

Pertemuan 2 Bahasa Visual Basic Aplication

Petunjuk/Teknik Pemrograman Visual (VB) Konvensi Penamaan Identifier

PEMROGRAMAN BERORIENTASI OBJEK

PEMBUATAN APLIKASI PERHITUNGAN TRANSAKSI DENGAN JAVA

Konsep Dasar Pemrograman Berorientasi Objek

Transkripsi:

Bahasa Pemrograman II Modul 2 : Inheritance dan Interface Tujuan Praktikum Setelah praktikum modul ini, praktikan diharapkan : - Mengetahui pengertian dan tujuan inheritance dan interface pada bahaasa pemrograman C#. - Mengetahui maksud dan implementasi penggunaan inheritance dan interface. Dasar Teori Pewarisan (inheritance) adalah kemampuan class untuk menurunkan sifat-sifat ke class turunannya. Dalam inheritance terjadi pewarisan properti dan perilaku dari kelas induk ke kelas anak. Misalnya class turunan dapat menggunakan properti dan method yang ada pada class induknya. Semua properti yang dimiliki oleh kelas induk akan dimiliki oleh kelas anak dengan sendirinya sehingga terjadi Code Sharing antara class induk dan class anak. Kelas yang dijadikan kelas induk merupakan kelas yang general sedangkan kelas anak merupakan kelas induk yang memiliki sesuatu yang spesifik. Dalam hal ini suatu class induk/parent disebut sebagai super class dan anak/child disebut sebagai sub class. Subclass didapatkan dari proses spesialisasi superclass. Gambar 1 Hierarki Class Struktur pewarisan: <access_modifier> class <nama_class_turunan> : <nama_class_induk> Berdasarkan struktur pewaridan diatas, pembuatan class melalui inheritance pada C# menggunakan operator :. Misalkan kita membuat class mobil, motor dan kereta api dari class kendaraan. Kendaraan Mobil Motor Kereta Api

Berdasarkan hierarki class di atas, yang menjadi superclass adalah kendaraan. Mobil,motor dan kereta api adalah subclass dari kendaraan. Contoh diatas memperlihatkan bahwa class mobil, motor dan kereta api dibuat melalui proses inheritance class kendaraan. Inisialisai objek dari kelas turunan sama dengan inisialasi objek pada umunya. mobil m= new mobil(); motor mo = new motor(); kereta_api ka = new kereta_api(); Inheritance akan menciptakan hirarki kelas sehingga tercipta relasi antar kelas. Kelas yang menjadi kelas induk pertama sekali disebut dengan kelas root. Kelas ini berdiri dengan sendirinya (tidak diturunkan dari kelas lainnya). Dari kelas root ini bisa diturunkan lagi menjadi kelas-kelas lainnya. Kelas baru bisa diciptakan dengan menurunkan kelas yang diturunkan dari kelas root dan begitu seterusnya. Hal ini akan membentuk inheritance chain yang menunjukkan urutan kelas-kelas tersebut seperti pada gambar dibawah ini. Kelas C diturunkan menjadi kelas C11 dan C12. Kelas C11 diturunkan menjadi kelas C21, C22, C23. Kelas C31diturunkan dari kelas C22. Hubungan turunan dalam dalam inheritance chain ini bersifat transitive. C11 dan C12 merupakan direct subclass dari kelas C. Kelas C21, C22, dan C23 merupakan indirect subclass dari kelas C. Inheritance chain ini hanya bisa dilihat secara linear ke atas. Artinya kelas C21 bisa mengetahui kelas-kelas yang

menjadi nenek moyangnya. Artinya kelas C21 akan mewarisi seluruh properti yang method yang dimiliki oleh kelas-kelas nenek moyangnya. Namun kelas C21 tidak mengetahui tentang keberadaan saudara-saudaranya yaitu kelas C22 dan C23. Interface Interface merupakan kelas yang tidak memiliki kode program ataupun data.interface hanya berisi nama-nama method tapi tidak ada implementasi kodenya. Oleh karena tidak memiliki data dan implementasi kode, objek tidak bisa diciptakan dari interface. Larangan dalam interface : Mendefinisikan property/attribut Mendefinisikan construktor atau destruktor Menentukan acces modifier pada method Menempatkan type data pada interface Diturunkan dari class atau struct Saran untuk pendefinisian interface dimulai dengan I. Method pada interface tidak perlu menggunakan acces modifier karena semua method akan bersifat public. interface iweapon string shoot(); string reload(); class shotgun : iweapon string iweapon.shoot()... string iweapon.reload()... Objek tidak bisa diciptakan dari sebuah interface. Kegunaan interface memang bukan sebagai cetakan untuk membuat objek akan tetapi lebih berfungsi sebagai kontrak. Interface harus diimplementasikan oleh kelas lain agar dapat berguna. Kelas lain yang mengimplementasikan sebuah interface harus mengimplementasikan seluruh method yang dideklarasikan dalam interface tersebut. Error akan muncul jika ada sebuah method yang dideklarasikan dalam interface tidak didefinisikan pada kelas yang mengimplementasikan interface tersebut. Sebuah kelas bisa mengimplementasikan lebih dari satu interface. Jika sebuah kelas mengimplementasikan lebih dari satu interface, maka setiap method yang ada dalam interfaceyang diimplementasikan harus didefinisikan dalam kelas yang mengimplementasikan interface tersebut. Hal ini berbeda dengan inheritance dimana pada inheritance sebuah kelas hanya boleh diturunkan dari 1 kelas lain, tidak boleh lebih

Abstract class Abstract class merupakan definisi class yang belum lengkap sehingga tidak dapat diinstansiasi. Abstract class berfungsi menghindari duplikasi data pada interface. Method pada abstaract class dapat berupa abstract method Perbedaan Interface dan Abstract Class Cara penggunaan Abstract Class adalah diturunkan, sedangkan cara penggunaan Interface adalah diimplementasikan. Pada C# lambang untuk menurunkan class dan menggunakan interfaces sama-sama menggunakan tanda : (titik dua). Tetapi untuk membedakan biasanya nama interface diawali dengan huruf I di depan misal: IEnumerable, IDisposable, dll. Sebuah class hanya dapat diturunkan dari satu abstract class tapi dapat menggunakan lebih dari satu interfaces. Method dan member variable pada abstract class boleh sudah ada isinya, sedangkan pada interfaces semua belum ada implementasinya. Pada Abstract Class semua method / member variable yang abstract harus diimplementasikan di class turunannya. Pada Interface semua member variable dan method harus diimplementasikan di class yang menggunakan interface tersebut. Access Modifier pada method dan member variable di Interface secara implisit adalah public. Sealed class dan sealed method Sealed class merupakan class yang tidak dapat diturunkan/diwariskan. Pada sealed class terdapat sealed method yang juga tidak dapat diturunkan. Penguncian kelas dilakukan dengan menggunakan keyword sealed seperti contoh dibawah ini. sealed class armor sealed string buy(); Penggunaan keyword sealed tersebut mengunci kelas yang bersangkutan untuk tidak bisa mewariskan properti dan method-nya ke kelas lain. Selain berlaku terhadap kelas, keyword sealed juga berlaku untuk method. Method yang menggunakan kata kunci sealed tidak akan diwariskan ke kelas turunannya.

Instruksi Praktikum 1. Bukalah IDE visual studio yang telah diinstal sebelumnya. Kemudian pilih New Project (ctrl + Shift + N). 2. Kemudian pilih console aplication dan beri nama Praktikum02 kemudian OK. 3. Buat kelas baru melalui menu Project > Add Class. Beri nama Inheritance 4. Salinlah kode berikut pada kelas Inheritance : 5. Pada program utama salinlah kode berikut :

6. Simpan dan jalankan (Ctrl+F5) proram tersebut. 7. Hasilnya seperti : Tugas Praktikum Kerjakan tugas yang diberikan oleh asisten/pengawas praktikum selama sisa jam praktikum. Kumpulkanlah jika telah selesai.