Anda di halaman 1dari 15

RENCANA PELAKSANAAN PEMBELAJARAN

(RPP)

KD
3.5 Memahami konsep pewarisan
4.5 Mengolah hubungan antara class dengan pola pewarisan

Pada Mata Pelajaran


Pemrograman Berorientasi Objek

Yang Disusun Oleh :

Martha Devi Indraswari


160533611401
S1 PTI B 2016

1
RENCANA PELAKSANAAN PEMBELAJARAN (RPP)
TAHUN PELAJARAN 2018- 2019

Nama Sekolah : SMK Negeri 3 Malang


Mata Pelajaran : Pemrograman Berorientasi Objek
Kelas/Semester : XI / Gasal
Materi Pokok : Pewarisan (Inheritance)
Alokasi Waktu : 4 x 45 Menit (1 x Pertemuan)

A. Kompetensi Inti
KI (3): Memahami, menerapkan, menganalisis, dan Mendiagnosis pengetahuan faktual,
konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja
Pemrograman Berorientasi Objek pada tingkat teknis, spesifik, detil, dan kompleks,
berkenaan dengan ilmu pengetahuan dan teknologi, seni, budaya, dan humaniora dalam
konteks pengembangan potensi diri sebagai bagian dari keluarga, sekolah, dunia kerja,
warga masyarakat nasional, regional, dan internasional.
KI (4): Melaksanakan tugas dengan menggunakan alat, informasi, dan prosedur kerja yang
lazim dilakukan dan menyelesaikan masalah sederhana sesuai dengan bidang dan
lingkup kerja Pemrograman Berorientasi Objek Menampilkan kinerja mandiri dengan
pengawasan langsung atasan berdasarkan mutu dan kuantitas terukur sesuai standar
kompetensi kerja dan dapat diberi tugas membimbing orang lain.

B. Kompetensi Dasar dan Indikator Pencapaian Kompetensi


3.5 Memahami konsep pewarisan
Indikator:
3.5.1 Memahami konsep dasar dan kontrol pewarisan di dalam suatu program
3.5.2 Memahami kata kunci super dan class final di dalam sintaks penulisan program
3.5.3 Memahami metode overloading dan overriding dalam implementasi pemrograman
berorientasi objek

4.5 Mengolah hubungan antara class dengan pola pewarisan


Indikator:
4.5.1 Menyajikan konsep dasar dan kontrol pewarisan di dalam suatu program
4.5.2 Menyajikan kata kunci super, class final, metode overloading, dan metode
overriding di dalam suatu program

2
4.5.3 Membuat satu program berorientasi objek yang mengimplementasikan konsep
pewarisan yang terdiri dari konsep pewarisan, kontrol pewarisan, kata kunci
super, class final, metode overloading, dan metode overriding

C. Tujuan Pembelajaran
1. Setelah mempelajari sumber-sumber belajar atau referensi, peserta didik dapat memahami
konsep dasar dan kontrol pewarisan di dalam pemrograman berorientasi objek dengan baik
dan benar.
2. Setelah memahami konsep dasar dan kontrol pewarisan, peserta didik dapat memahami kata
kunci super, class final, metode overloading, dan metode overriding di dalam pemrograman
berorientasi objek dengan baik dan benar.
3. Setelah mempelajari, memahami, dan mempraktikkan dasar kode program pewarisan, peserta
didik dapat membuat kata kunci super, class final, metode overloading, dan metode overriding
di dalam pemrograman berorientasi objek dengan baik dan benar.
4. Setelah berdiskusi dan menggali informasi, peserta didik dapat membuat sebuah program
berorientasi objek dengan menerapkan seluruh komponen pewarisan (konsep, kontrol, kata
kunci super, class final, metode overloading, metode overriding) dengan baik dan benar.

D. Materi Pembelajaran
Pembelajaran ini terkait dengan kajian tentang pewarisan, materi pembelajarannya secara rinci
adalah:
1. Konsep Dasar Pewarisan
2. Kontrol Pewarisan
3. Kata Kunci Super
4. Class Final
5. Metode Overloading
6. Metode Overriding
Materi pembelajaran ini secara garis besar terdapat pada modul pewarisan. (lampiran 1)

