• Tidak ada hasil yang ditemukan

konsep polymorphism dengan overloading dan overriding

N/A
N/A
Riri Syafitri

Academic year: 2023

Membagikan "konsep polymorphism dengan overloading dan overriding"

Copied!
14
0
0

Teks penuh

(1)

RENCANA PELAKSANAAN PEMBELAJARAN Oleh : Vickky Listyaningsih, S.Kom.,M.Kom.

Satuan Pendidikan : SMK

Kelas / Semester : XI Rekayasa Perangkat Lunak / 3

Tema : Sifat-Sifat Pemrograman Berorientasi Objek

Sub Tema : encapsulation, inheritance, polymorphism dengan overloading dan overriding

Pembelajaran ke : 1

Alokasi Waktu : 6 x 45 Menit

A. TUJUAN PEMBELAJARAN

1. Siswa dapat memahami dan menjelaskan konsep encapsulation dalam melindungi data dan informasi

2. Siswa dapat memahami dan membuat kode program encapsulation dalam melindungi data dan informasi

3. Siswa dapat memahami dan menjelaskan konsep inheritance atau pewarisan

4. Siswa dapat memahami dan membuat hubungan antara class dengan pola pewarisan 5. Siswa dapat memahami dan menjelaskan konsep polymorphism dengan overloading dan

overriding

6. Siswa dapat memahami dan membuat kode program sesuai konsep polymorphism dengan overloading dan overriding

B. KEGIATAN PEMBELAJARAN Pendahuluan

1. Guru mempersiapkan secara fisik dan psikis untuk mengikuti pembelajaran dengan diawali berdoa, menanyakan kehadiran siswa, kebersihan dan kerapian kelas, kesiapan buku tulis dan sumber belajar

2. Guru memberi motivasi dengan membimbing siswa memahami permasalahan yang berkaitan dengan encapsulation, inheritance, dan polymorphism

3. Guru mengingatkan kembali tentang konsep-konsep yang telah dipelajari oleh siswa yang berhubungan dengan materi baru yang akan dipelajari

4. Guru melakukan apersepsi melalui tanya jawab mengenai encapsulation, inheritance, dan polymorphism

(2)

5. Guru menyampaikan kompetensi dasar dan tujuan pembelajaran yang akan dicapai 6. Guru membimbing siswa melalui tanya jawab tentang manfaat proses pembelajaran 7. Guru menjelaskan materi dan kegiatan pembelajaran yang akan dilakukan siswa yaitu

menggunakan model Problem Base Learning, metode Cooperative Learning dengan Jigsaw

Kegiatan Inti

1. Guru membagi siswa menjadi 5 kelompok yang terdiri dari 3 orang, kelompok ini dinamakan kelompok asal

2. Setiap siswa dalam kelompok diberi materi yang berbeda.

3. Setiap siswa dengan materi yang sama akan berkumpul dalam kelompok yang dinamakan kelompok ahli. Dalam kelompok ahli, siswa mendiskusikan bagian materi pembelajaran yang sama, serta menyusun rencana bagaimana menyampaikan kepada temannya jika kembali ke kelompok asal. Setiap anggota kelompok ahli akan kembali ke kelompok asal memberikan informasi yang telah diperoleh atau dipelajari dalam kelompok ahli. Guru memfasilitasi diskusi kelompok baik yang ada pada kelompok ahli maupun kelompok asal.

4. Setelah selesai melakukan diskusi, guru meminta siswa untuk kembali ke kelompok asal dan meminta setiap siswa untuk mempresentasikan topik hasil diskusi dari kelompok ahli secara bergantian kepada anggota kelompok asal. Siswa lain diberi kesempatan untuk mengajukan pertanyaan sebagai klarifikasi.

5. Guru mengelilingi satu kelompok ke kelompok lain untuk mengamati proses.

6. Guru meminta siswa untuk membuat rangkuman dari hasil diskusi kelompoknya dan menyuruh perwakilan kelompok untuk menyampaikan kesimpulan diskusi agar guru dapat menyamakan persepsi pada materi pembelajaran yang telah didiskusikan.

Penutup

1. Guru membimbing siswa untuk menyimpulkan materi pembelajaran 2. Guru melakukan refleksi atas manfaat proses pembelajaran

3. Siswa mengerjakan tes tertulis secara individual menggunakan LMS. hasil nilai yang diperoleh tiap anggota kelompok dirata-rata untuk menentukan predikat kelompok.

