PERTEMUAN 3 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

dokumen-dokumen yang mirip
PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

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

PEWARISAN D E W I S A R T I K A, M. K O M

Inheritance dan Polimorfisme

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

Pertemuan 11 Object Oriented Program

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Konsep Dasar Pemrograman Berorientasi Objek

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

Bag 4.4 Bagian ini sudah cukup menjelaskan dan memberikan gambaran yang tepat tentang JVM (Java Virtual Machine).

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

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

JOBSHEET 8 INHERITANCE (PEWARISAN)

PRAKTIKUM I Class dan Obyek

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

Pemrograman Berorientasi Objek Danu Wira Pangestu

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Inheritance dan Kata Kunci static

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

Pemrograman Berorientasi. Inheritance

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

[Lanjutan] Nurochman

STRUKTUR DENGAN ARRAY DAN FUNCTION

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

Inheritance (Pewarisan) Pengertian dasar inheritance

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

Pewarisan atau Inheritance

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

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

KONSEP OOP: PEWARISAN / INHERITANCE

TAMBAHAN MATERI BAB 15 BUKU DIKLAT PEMROGRAMAN KOMPUTER 2

int spasi = 0; hurufhidup = 0;

PRAKTIKUM OBJECT ORIENTED PROGRAMING

Inheritance dan Polimorfisme

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

(INHERITANCE) Nurochman

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

IKG2I4 / Software Project I

Konsep Pemrograman Berbasis Obyek

Bahasa Pemrograman 2.

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Gambar 1: Hirarki class

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Dengan menggunakan encapsulation kita dapat membatasi akses langsung suatu class atau program kecuali melalui suatu method yang sudah diberikan.

KONSEP OOP: PEWARISAN / INHERITANCE

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

Object Oriented Programming 1

SILABUS MATA KULIAH PEMROGRAMAN JAVA

BAB 12 ENKAPSULASI, INHERITANCE DAN POLIMORPISME

Oleh : Rahmady Liyantanto

INTERAKSI ANTAR OBJECT

Bahasa Pemrograman :: Polimorfism and Abstraction

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

Object Oriented Programming LOGO

Pewarisan, Polimorfisme, dan Interface

Kurikulum Qt. Chapter 8 - Polymorphism. Polimorfisme. Problema Pewarisan Tunggal (Single Inheritance)

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

1.Tujuan. 2. Latar Belakang. Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final

:: abstract class + interface. :: abstract class

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

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

Class & Object 2. Imam Fahrur Rozi

Bahasa Pemrograman II Modul 1 : Pemrograman Berbasis Objek

BAB 3 CLASS DAN OBJECT. Tujuan:

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

Pemrograman Berorientasi. Abstract & Interface

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

Bahasa Pemrograman 2.

TUGAS DASAR PEMROGRAMAN KELAS C DOSEN PENGAMPU : IKA ATSARI DEWI, STP, MP

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

MEMORI. Gambar 1. Hirarki Memori

Pemrograman Berbasis Objek (Polimorfisme)

subclass class manapun private default protected public package yang sama

Pemrograman Berorientasi Objek INHERITANCE

Michael Lionardi

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

PEMROGRAMAN BERORIENTASI OBJEK

8 - Overriding dan Overloading

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Konsep Pemrograman Berorientasi Pada Objek Dengan. Java Netbeans

PEMROGRAMAN BERORIENTASI OBJEK

Praktikum 7. Dasar-dasar OOP di Java

Konsep Lanjut Pemrograman Objek

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

ABSTRACT CLASS DAN INTERFACE

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

INHERITANCE. Gambar 1. Kelas Hierarki Java

Modul Bahasa Pemrograman 1

Transkripsi:

PERTEMUAN 3 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

Pengertian Pewarisan (Inheritance) yaitu Hubungan dua buah kelas atau lebih dimana ada kelas yang memiliki atribut dan metode yang sama dengan kelas lain beserta atribut dan motode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya Kelas yang merupakan kelas turunan biasa disebut kelas anak (subclass) dan kela yang menjadi dasar penurunan adalah kelas orang tua (superclass) Biasanya kelas anak adalah kelas dengan jenis yang khusus dari kelas orang tua.

Ilustrasi kelas inheritance Ilustrasi lingkup kelas inheritance

Misalkan yaitu kelas manusia dan kelas karyawan maka kelas manusia akan menjadi orangtuan karena bagaimanapun seorang karyawan adalah manusia. Kelas manusia memilki atribut nama, alamat, no_ktp, no_telepon dll sedangkan karyawan memiliki atribut yang dimiliki oleh manusia di tambah dengan atribut nomor_pegawai, jabatan, departemen dll Karena semua atriut manusia dibutuhkan oleh karyawan dn karyawan membutuhkan atribut tambahan nomor_pegawai, jabatan dan departemen maka disimpilkan bahwa kelas karyawan merupakan kelas turunan dari manusia karena semua atribut manusia dibutuhkan oleh karyawan

Ilustrasi Kelas Pewarisan Secara Hirarki