E. Pendekatan, Metode dan Model Pembelajaran


1. Pendekatan : Saintifik
2. Metode : Diskusi, Tanya Jawab, Praktik, dan Demonstrasi
3. Model : Discovery Learning

3
F. Alat dan Media Pembelajaran
1. Komputer atau Laptop
2. Software ‘Netbeans 8.2’ dan ‘JDK 8u121’
3. LCD Proyektor

G. Sumber Belajar
1. Eko Subiyantoro. 2013. Pemrograman Berorientasi Objek untuk SMA/MAK Kelas XI Semester
1. Jakarta: Kementerian Pendidikan dan Kebudayaan.

H. LANGKAH PEMBELAJARAN
Pertemuan ke- 1

KEGIATAN BELAJAR WAKTU KET


NO

a. Kegiatan Pendahuluan
10’
1. Membuka dan memulai pembelajaran dengan salam dan
berdo’a.
2. Menyampaikan tujuan dan kompetensi yang harus dikuasai
para peserta didik.
3. Membagi kelompok diskusi
b. Kegiatan Inti
Pemberian Rangsangan (Stimulation) 150’
1. Guru menjelaskan konsep dasar pewarisan dalam
pemrograman berorientasi objek melalui bahan tayangan
dengan sabar dan percaya diri.
2. Peserta didik mengamati penjelasan guru dengan tertib.
3. Guru menugaskan peserta didik membaca buku untuk
memahami konsep dasar pewarisan dalam pemrograman
berorientasi objek dengan sabar dan tekun.
4. Peserta didik membaca buku dan referensi lainnya yang
berkaitan dengan materi dengan sabar dan tekun.

4
KEGIATAN BELAJAR WAKTU KET
NO

Identifikasi Masalah (Problem Statement)


1. Guru meminta peserta didik untuk bertanya tentang konsep
dasar pewarisan dalam pemrograman berorientasi objek
dengan sabar dan percaya diri.
2. Peserta didik mengajukan pertanyaan dengan percaya diri.
3. Guru meminta peserta didik untuk berdiskusi secara
berkelompok tentang kontrol pewarisan, kata kunci super, class
final, metode overloading, dan metode overriding dengan baik
dan tertib.
4. Peserta didik berdiskusi secara berkelompok dengan baik dan
tertib.

Pengumpulan Data (Data Collection)


1. Guru meminta peserta didik untuk membuat dan
mengumpulkan rancangan dan algoritma program
mengimplementasikan konsep pewarisan yang terdiri dari kata
kunci super, class final, overloading, dan overriding dengan
baik dan benar.
2. Peserta didik membuat rancangan dan algoritma program
sesuai ketentuan, kemudian mengumpulkannya kepada guru.

Pembuktian (Verification)
1. Guru menginstruksikan peserta didik untuk membuat program
berorientasi objek yang mengimplementasikan konsep
pewarisan yang terdiri dari kata kunci super, class final,
overloading, dan overriding dengan baik dan benar.
2. Peserta didik membuat program berorientasi objek sesuai
instruksi, kemudian mempresentasikannya di depan kelas
(demonstrasi / unjuk kerja).

5
KEGIATAN BELAJAR WAKTU KET
NO

Menarik Kesimpulan (Generalization)


1. Guru menyimpulkan hasil program yang sudah dikerjakan oleh
peserta didik.
2. Peserta didik memerhatikan kesimpulan dan saran yang
disampaikan oleh guru.
3. Guru menyampaikan poin-poin penting (review) yang berkaitan
dengan pewarisan.
c. Kegiatan Penutup
1. Guru melakukan refleksi dengan menanyakan hal-hal yang 20’
kurang dimengerti peserta didik mengenai pewarisan.
2. Guru menyampaikan materi pertemuan berikutnya, yaitu
membahas tentang polimorphisme.
3. Guru mengakhiri pembelajaran dengan salam dan memimpin
berdo’a.

I. Penilaian Pembelajaran, Remedial, dan Pengayaan