4. Guru memberikan penghargaan pada kelompok berdasarkan rata-rata skor tes yang diperoleh anggota.

5. Guru meminta siswa untuk meningkatkan pemahamannya tentang konsep, prinsip, atau teori yang telah dipelajari dari buku-buku pelajaran yang relevan atau sumber informasi lainnya

(3)

6. Guru tugas literasi untuk rencana pembelajaran pada pertemuan berikutnya 7. Guru menutup pelajaran

C. PENILAIAN PEMBELAJARAN Penilaian Pengetahuan

Tes Tertulis (Pilihan Ganda)

Pilihlah satu jawaban yang paling tepat di bawah ini !

1. Pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi adalah pengertian ….

a. enkapsulasi d. constructor

b. inheritance e. interfaces

c. polimorfisme

2. Sesuatu yang memiliki banyak bentuk, yaitu memiliki nama sama, tetapi memiliki behaviour (method) yang berbeda adalah ….

a. enkapsulasi d. constructor

b. inheritance e. interfaces

c. polimorfisme

3. Untuk membuat objek di Java menggunakan perintah keyword ….

a. Main d. new

b. Void e. final

c. public

4. Dalam pemrograman Java ada tiga istilah dasar yang selalu digunakan yaitu class, method dan variabel. Suatu blueprint atau cetakan untuk menciptakan suatu instant dari object dalam pemrograman Java disebut ….

a. Inheritance d. class

b. Method e. objek

c. variabel

5. Cara untuk menyembunyikan detail informasi dari suatu class adalah ….

a. Constructor d. interfaces

b. Inheritance e. enkapsulasi

c. Polymorfisme

6. Perintah untuk mengeluarkan outputan yang benar adalah ....

a. System.Out.Println d. Readln b. System.out.println e. void main c. Writeln

(4)

7. Kumpulan beberapa perintah yang bisa dieksekusi bersama-sama di suatu class lain (dipanggil menggunakan objek) disebut ….

a. Class d. method

b. Package e. project

c. Objek

8. Berikut yang merupakan editor di Java adalah ….

a. Notepad, Eclipse, NetBeans d. Eclipse, Microsoft, Google b. Vsco, Inshot, VN, PS e. NetBeans, Notepad, Xampp c. Notepad, Inshot, NetBeans

9. Berikut ini merupakan ciri-ciri yang benar tentang prosedur ….

a. Dideklarasikan dengan menggunakan tipeData dan diikuti nama function b. Hanya dapat menjalankan satu hasil perintah atau satu value

c. Untuk menghasilkan atau mencetak nilai (value) menggunakan perintah return d. Menggunakan keyword void

e. Menggunakan keyword extends

10. access modifier yang digunakan pada java yang dapat diakses oleh semuanya adalah ….

a. Default d. Protected

b. Public e. Final

c. Private Kunci Jawaban 1. B

2. C 3. D 4. D 5. E 6. B 7. D 8. A 9. E 10. B

Nilai Pengetahuan = 10 soal x 10 = 100

(5)

Penilaian Keterampilan Penilaian Diskusi

No Nama Aspek Penilaian

NA Keaktifan Disiplin Kerjasama Hasil Diskusi

Rubrik Penilaian Diskusi

No Aspek Penilaian Rubrik Penilaian

<70 70-79 80-89 90-100

1 Keaktifan Kurang aktif

dalam kelompok

Cukup aktif dalam kelompok

Aktif dalam kelompok

Sangat aktif dalam kelompok

2 Disiplin Kurang

disiplin dalam mengerjakan tugas kelompok

Cukup disiplin dalam mengerjakan tugas kelompok

Disiplin dalam mengerjakan tugas kelompok

Sangat Disiplin dalam mengerjakan tugas kelompok

3 Kerjasama Kurang dapat

berkerjasama dalam kelompok

Cukup dapat berkerjasama dalam kelompok

Dapat berkerjasama dalam kelompok

Sangat dapat berkerjasama dalam kelompok

4 Hasil Diskusi Hasil diskusi kurang tepat

Hasil diskusi cukup tepat

Hasil diskusi tepat

Hasil diskusi sangat tepat

Nilai Akhir Diskusi =

Jumlah nilai semua aspek penilaian 4

Penilaian Sikap

No Nama

Aspek Penilaian

NA Jujur Tanggung

