MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

dokumen-dokumen yang mirip
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK

Jobsheet 09. Overloading and Overriding Method

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Object Oriented Programming 1

Pertemuan 11 Object Oriented Program

8 - Overriding dan Overloading

Pemrograman Berbasis Objek (Polimorfisme)

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

PEMROGRAMAN BERORIENTASI OBJEK

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

PEMROGRAMAN I. By : Sri Rezeki Candra Nursari

Sebagai contoh misalnya akan dibuat kelas turunan Silinder dari kelas dasar Lingkaran, maka dapat dituliskan :

MINGGU V : PBO (PEWARISAN)

LAPORAN RESMI INHERITANCE

Inheritance (Pewarisan) Pengertian dasar inheritance

IKG2I4 / Software Project I

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

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

RPS Mata Kuliah Fondasi Pemrograman dan Struktur Data Program Studi Sistem Informasi Halaman 1 dari 19

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

Pemrograman Berorientasi Objek Danu Wira Pangestu

Pewarisan (Inheritance)

Bahasa Pemrograman 2.

MODUL 4. Classes and Objects (part I)

Bahasa Pemrograman :: Polimorfism and Abstraction

KONSEP Pemrograman Berorientasi Objek KARMILASARI

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

RENCANA PEMBELAJARAN SEMESTER (RPS)

IKG2I4 / Software Project I

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

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

Modul II Object Oriented Programming

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Bahasa Pemrograman :: Inheritance

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

Gambar 1: Hirarki class

Pemrograman Berorientasi Objek

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

INHERITANCE. Gambar 1. Kelas Hierarki Java

PENGHITUNGAN JARI-JARI PADA OBJEK LINGKARAN DALAM BAHASA JAVA

KONTRAK KULIAH. A. Deskripsi. Mata kuliah ini menjelaskan konsep pemrograman berbasis objek, dengan menggunakan class.

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

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

MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi. Abstract & Interface

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

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

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

Pemrograman Berorientasi. Class dan Obyek 2

Konstruktor dan Polimorfisme

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Pewarisan, Polimorfisme, dan Interface

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

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

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Konsep Pemrograman Berorientasi Objek (OOP)

Praktikum 3 Konsep Class, Attribute dan Method

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

Pewarisan(Inheritance) Oleh: Mike Yuliana PENS-ITS

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

STRUKTUR DENGAN ARRAY DAN FUNCTION

Pada praktikum ini, anda akan mengimplementasikan sebuah game sederhana, bernama Smiley Face.

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

MODUL VII PEMROGRAMAN BERORIENTASI OBJEK

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

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

Pemrograman Berorientasi. Inheritance

Pemrograman Web. Pemrograman Berorientasi Objek. 8 Adam Hendra Brata

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

PRAKTIKUM I Class dan Obyek

Oleh: Edo Yonatan Koentjoro, S. Kom. Ada orang lagi ngakses, yang tersesat di dalam goa Ini kunci menuju sukses, dengan belajar dan berdoa -EdTan-

RENCANA PEMBELAJARAN SEMESTER (RPS)

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

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

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

Modul Praktikum Pemrograman

BAB 1 PENDAHULUAN. Dalam pengembangan perangkat lunak, tim developer membangun cetak

Modul Praktikum 1 Pemograman Berorientasi Objek

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

Inheritance dan Kata Kunci static

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

KONSEP OBJEK ORIENTASI PROGRAM

PERTEMUAN 5 OOP. Objektif : Praktikan mengetahui konsep OOP. Praktikan dapat membuat program sederhana dengan konsep OOP.

INTERAKSI ANTAR OBJECT

Class dan Object. PBO/Java/Ayuliana/Revisi

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

PERTEMUAN 3 OBJEK DAN CLASS

Inheritance dan Polimorfisme

Modul Pelatihan : Pembuatan Game Animasi Menggunakan Greenfoot

subclass class manapun private default protected public package yang sama

Class Diagram Class diagram mendeskripsikan jenis-jenis objek dalam system dan berbagai macam hubungan statis yang terdapat di antara mereka.

Transkripsi:

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK Deskripsi Singkat Praktikum pemrograman berorientasi objek adalah praktikum yang menggunakan bahasa Java sebagai bantuan dalam memahami konsep pemrograman berorientasi objek. Materi praktikum berisi teori, latihan dan soal pemrograman. Tujuan 1. Memahami konsep polimorfisme. 2. Menggunakan konsep polimorfisme pada pemrograman berorientasi objek. Prasyarat Siswa telah mendapat pelajaran mata kuliah Algoritma dan Pemrograman. Materi 1 : Konsep Penting terdiri dari 2 kata yaitu poly yang berarti banyak dan morphism yang berarti bentuk. Jadi arti ringkas dari polimorfisme adalah banyak bentuk. Pada pemrograman berorientasi objek, polimorfisme bermakna satu pesan, banyak perilaku. berkaitan dengan pewarisan. Pada pewarisan, sub-kelas dapat mengoverride perilaku/method dari super-kelas. Method yang dioverride namanya tetap sama tapi perilakunya berbeda. Pada polimorfisme variabel, satu variabel dapat menghandel banyak objek yang berbeda tipe. Jadi pada polimorfisme method, satu nama method yang sama dapat menghandel banyak objek yang berbeda tipe yang memanggil method yang sama asalkan ia memiliki sifat pewarisan. Method bernama sama tersebut terhasil dari proses method overriding. Pemanggilan method yang sama akan menghasilkan method overloading. Level akses yang berkait erat dengan pewarisan adalah protected. Pada atribut super-kelas yang bertipe protected, semua sub-kelas dari super-kelas tersebut dapat mengaksesnya.