1. Instrumen dan Teknik Penilaian
a) Teknik Penilaian (lampiran 2)
1) Tes Tertulis Individu
2) Tes Praktik Individu
b) Instrumen (lampiran 3)
1) Lembar Soal Tes Tertulis Individu
2) Lembar Soal Tes Praktik Individu

2. Analisis Hasil Penilaian

Mengetahui Malang, 5 Desember 2018


Kepala Sekolah Guru Mata Pelajaran

Muhammad Hadi, M.Pd. Martha Devi Indraswari, S.Pd.


NIP. 19710706 201101 1 002 NIP. 19980707 707707 7 007

6
LAMPIRAN 1
MATERI

1. Konsep Dasar Pewarisan


Konsep inheritance ini mengadopsi dunia nyata dimana suatu entitas/obyek dapat mempunyai
entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
Suatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class
turunan itu sendiri seringkali disebut subclass atau child class. Suatu subclass dapat mewarisi apa-
apa yang dipunyai oleh parent class. Karena suatu subclass dapat mewarisi apa apa yang dipunyai
oleh parent class-nya, maka member dari suatu subclass adalah terdiri dari apa-apa yang ia punyai
dan juga apa-apa yang ia warisi dari class parent-nya. Kesimpulannya, boleh dikatakan bahwa suatu
subclass adalah tidak lain hanya memperluas (extend) parent class-nya.

2. Kontrol Pewarisan
Pengaksesan member yang ada di parent class dari subclass-nya tidak jauh berbeda dengan
pengaksesan member subclass itu sendiri. Contoh: Suatu parent class dapat tidak mewariskan
sebagian member-nya kepada subclass-nya. Sejauh mana suatu member dapat diwariskan ke class
lain, ataupun suatu member dapat diakses dari class lain, sangat berhubungan dengan access control
(control pengaksesan). Di dalam bahasa Java, kontrol pengaksesan dapat digambarkan dalam tabel
berikut ini.
Tabel 1. Kontrol Pengaksesan
Class yang Package yang
Modifier Subclass Class Manapun
Sama Sama
Private Ya
Default Ya Ya
Protected Ya Ya Ya
Public Ya Ya Ya Ya

3. Kata Kunci Super


Subclass juga dapat memanggil constructor secara eksplisit dari superclass terdekat. Hal ini dilakukan
dengan pemanggil constructor ’super’. Pemanggil constructor ’super’ dalam constructor dari subclass
akan menghasilkan eksekusi dari superclass constructor yang bersangkutan, berdasar dari argumen
sebelumnya.
public Student(){
super();
System.out.println("Inside Student:Constructor");
}

4. Class Final
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.

7
Sebagai contoh, jika class Person dideklarasikan final, maka:
public final class Person
{
//area kode
}
Beberapa class dalam Java API dideklarasikan secara final untuk memastikan sifatnya tidak dapat di-
override. Contoh-contoh dari class ini adalah Integer, Double, dan String. Ini memungkinkan dalam
Java membuat method yang tidak dapat di-override. Method ini dapat kita panggil method final. Untuk
mendeklarasikan method menjadi final, cukup tambahkan kata kunci final ke dalam deklarasi method.
Contohnya, jika method getName dalam class Person dideklarasikan final, maka:
public final String getName(){
return name;
}
Method static juga secara otomatis final (tidak dapat di-override).

5. Metode Overloading
Overloading adalah suatu keadaan dimana beberapa method sekaligus dapat mempunyai nama yang
sama, akan tetapi mempunyai fungsionalitas yang berbeda. Overloading ini dapat terjadi pada class
yang sama atau pada suatu parent class dan subclass-nya. Overloading mempunyai ciri-ciri sebagai
berikut:
Nama method harus sama
Daftar parameter harus berbeda
Return type boleh sama, juga boleh berbeda

6. Metode Overriding
Overriding adalah suatu keadaan dimana method pada subclass menolak method pada parent class-
nya. Overriding mempunyai ciri-ciri sebagai berikut:
Nama method harus sama
Daftar parameter harus sama
Untuk beberapa pertimbangan, terkadang class asal perlu mempunyai implementasi berbeda dari
method yang khusus dari superclass tersebut. Oleh karena itulah, method overriding digunakan.
Subclass dapat mengesampingkan method yang didefinisikan dalam superclass dengan menyediakan
implementasi baru dari method tersebut.