jawab

Peduli (gotong- royong, toleran)

Santun

(6)

Rubrik Penilaian Sikap

No Aspek Penilaian Rubrik Penilaian

<70 70-79 80-89 90-100

1 Jujur Kurang jujur Cukup jujur Jujur Sangat jujur

2 Tanggung jawab Kurang

tanggung jawab

Cukup tanggung jawab

Tanggung jawab

Sangat tanggung jawab

3 Peduli (gotong-royong, toleran)

Kurang peduli

Cukup peduli Peduli Sangat peduli

4 Santun Kurang

santun

Cukup santun

Santun Sangat santun

Nilai Akhir Sikap =

Jumlah nilai semua aspek penilaian 4

(7)

MATERI

A. Enkapsulasi

Enkapsulasi adalah suatu proses membungkus sebuah atribut (variabel) dedalam suatu method. Di Enkapsulasi variabel akan disembunyikan dari class dan package lain (private) dan hanya dapat diakses dan diubah value atributnya jika menggunakan suatu method.

Manfaat dari enkapsulasi yaitu : 1. Modularitas

Modularitas yaitu kode sumber dari sebuah objek dapat dikelola secara independen dari kode objek lain.

2. Information hiding

Information hiding yaitu menyembungikan informasi-informasi yang tidak perlu diketahui objek lain.

3. Melakukan validasi nilai Proses enkapsulasi yaitu :

1. Class dan method menggunakan hak akses public. Agar dapat diakses semuanya.

2. Deklarasikan atributnya menggunakan hak akses private. Untuk dapat mengakses atribut maka dibuatkanlah method GET dan SET .

3. Buatkan 2 method (per atribut) untuk mengambil value atribut (variabel) dan untuk mengubah atau memodifikasi value dari atribut.

Untuk lebih jelas perhatikan contoh latihan menggunakan enkapsulasi berikut : Buat Package latEnkapsulasi, kemudian buat classSiswa dan classMainEnkapsulasi.

(8)

Gambar 1. Penggunaan enkapsulasi dalam class Siswa

Gambar 2. Pemanggilan enkapsulasi pada class MainEnkapsulasi

Gambar 3. Tampilan program penggunaan enkapsulasi

(9)

B. Pewarisan

Setelah mempelajari tentang enkapsulasi dan interface kita akan belajar mengenai pewarisan atau inheritance. Sebelum mengetahui apa itu pewarisan, perhatikan bagan berikut ini.

Gambar 4. Pewarisan

Gambar tersebut menunjukkan ilustrasi tentang pewarisan. Pewarisan dari induk class (superclass) kepada anak class (subclass). Induk class dalam hal ini berupa bangun datar, yang memiliki anak class yaitu persegi, segitiga dan belah ketupat.

Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Class yang diwarisi class lain disebut dengan subclass (anak class), sedangkan class yang mewarisi disebut superclass (induk class). Salah satu dari keuntungan inheritance adalah subclass dapat merubah atau memodifikasi apa yang telah diwariskan oleh superclass. Untuk membuat class yang dapat mewarisi sebuah class yang lain, hal yang diperlukan adalah mendeklarasikan class tersebut menggunakan extends. Berikut penulisan deklarasi pewarisan :