LATIHAN 1 Cari di internet mengenai method overriding dan method overloading. Pahami konsep tersebut dan kaitannya dengan polimorfisme dan inheritance. Kemudian cari contoh berkaitan dengan kedua konsep tersebut. LATIHAN 2 Buka software BlueJ, dan buka projek dome-v1 yang terletak di folder chapter08. Buat objek CD dan DVD, masukkan data CD dan DVD seperti berikut: CD: DVD: Kemudian addcd dan adddvd ke dalam objek Database. Selanjutnya cetak data dengan menggunakan method list. Perhatikan hasil output yang terhasil. Berikutnya buka projek dome-v2 yang terletak di folder chapter08. Buat objek CD dan DVD, masukkan data CD dan DVD seperti yang di atas. Tambahkan objek CD dan DVD ke dalam objek Database. Selanjutnya cetak data dengan menggunakan method list. Perhatikan hasil output yang terhasil. Kenapa hasilnya berbeda dan tidak lengkap?

Hal ini karena method print hanya terdapat pada kelas Item yang hanya mampu mencetak data yang ada pada dirinya sendiri (dan tidak bisa mencetak data yang ada pada sub-kelas). Pada projek dome-v2, Open Editor untuk melihat source code. Coba pindahkan method print dari kelas Item ke kelas CD dan DVD. Compile. Apa yang terjadi? Error yang muncul sebab pada kelas CD dan DVD tidak dapat mengakses atribut yang ada pada superkelas (kelas Item) dan error pada kelas Database karena tidak dapat menemukan method print. Error pertama disebabkan atribut yang bertipe private. Error yang kedua disebabkan tidak adanya method overriding. Sekarang coba pindahkan kembali method print ke kelas Item. Di kelas CD, tambahkan method print yang mencetak nilai atributnya yaitu artist dan numberoftracks. Dan di kelas DVD, tambahkan method print yang mencetak nilai atributnya yaitu director. Compile. Apa yang terhasil pada output? Coba buka projek dome-v3 pada folder chapter09. Compile. Perhatikan outputnya. Apa yang dapat anda simpulkan? Pada projek dome-v3, terdapat method print yang dioverride oleh kelas CD dan DVD. Hal ini menyebabkan method list pada Database melihat terlebih dahulu ke method yang ada di sub-kelas yaitu CD dan DVD. Karena method print di sub-kelas CD dan DVD sudah ketemu, maka method print yang ada di super-kelas (kelas Item) tidak dilakukan lagi. Agar method print yang ada di kelas Item juga dilaksanakan, maka kita dapat memanggilnya melalui method print pada sub-kelas dengan menggunakan kata kunci super. super.namamethod(parameter) Pada projek dome-v3, coba tambahkan panggilan method print ke super-kelasnya. Contoh:

Lakukan hal yang sama yaitu menambahkan super.print() ke method print kelas DVD. Compile. Perhatikan outputnya. Apa yang dapat anda simpulkan? Ternyata hasil cetak sudah mendekati hasil cetak pada projek dome-v1. Pada statement: item.print() di dalam method list() pada kelas Database, method print yang dipanggil dapat saling berganti-ganti antara method print CD dan DVD, tergantung kepada tipe dinamik objek yang disimpan pada Item. Semua yang telah kita kerjakan pada latihan 2 ini adalah konsep dari polimorfisme. Pahami dan diskusikan. SOAL-SOAL 1. Buatlah kelas Lingkaran dan kelas Titik. Kelas Titik merupakan sub-kelas dari kelas Lingkaran. Deskripsi kedua kelas tersebut dapat dilihat pada kelas diagram di bawah: Lingkaran - jari-jari + luas() + keliling() Titik - jari-jari + luas() + keliling() Tambahkan method constructor dan method-method yang lain jika ada. Aplikasikan konsep pewarisan dan polimorfisme yang telah anda pelajari. (Tanda bermakna akses private, tanda + bermakna akses public, tanda # bermakna akses protected) Buatlah suatu kelas lain yang mengandung method void main, dan coba kelas Lingkaran dan Titik yang telah dibuat, contoh: Lingkaran l1 = new Lingkaran(5); Titik l2 = new Titik();

Lingkaran l3 = new Titik(); System.out.println(l1.luas()); System.out.println(l2.luas()); System.out.println(l3.luas()); System.out.println(l1.keliling()); System.out.println(l2.keliling()); System.out.println(l3.keliling());