8
LAMPIRAN 2
TEKNIK PENILAIAN

1) TES TERTULIS INDIVIDU


Mata Pelajaran : C-3 PEMROGRAMAN BERORIENTASI OBJEK
Model Pembelajaran : Discovery Learning
Kompetensi Dasar : 3.5 Memahami konsep pewarisan

Tabel 2. Kisi-kisi Soal Ranah Pengetahuan


Indikator Indikator Soal Jenis Soal Nomor Soal
3.5.1 Peserta didik dapat
Memahami konsep memahami konsep Lampiran 3 – Lembar
dasar dan kontrol dasar dan kontrol Tes Tertulis Soal Tes Tertulis
pewarisan di dalam pewarisan dalam Individu No. 1,2,3
suatu program suatu program.
3.5.2 Peserta didik dapat
Memahami kata kunci memahami kata kunci Lampiran 3 – Lembar
super dan class final super dan class final Tes Tertulis Soal Tes Tertulis
di dalam sintaks di dalam sintaks Individu No. 4,5,6
penulisan program penulisan program.
3.5.3 Peserta didik dapat
Memahami metode memahami metode
overloading dan overloading dan Lampiran 3 – Lembar
overriding dalam overriding dalam Tes Tertulis Soal Tes Tertulis
implementasi implementasi Individu No. 7,8,9,10
pemrograman pemrograman
berorientasi objek berorientasi objek.

Kunci Jawaban
1. B 6. A
2. C 7. C
3. A 8. D
4. D 9. B
5. A 10. C

Tabel 3. Rubrik Penilaian Ranah Pengetahuan


Nama Peserta Skor Setiap Nomor Soal Nilai
No.
Didik 1 2 3 4 5 6 7 8 9 10 Akhir
1
2

*Nilai Akhir Ranah Pengetahuan Berdasarkan Rerata dari Nilai Peserta Didik pada masing-masing
Indikator

INDIKATOR PENILAIAN RANAH PENGETAHUAN – TES TERTULIS


a. Jika menjawab dengan jawaban yang Benar, maka Skor 10
b. Jika menjawab dengan jawaban yang Salah, maka Skor 0

SKOR MAKSIMAL = 100

PENGOLAHAN NILAI
Jumlah skor yang diperoleh
Rumus pengolahan nilai adalah Nilai  x100  ____
jumlah skor maksimal

9
2) TES PRAKTIK INDIVIDU
Mata Pelajaran : C-3 PEMROGRAMAN BERORIENTASI OBJEK
Model Pembelajaran : Discovery Learning
Kompetensi Dasar : 4.5 Mengolah hubungan antara class dengan pola pewarisan

Tabel 4. Rubrik Penilaian Ranah Keterampilan


Kriteria Unjuk Kerja
IPK IPK IPK
4.5.1 4.5.2 4.5.3
Nilai
No. Nama Peserta Didik Lampiran 3 – Lampiran 3 – Lampiran 3 –
Akhir
Lembar Soal Lembar Soal Lembar Soal
Praktik Individu Praktik Individu Praktik Individu
No. 1 No. 2 No. 2

Tabel 5. Indikator Penilaian Ranah Keterampilan