class Manusia private nama : string private alamat : string private no_ktp : string private no_telepon : string manusia() {end constructor} procedure setnama(nama : string) this.nama <- nama {end procedure} procedure SetAlamat (alamat : string) this.alamat <- alamat {end procedure} function getnama () -> string -> this.nama function getalamat() -> string -> this.alamat function getnoktp() -> string -> this.no_ktp function getnotelepon() -> string -> this.no_telepon {end class procedure setnoktp (no_ktp : string) this.no_ktp <- no_ktp {end procedure} procedure setnotelepon (no_telepon : string) this.no_telepon <- no_telepon {end procedure} Mendeklarasikan kelas manusia sebagai kelas manusia disertai metode get set

class Karyawan : Manusia private nomor_pegawai : string private jabatan : string private departemen : string Karyawan () {end constructor} procedure setnomorpegawai (nomor_pegawai : string this.nomor_pegawai <- nomor_pegawai {end procedure} procedure setjabatan(jabatan : string) this.jabatan <- jabatan {end procedure} function getnomorpegawai () -> string -> this.nomor_pegawai function getjabatan () -> string -> this.jabatan function getdepartmen () -> string -> this.departemen {end class} procedure setdepartemen (departemen : string) this.departemen <- departemen {end procedure} Mendeklarasikan kelas karyawan sebagai kelas anak atau kelas turunan dari kelas manusia beserta metode get dan set milik kelas karyawan

class Main procedure main() kmanusia : Manusia kkaryawan : Karyawan kmanusia <- new Manusia() kmanusia.setnama( Gina ) kmanusia.setalamat( Bandung ) kmanusia.setnoktp ( 320.120.777 ) kmanusia.setnotelepon( 08188899977 ) output (kmanusia.getnama () ) output (kmanusia.getalamat () ) output (kmanusia.getnotelepon() ) kkaryawan <- new Karyawan() kkaryawan.setnama( Gina ) kkaryawan.setnoktp( 32-.120.777 ) kkaryawan.setalamat( Bandung ) kkaryawan.setnotelepon( 081888899977 ) kkaryawan.setnomorpegawai( 13202020 ) kkaryawan.setjabatan( - ) kkaryawan.setjabatan( - ) output (kkaryawan.getnama () ) output (kkaryawan.getalamat () ) output (kkaryawan.getnoktp () ) output (kkaryawan.getnotelepon () ) output (kkaryawan.getnomorpegawai () ) output (kkaryawan.getjabatan () ) output (kkaryawan.getdepartemen () ) {end procedure} {end class} Mendeklarasikan kelas main atau kelas utama yang mengeksekusi kelas-kelas lain seperti kelas manusia dan kelas karyawan. Kelas main mengisi semua atribut pada kelas manusia dan kelas karyawan menggunakan metode set dan menampilkan isi semua atribut

Kelas anak atau kelas turunan dari kelas lain juga memiliki semua atribut yang dimiliki oleh kelas orangtuanya. Kelas anak jika dieksekusiadalah sebuah onjek yang berdiri sendiri dan memiliki semua atribut orang tua yang bisa diisi, sedangkan kelas orang tua juga merupakan objek sendiri Misalkan didalam kelas orangtua memiliki atribut nama, maka kelas anak juga memiliki atribut nama yang harus diisi masingmasing. Kelas anak dan kelas orangtua jika dieksekusi akan menjadi objek yang berbeda dan atribut masing-masing Atribut kelas orangtua + atribut kelas anak Kelas Anak Atribut kelas orangtua Kelas Orangtua

class Titik private x : integer private y : integer Titik () x <- 0 y <- 0 {end Titik} public getx () -> integer -> x {end getx} class Titik3D : Titik private z : integer {end class} Titik3D () z <- 0 {end Titik 3D} public getz () -> integer -> z {end getz} public gety () -> integer -> y {end gety} (end class}

Keuntungan dari pewarisan adalah tidak perlu mengutak atik kode kelas yang membutuhkan tambahan atribut atau metode saja karena tinggal membuat kelas turunannya tanpa harus mengubah kode kelas dasarnya Kelas dasar akan mewariskan semua atribut dan metodenya kecuali konstruktor dan destruktor yang memiliki izin akses public dan protector ke kelas turunannya dengan izin akses yang sama dengan kelas dasar Ketika sebuah kelas urunan objeknya saat eksekusi, maka secara implisit konstruktor kelas dasar dipanggil dahuli baru kemudian konstruktor kelas turunannya dijalankan. Begitu juga saat objek dimusnahkan maka sestruktor kelas dasar atau orangtua akan dijalankan diawal destruktor kelas turunan atau kelas anak

Kelas turunan juga dapat mengimplementasikan metode yang ada pada kelas dasar, maka pada saat eksekusi yang dipanggil adalah metode yang ada pada kelas turunan class Titik3D : Titik private z : integer {end class} Titik3D() z <- 0 {end constructor} public function getx() -> integer -> 0 public function getz() -> integer -> z Maka pada saat metode getx() dijalankan dengan kode: Titik3D p <- new Titik3D() Integer x <- p.getx() Variable x akan berisi nilai 0 karena yang dijalankan adalah metode getx yang ada pada kelas Titik3D

Bahasa pemograman Java dan PHP hanya mendukung pewarisan tunggal (single inheritance) yaitu kelas turunan atau kelas anak hanya dapat diturunkan dari sebuah kelas dasar atau kelas orangtua. Bahasa C++ mendukung pewarisan lebih dari satu atau pewarisan ganda atau jamak (multiple inheritance dimana sebuah kelas turunan atau kelas anak dapat diturunkan dari satu atau lebih kelas dasar atau kelas orangtua Kelas Aset Kelas Pabrik Kelas Guda ng

Jika orangtua kelas anak lebih dari satu kelas, maka semua metode dan atribut yang bersifat public dan protected dari semua kelas orangtua akan dimiliki secara otomatis oleh kelas anak Metode dan atribut kelas turunan atau kelas anak tidak dapat diakses langsung pada kelas dasar atau orangtua tanpa mendeklarasikan perintah pembuatan objek anak (new objek anak)

Buatlah kelas-kelas pewarisan sesuai dengan gambar berikut ini

Buatlah kelas-kelas pewarisan sesuai dengan gambar berikut ini