Class namaSubClass extends namaParentClass {

// definisi class }

Perhatikan contoh kasus program berikut :

Jika diketahui parent class adalah BangunDatar, dan subclass berupa Persegi dan Segitiga.

BangunDatar memiliki atribut dan method, yang dapat digunakan pada class Persegi dan class Segitiga. Bagaimana penerapannya dalam program ?

Langkah penyelesaiannya adalah : 1. Buat parent class BagunDatar 2. Buat subclass Persegi

3. Buat subclass Segitiga

4. Buat class Main utk memanggil program dan running

Bangun Datar

Persegi Segitiga Belah

ketupat

(10)

Gambar 5. Penerapan Pewarisan

(11)

Gambar 6. Hasil Penerapan Pewarisan

Dari contoh kasus di atas dapat disimpulkan mengenai manfaat pewarisan yaitu : 1. Pewarisan bersifat reusable (dapat digunakan kembali)

2. Kemudahan dalam me-mange kelas yang memiliki data dan method yang sama

3. Sekali perilaku (method) didefinisikan pada parent class, maka method tersebut secara otomatis diwariskan ke subclass. Sehingga hanya perlu menulis method sekali dan bisa digunakan untuk semua subclassnya

4. Sekali property atau field didefinisikan di parent class, maka semua propertynya diwariskan ke semua subclass. Dengan kata lain, parentclass dan subclass berbagi property

5. Subclass hanya perlu mengimplementasikan jika ada perbedaan dengan parent-nya.

C. Polymorfisme

Polimorfisme mempunyai makna sesuatu yang memiliki banyak bentuk, yaitu memiliki nama sama, tetapi memiliki behaviour (method) yang berbeda. Perhatikan diagram di bawah ini !

Gambar 7. Polimorfisme

Class Hewan yang merupakan class induk (superclass) dari class Sapi dan Kucing mempunyai method suara(). Class-class anak (subclass) juga mempunyai method suara().

Meskipun ketiga class tersebut mempunyai nama method yang sama, tetapi isi (source code/yang dilakukan/output) dari masing-masing method tersebut berbeda.

(12)

Jika kita menginginkan sebuah objek yang dapat memanggil setiap method (yaitu method suara) yang ada pada setiap class (pada superclass maupun subclass), maka gunakanlah teknik Polimorfisme. Polimorfisme hanya berlaku pada method dan tidak berlaku untuk atribut. Untuk mendapatkan operasi Polimorfisme dari suatu method, maka method tersebut haruslah merupakan method yang ada di class induk (lihat diagram diatas bahwa method suara(), selain terdapat di class-class turunan class Hewan, juga terdapat di class Hewan). Bentuk umum polimorfisme :

Superclass objek = new Subclass();

Berikut ini contoh penerapan polimorfisme :

Gambar 8. Penerapan Polimorfisme

(13)

Gambar 9. Tampilan Hasil Penerapan Polimorfisme

Dari penerapan di atas method suara() menghasilkan output yang berbeda-beda. Dapat disimpulkan polimorfisme berguna untuk penggunaan kembali method class yang ada saat anda membuat class baru.

(14)

KELOMPOK AHLI ENCAPTULATION 1. Jelaskan pengertian encaptulation ! 2. Jelaskan manfaat encaptulation ! 3. Jelaskan proses encaptulation !

4. Bagaimana penerapan encaptulation dalam program !

KELOMPOK AHLI INHERITANCE 1. Jelaskan pengertian inheritance ! 2. Jelaskan manfaat inheritance !

3. Jelaskan perbedaan superclass dan subclass ! 4. Bagaimana penerapan inheritance dalam program !

KELOMPOK AHLI POLYMORPHISM 1. Jelaskan pengertian polymorphism ! 2. Jelaskan manfaat polymorphism !

3. Jelaskan perbedaan overloading dan overriding !

4. Bagaimana penerapan polymorphism dengan overloading dan overriding !

Referensi

Dokumen terkait

Pekerjaan merupakan suatu aktivitas yang dilakukan seseorang unuk memperoleh penghasilan guna memenuhi kebutuhan setiap hari. Pekerjaan merupakan salah satu faktor yang

a. 1) Babak penyisihan diikuti oleh seluruh peserta yang kemudian ditetapkan 15 (lima belas) finalis. 2) Setiap peserta menyanyikan satu lagu pilihan wajib, dan satu lagu

Penelitian ini bertujuan untuk (1) mengevaluasi daya hambat filtrat kultur (FK) dari tiga isolat Foc terhadap pertumbuhan tunas abaka, (2) menentukan konsentrasi sub- letal FK

Each time you define a print device and its properties in Windows 2008, the operating system assigns a logical printer definition to the physical print device so that it knows to

(1) Fungsi bangunan gedung sebagaimana dimaksud dalam Pasal 5 harus sesuai dengan peruntukan lokasi yang diatur dalam Peraturan Daerah tentang Rencana Tata Ruang

Based on result of analysis the movie of Danny Boyle ‟s „ Slumdog Millionaire ” , the writer found there are some types of child abuse happen in this movie

Tinggi tanaman dan jumlah anakan padi gogo IPB 9G umur 8 MST pada berbagai dosis pupuk N (angka yang diikuti oleh huruf yang sama tidak berbeda nyata berdasarkan DMRT taraf

Bahan organik dalam kompos, pupuk kandang, pupuk hijau dan residu tanaman dapat menyediakan nutrisi bagi pertumbuhan dan hasil panen, serapan hara, kualitas biji serta