Indikator Skor Kategori
Pencapaian
Kompetensi 1 2 3 4
(IPK)
4.5.1 Tidak dapat Dapat Dapat Dapat
Menyajikan menyajikan menyajikan menyajikan menyajikan
konsep dasar konsep dasar konsep dasar konsep dasar konsep dasar
dan kontrol dan kontrol dan kontrol dan kontrol dan kontrol
pewarisan di pewarisan di pewarisan di pewarisan di pewarisan di
dalam suatu dalam suatu dalam suatu dalam suatu dalam suatu
program program program dengan program dengan program dengan
tingkat kesalahan tingkat kesalahan baik dan benar
yang besar yang kecil
4.5.2 Tidak dapat Dapat Dapat Dapat
Menyajikan kata menyajikan kata menyajikan kata menyajikan kata menyajikan kata
kunci super, kunci super, kunci super, kunci super, kunci super,
class final, class final, class final, class final, class final,
metode metode metode metode metode
overloading, dan overloading, dan overloading, dan overloading, dan overloading, dan
metode metode metode metode metode
overriding di overriding di overriding di overriding di overriding di
dalam suatu dalam suatu dalam suatu dalam suatu dalam suatu
program program program dengan program dengan program dengan
tingkat kesalahan tingkat kesalahan baik dan benar
yang besar yang kecil
4.5.3 Tidak dapat Dapat membuat Dapat membuat Dapat membuat
Membuat satu membuat satu satu program satu program satu program
program program berorientasi berorientasi berorientasi
berorientasi berorientasi objek yang objek yang objek yang
objek yang objek yang mengimplementa mengimplementa mengimplementa
mengimplementa mengimplementa sikan konsep sikan konsep sikan konsep
sikan konsep sikan konsep pewarisan yang pewarisan yang pewarisan yang
pewarisan yang pewarisan yang terdiri dari terdiri dari terdiri dari
terdiri dari terdiri dari konsep konsep konsep
konsep konsep pewarisan, pewarisan, pewarisan,
pewarisan, pewarisan, kontrol kontrol kontrol

10
kontrol kontrol pewarisan, kata pewarisan, kata pewarisan, kata
pewarisan, kata pewarisan, kata kunci super, kunci super, kunci super,
kunci super, kunci super, class final, class final, class final,
class final, class final, metode metode metode
metode metode overloading, dan overloading, dan overloading, dan
overloading, dan overloading, dan metode metode metode
metode metode overriding overriding overriding
overriding overriding dengan tingkat dengan tingkat dengan baik dan
kesalahan yang kesalahan yang benar
besar kecil

PENGOLAHAN NILAI
Jumlah skor yang diperoleh
Rumus pengolahan nilai adalah Nilai  x100  ____
jumlah skor maksimal

11
LAMPIRAN 3
INSTRUMEN

1) LEMBAR SOAL TES TERTULIS INDIVIDU

1. Bagaimanakah kedudukan parent class dan subclass dalam suatu algoritma pewarisan?
a) Parent class berkedudukan teratas yang memiliki subclass di kelas lain.
b) Parent class berkedudukan teratas yang memiliki subclass di bawahnya, yang mana
subclass tersebut mewarisi sifat-sifat induknya.
c) Parent class berkedudukan teratas yang memiliki kelas anak atau subclass di bawahnya,
yang mana subclass tersebut tidak perlu mewarisi sifat-sifat induknya.
d) Parent class berkedudukan paling atas dan subclass paling bawah.

2. Perhatikan kode program berikut.


class galaksi{
String planet;
String kata(){
Return “Saturnus”;
}
}

Apa kesimpulan mengenai akses pada kode program di atas?


a) Menggunakan akses public, karena tidak ada kata kunci khusus
b) Menggunakan akses default, karena menggunakan kata kunci class
c) Menggunakan akses default, karena tidak ada kata kunci khusus
d) Menggunakan akses public, karena menggunakan kata kunci class

3. Berikut adalah ciri kontrol akses public yang benar adalah…


a) Dapat diakses oleh subclass-nya, class manapun, class yang sama, dan package yang
sama
b) Dapat diakses oleh subclass-nya namun tidak oleh class manapun
c) Dapat diakses oleh subclass-nya, class manapun, class yang sama, namun tidak oleh
package yang sama

4. Perhatikan kode program berikut.


B.java
package a;
class B extends A {
private int b;
public void setB(int nilai){
b=nilai;
}
public int getB(){
return b;
}
public void tampilkanNilai(){
System.out.println(""Nilai b : ""+getB());
}
}

Kode program di atas merupakan subclass. Parent class-nya adalah A.java yang memiliki method
yang diturunkan, yaitu tampilkanNilai(). Jika kode program di atas menyertakan kata kunci super,
maka kata kunci tersebut diletakkan di...
a) Di baris pertama di dalam method public int getB(), serta memasukkan kode super A
b) Di baris pertama di dalam method public int getB(), serta memasukkan kode
super.tampilkanNilai()
c) Di baris pertama di dalam method public int getB()
d) Di baris pertama di dalam method tampilkanNilai()
12
5. Tipe data yang digunakan dalam kelas final adalah…
a) String, Double, Integer
b) String, Float, Double
c) String, Float, Byte
d) String, Float, Integer

6. Perhatikan penggunaan kata kunci final di dalam kode program berikut.


Public final class jungle{
Public void jungleku(){
System.out.println(“Welcome to the Jungle”);
}
}
Public class river extends jungle{
Public void riverku(){
System.out.println(“Welcome to the River”)
}
}
Analisis yang tepat mengenai kata kunci final yang digunakan di dalam kode program di atas
adalah…
a) Program di atas tidak bisa berjalan karena class jungle menyertakan kata kunci final,
sehingga class jungle tidak bisa memiliki kelas turunan.
b) Program di atas bisa berjalan karena class jungle menyertakan kata kunci final, sehingga
class jungle bisa memiliki kelas turunan, yaitu class river.
c) Program di atas tidak bisa berjalan karena tidak adanya method, sehingga tidak bisa
melakukan overloading.
d) Program di atas bisa berjalan karena tidak adanya method, sehingga tidak bisa melakukan
overriding.

7. Metode overloading bertujuan untuk…


a) Mempersingkat alur program sehingga kompilasi tidak terlalu lama
b) Memudahkan debugging sehingga kesalahan lebih cepat diidentifikasi
c) Memudahkan penggunaan suatu method dengan fungsi yang hampir sama
d) Mempersingkat kode program sehingga kompilasi lebih cepat diidentifikasi

8. Perhatikan kode program berikut.


Public void setsisi(int s){
sisi=s;
}
Public void setsisi(double s){
sisi=s;
}
Salah satu karakteristik metode overloading yang terdapat di dalam kode program di atas adalah…
a) Jenis modifier sama
b) Tipe method sama
c) Nama variabel sama
d) Nama method sama

9. Perhatikan kode program berikut.


 Tumbuhan.java
package tumbuhan;
public class pohon {
public void test(){
System.out.println("Method 1");
}
}

 Akar.java
package tumbuhan;
13
class akar extends pohon {
@Override
public void test(){
System.out.println("Method 2");
}
}

Bagaimana kedua kelas di atas menerapkan metode overriding?


a) Kedua kelas berada di dalam package yang sama dengan keluaran berbeda.
b) Kedua kelas mempunyai method yang sama dengan keluaran berbeda.
c) Class akar menggunakan kata kunci extends sebagai identitas kelas turunan.
d) Class pohon tidak menggunakan kata kunci extends sebagai identitas kelas induk.

10. Perhatikan kode program berikut.


 A.java
package a;
public class A {
private int a;
public void setA(int nilai){
a=nilai;
}
public int getA(){
return a;
}
public void tampilkanNilai(){
System.out.println("Nilai a : "+getA());
}
}

 B.java
package a;
class B extends A {
private int b;
public void setB(int nilai){
b=nilai;
}
public int getB(){
return b;
}
@Override
public void tampilkanNilai(){
super.tampilkanNilai();
System.out.println("Nilai b : "+getB());
}
}

Kode program apa yang membuat kedua kelas di atas menerapkan accessor dan overriding?
a) Accessor tidak menggunakan return, overriding menggunakan kata kunci super.
b) Accessor tidak menggunakan parameter integer, overriding menggunakan parameter.
c) Accessor menggunakan return, overriding menggunakan method yang sama.
d) Accessor menggunakan parameter integer, overriding tidak menggunakan parameter.

14
2) LEMBAR SOAL TES PRAKTIK INDIVIDU

1. Buatlah program penerapan pewarisan (inheritance) pada bidang ilmu biologi!


2. Buatlah program penerapan pewarisan (inheritance) pada bidang perpustakaan!

15

Anda mungkin juga menyukai