Anda di halaman 1dari 48

RENCANA PELAKSANAAN

PEMBELAJARAN (RPP)

Disusun oleh :
Nafila Rifki Ayub, S.Pd.

SMK N 2 SEMARANG
DINAS PENDIDIKAN KOTA SEMARANG
2016/2017
RENCANA PELAKSANAAN PEMBELAJARAN
( RPP )
Nama Sekolah : SMK N 2 Semarang
Mata Pelajaran : Pemrograman Berorientasi Objek (PBO)
Kelas / Semester : XI RPL / 3 ( Tiga )
Materi Pokok : Memahami Konsep Pemrograman Berorientasi Objek
(PBO)
Alokasi Waktu : 4 x 45 Menit (1 x pertemuan)

A. Kompetensi Inti
1. Menghayati dan mengamalkan ajaran agama yang dianutnya
2. Menunjukkan perilaku ilmiah (memiliki rasa ingin tahu; objektif; jujur;
teliti; cermat; tekun; hati-hati; bertanggung jawab; terbuka; kritis;
kreatif; inovatif dan peduli lingkungan) dalam aktivitas sehari-hari
sebagai wujud implementasi sikap dalam melakukan percobaan dan
berdiskusi
3. Memahami, menerapkan, menganalisis dan mengevaluasi
pengetahuan faktual, konseptual, prosedural, dan metakognitif dalam
ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dengan
wawasan kemanusiaan, kebangsaan, kenegaraan, dan peradaban
terkait penyebab fenomena dan kejadian dalam bidang kerja yang
spesifik untuk memecahkan masalah

B. Kompetensi Dasar
3.1 Memahami konsep pemrograman berorientasi obyek
3.2 Memahami dasar-dasar dan aturan pemrograman berorientasi obyek
4.1 Menyajikan konsep pemrograman berorientasi obyek
4.2 Menyajikan aturan dan dasar-dasar pemrograman berorientasi obyek
Indikator :
 Dapat menyelesaikan masalah tentang konsep pemrograman
berorientasi obyek
 Dapat membandingkan antara pemrograman procedural dan
pemrograman berorientasi obyek
 Dapat menginstalasi perangkat lunak pemrograman berorientasi
obyek
 Dapat mengetahui aturan dan dasar-dasar pemrograman berorientasi
objek

C. Tujuan Pembelajaran
1. Sebelum, selama, dan setelah proses pembelajaran, siswa dapat
mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama
(seperti berdoa dan memberi salam).
2. Selama dan setelah proses pembelajaran, siswa dapat menunjukkan
perilaku ilmiah (memiliki rasa ingin tahu; objektif; jujur; teliti; cermat;
tekun; hati-hati; bertanggung jawab; terbuka; kritis; kreatif; inovatif dan
peduli terhadap sesama teman) sebagai wujud implementasi sikap
dalam melakukan percobaan dan berdiskusi.
3. Setelah mengetahui instruksi yang digunakan untuk mengetahui
tentang konsep pemrograman berorientasi objek, siswa dapat
mengeksplorasi dalam memahami konsep PBO serta
membandingkan antara pemrograman procedural dengan PBO.
4. Dengan pemahaman yang mereka dapat, siswa diharapkan dapat
melakukan editing kode program JAVA sederhana yang hanya
memuat satu class, melakukan kompilasi program dan mengeksekusi
program JAVA serta siswa dapat memahami tipe data sederhana,
operator, statemen kondisi dan komunikasi dengan layar melalui
masukkan dari keyboard dengan class console.

D. Materi Pembelajaran
1. Teori singkat Pemrograman Berorientasi Objek (PBO)
2. Tipe dan operator dalam Java
3. Perbandingan Pemrograman Berorientasi Objek dengan
Pemrograman Prosedural
4. Karakteristik Pemrograman Berorientasi Objek (PBO)

1. Teori Singkat Pemrograman Berorientasi Objek (PBO)


Program JAVA dirancang sebagai suatu pemrograman berorientasi objek
(OOP=Object Orientation Programming) secara penuh. Dalam
pemrograman PASCAL yang untuk TURBO PASCAL versi 5 ke atas telah
mendukung OOP atau C++ yang telah penuh mendukung OOP namun
dalam kedua bahasa yang terakhir tersebut masih dimungkinkan untuk
membuat program dengan pendekatan program terstruktur, yang dalam
lingkup pemrograman JAVA hal ini tidak dapat lagi dilakukan.
Struktur program JAVA dibuat dengan mendefinisikan suatu class dengan
syntax :
[public] class <NamaKelas>
{ // definisi atribut dari kelas tersebut
// definisi method yang memanipulasi atribut
}
Keterangan :
[public] = menunjukkan bahwa class tersebut dapat diases oleh class yang
lain. Apabila kata public tidak dicantumkan menunjukkan bahwa class
tersebut hanya dapat diases oleh class tertentu.
NamaKelas = adalah nama dari programer sesuai dengan persoalan.
Selanjutnya didalam suatu class dapat didefinisikan atribut-atribut class
tersebut dan juga method-method yang memanipulasi atribut class tersebut.
Suatu class dapat dieksekusi apabila didalam class tersebut didefinisikan
suatu method yang disebut main(), yaitu :
public static void main(String[] args)
2. Tipe Data dan Operator dalam JAVA
JAVA mengenal tipe data yang mirip dengan C++. Untuk data numerik dimiliki
beberapa tipe, yaitu :

Integer :
int 4 byte kisaran nilai :-2.147.486.648 s/d 2.147.486.647
short 2 byte kisaran nilai :-32.768 s/d 32.767
long 8 byte kisaran nilai :-9.223.372.036.854.775.808L s/d
9.223.372.036.854.775.807L
byte 1 byte kisaran nilai :-128 s/d 127

Floating point
float 4 byte kisaran nilai :+3.40282347E+38F (7 digit ignifikan)
double 8 byte kisaran nilai :+1.79769313486231570E+308 (15 digit
signifikan)
Karakter dan string
char 1 byte 1 karakter
String sebuah objek string dan manipulasinya

Satu hal yang berbeda dengan C++ adalah untuk String dalam JAVA adalah
sebuah objek, yang mengandung beberapa method untuk manipulasi objek
tersebut. Meskipun demikian suatu objek String dapat diisi suatu nilai string
sebagaimana layaknya variabel biasa.
Contoh :
String Nama = ”JON SHOLEH”;
atau :
String Nama;
Nama = “JON SHOLEH”;

Beberapa method dari objek string Nama antara lain :


Nama.length() akan menghasilkan : 10
Nama.substring(0,3) akan menghasilkan : “JON”

Contoh program yang melibatkan data adalah sebagai berikut :

class OperasiDATA
{ public static void main(String args[])
{
int a;
float b;
double c;
String d;

a=(int)1/3;
b=(float)1/3 ;
c=(double)1/3 ;
d="JON SHOLEH";

System.out.println("a = " +a);


System.out.println("b = " +b);
System.out.println("c = " +c);
System.out.println("d = " +d);
System.out.println("d.length() = " +d.length());
System.out.println("d.substring(0,3) = " +d.substring(0,3));
}
}
Output dari program tersebut adalah :
a = 0
b = 0.333333
c = 0.333333
d = JON SHOLEH
d.length() = 10
d.substring(0,3) =JON

== untuk SAMA DENGAN


!= untuk TIDAK SAMA DENGAN
&& untuk operator AND
|| untuk operator OR

3. Perbandingan PBO dengan Pemrograman Prosedural


Pemrograman Prosedural Pemrograman Berorientasi Objek (PBO)
Diselesaikan dalam bentuk prosedur Fungsi dan data menjadi satu
atau fungsi kesatuan yang disebut obyek
Program merupakan urut-urutan Obyek-obyek dalam OOP bersifat
Instruksi Aktif
Program dipecah-pecah ke dalam sub Cara pandang : program bukan urut-urutan
program yang lebih sederhana instruksi tapi diselesaikan oleh obyek-obyek
yang bekerjasama untuk menyelesaikan
masalah
Fokus utama pada prosedur dan fungsi Ibaratnya : Fokus pada masalah yang ditangani
dengan menggunakan komputer
Fungsi dan prosedur digunakan untuk
memanipulasi data
Sedangkan data sendiri bersifat pasif
Ibaratnya : Fokus pada bagaimana cara
komputer menangani masalah

4. Karakteristik Pemrograman Berorientasi Objek


 Obyek memiliki status (state) dan tingkah laku (behavior)
 Status (state) disebut juga dengan atribut
 Contoh obyek : obyek mobil
- Atribut : merek, warna, bahan bakar
- Method : pindah persnelling, kecepatan bertambah, dll
 Pada OOP : status disimpan dalam variabel, dan tingkah laku disimpan
dalam method
 Suatu program disebut dengan pemrograman berbasis obyek (OOP)
karena terdapat :
- Encapsulation (pembungkusan)
- Inheritance (pewarisan)
- Polymorphism (polimorfisme – perbedaan bentuk)
1. Encapsulation (pembungkusan)
 Variabel dan method dalam suatu obyek dibungkus agar terlindungi
 Untuk mengakses, variabel dan method yang sudah dibungkus tadi
perlu interface
 Setelah variabel dan method dibungkus, hak akses terhadapnya bisa
ditentukan
 Konsep pembungkusan ini pada dasarnya merupakan perluasan dari
tipe data struktur
2. Inheritance (pewarisan)
 Sebuah class bisa mewariskan atribut dan method-nya ke class yang
lain
 Class yang mewarisi disebut superclass
 Class yang diberi warisan disebut subclass
 Sebuah subclass bisa mewariskan atau berlaku sebagai superclass
bagi class yang lain => disebut multilevel inheritance
3. Polimorphism (polimorfisme)
 Polimorfisme artinya penyamaran dimana suatu bentuk dapat
memiliki lebih dari satu bentuk

E. Metode Pembelajaran
 Pendekatan : Scientific (Ilmiah)
 Model : Project Based Learning (Berbasis Proyek)
 Metode :
1. Observing (Mengamati)
2. Questioning (Mempertanyakan)
3. Exploring/Experimenting (Bereksperimen/Mengumpulkan Informasi)
4. Associating (Mengasosiasi)
5. Communicating/Networking (Mengkomunikasikan)
6. Ceramah

F. Media, Alat, dan Sumber Pembelajaran


1. Media : Slide Presentasi
2. Alat/bahan : LCD Proyektor, Spidol
3. Sumber belajar: Panduan Jeni Jardiknas, 2007-2008

G. Kegiatan Pembelajaran
a. Pendahuluan/Kegiatan Awal (20 menit)
1. Guru mengondisikan kelas, meliputi pengaturan tempat duduk,
mempresensi kehadiran siswa, dan berdoa.
2. Guru memotivasi siswa (menampilkan slide dan video), tentang
kisah kasih sayang seorang Ibu yang tiada tara terhadap anaknya.
Kemudian mengingatkan agar jadi anak yang patuh terhadap orang
tua, dan terus berbuat baik kepada mereka.
3. Guru menyampaikan tujuan pembelajaran, langkah-langkah
pembelajaran, maupun garis besar materi.
b. Kegiatan Inti (100 menit)
SISWA GURU Waktu
Mengamati (Observing)
1. Siswa mengamati penjelasan 1. Menanyakan kepada siswa 70
guru tentang teori singkat tentang apa itu pemrograman menit
Pemrograman Berorientasi prosedural, yang kemudian
Objek (PBO) melalui slide disambungkan dengan
presentasi. materi pemrograman
Mempertanyakan (Questioning) berorientasi objek (PBO),
2. Siswa bertanya jawab tentang serta menanyakan software
pemrograman berorientasi yang digunakan untuk latihan
objek (PBO) dan software yang membuat program untuk
digunakan untuk latihan Pemrograman Berorientasi
membuat program untuk Objek (PBO).
pemrograman berorientasi 2. Guru menjelaskan tentang
objek (PBO). materi pemrograman 15
Mengeksplorasi (Exploring) berorientasi objek (PBO), menit
3. Siswa mampu mengaitkan perbedaan antara PBO
hubungan pemrograman dengan pemrograman
procedural dan pemrograman procedural, aturan dan
berorientasi objek (PBO), dasar-dasar serta
kemudian menentukan karakteristik PBO.
perbedaan masing-masing. 3. Apabila siswa telah 15
4. Siswa mampu menjelasakan mencermati materi, menit
aturan dan dasar-dasar kemudian siswa bertanya
pemrograman berorientasi tentang pemrograman
objek (PBO). berorientasi objek (PBO),
Mengasosiasi (Associating) perbedaan antara PBO
5. Siswa secara individu dengan pemrograman
mengidentifikasi kembali procedural, aturan dasar-
pemrograman berorientasi dasar serta karakteristik
objek (PBO), perbedaan antara PBO. Sedangkan apabila
PBO dengan pemrograman tidak ada yang bertanya,
procedural, aturan dan dasar- maka Guru menunjuk
dasar serta karakteristik PBO. beberapa siswa untuk
Mengomunikasikan menjawab pertanyaan yang
(Communicatting) diberikan oleh Guru. Hal
1. Siswa menyampaikan konklusi tersebut dilakukan bertujuan
dari pembelajaran yang telah untuk mengetahui seberapa
berlangsung dengan santun. jauh siswa memahami materi
yang telah disampaikan.
c. Evaluasi (45 menit)
Soal ada di Aspek Penilaian
d. Penutup (15 menit)
1. Siswa dan guru menyimpulkan hasil belajar.
2. Guru mengingatkan siswa untuk berusaha mengerjakan tugas
jika diberi tugas oleh Guru, agar tugas tidak semakin
menumpuk.
3. Mengakhiri pertemuan dengan doa bersama.

H. Penilaian
1. Aspek Pengetahuan
a. Bentuk Penilaian : Individu
b. Bentuk Instrumen : Uraian dan Penilaian Praktik
c. Instrumen :
a. Sebutkan empat perbedaan antara pemrograman procedural dan
pemrograman berorientasi objek (PBO).
b. Buatlah suatu program JAVA untuk menghitung PENJUMLAHAN,
PENGURANGAN, PERKALIAN dan PEMBAGIAN.

d. Kunci Jawaban dan Pedoman Penskoran


a.
Pemrograman Berorientasi Objek
Pemrograman Prosedural
(PBO)
Diselesaikan dalam bentuk prosedur Fungsi dan data menjadi satu
atau fungsi kesatuan yang disebut obyek
Program merupakan urut-urutan Obyek-obyek dalam OOP bersifat
Instruksi aktif
Program dipecah-pecah ke dalam sub Cara pandang : program bukan urut-
program yang lebih sederhana urutan instruksi tapi diselesaikan oleh
obyek-obyek
yang bekerjasama untuk menyelesaikan
masalah
Fokus utama pada prosedur dan fungsi Ibaratnya : Fokus pada masalah yang
ditangani dengan menggunakan
komputer
b.
public class latihan
{
public static void main(String[] args)
{
//deklarasi variabel
double panjang = 25;
double lebar = 10;
double jumlah;
double kurang;
double kali;
double bagi;
jumlah = panjang + lebar; //operasi
penjumlahan
kurang = panjang - lebar; //operasi
pengurangan
kali = panjang * lebar; //operasi perkalian
bagi = panjang / lebar; //operasi pembagian
moduluss = panjang % lebar; //operasi moduluss
//mencetak isi hasil variabel ke layar
System.out.println("Hasil Penjumlahan : " +
jumlah);
System.out.println("Hasil Pengurangan : " +
kurang);
System.out.println("Hasil Perkalian : " + kali);
System.out.println("Hasil Pembagian : " + bagi);
}
}

Penskoran
No. Aspek yang Dinilai Skor
1 Siswa dapat menyebutkan empat perbedaan 30
antara pemrograman procedural dengan
pemrograman berorientasi objek (PBO)
2 Siswa dapat membuat syntak untuk 50
perhitungan penjumlahan, pengurangan,
pembagian, dan perkalian.

2. Aspek Keterampilan
Panduan Internalisasi Sikap
Kondisi yang Dicapai
No. Nilai Sikap/Karakter yang Diamati Ya Belum
A Sikap Ketuhanan
Kemauan siswa untuk dapat
melaksanakan sholat berjamaah
(khusus yang beragama Islam, dan
yang tidak sedang berhalangan) di
Masjid dekat Sekolah.
B Sikap Sosial
1. Jujur
2. Teliti
3. Tanggung jawab
4. Santun
5. Menghargai pendapat teman

LEMBAR PENGAMATAN SIKAP


Mata Pelajaran :Pemrograman Berorientasi Objek (PBO)
Kelas/Semester :XI RPL 1,2 / 3 (Tiga)
Tahun Pelajaran :2015/2016
Waktu Pengamatan :Selama Pembelajaran Berlangsung
Indikator perkembangan karakter kreatif, komunikatif, dan kerja keras
1. BT (belum tampak) jika sama sekali tidak menunjukkan usaha sungguh-
sungguh dalam menyelesaikan tugas
2. MT (mulai tampak) jika menunjukkan sudah ada usaha sungguh-
sungguh dalam menyelesaikan tugas tetapi masih sedikit dan belum
ajeg/konsisten
3. MB (mulai berkembang) jika menunjukkan ada usaha sungguh-sungguh
dalam menyelesaikan tugas yang cukup sering dan mulai ajeg/konsisten
4. MK (membudaya) jika menunjukkan adanya usaha sungguh-sungguh
dalam menyelesaikan tugas secara terus-menerus dan ajeg/konsisten
Bubuhkan check list (√) pada kolom-kolom sesuai hasil pengamatan.
1 2 3 4 5
Menghargai
NAMA SISWA Jujur Teliti Tanggungjawab Santun
Pendapat Teman

B M M M B M M M B M M M B M M M B M M M
T T B K T T B K T T B K T T B K T T B K
AIDDIN
MUFTI
MUTTHOHA
RI
AJENG SRI
HANDAYANI

ALGAZELLA
SUKMASARI

ANGGORO
SAKTI
ANINDHITO

ANIS
SUSANTY
ISTIKHOMA
H

ANISA YULI
NUR
ULUMINA
FIRDAUR

ASEH
OCTOFIYANI

BILLY
PRATAMA
FEBRIANTO

DANISA
MILANIA
HIKMA

DESIANA
BELLA
ERIYANTO

DIAH
KURNIASARI

DJWA,ADITY
A PRASETYA

FARAH UMI
MAULIDA

FATIKA PUJI
DAMAYANTI

IRVA
HIDAYATUL
MAGHFIRO
H

LIDYA
AMALIA
HUSNI
FITRIANA

NILA
KHUSNUL
SARI

NOVITA
KUSUMA
ARDI

NUR IKBAR
MARDIYAH

NUR SITI
AISYAH

PUTRI DWI
WASESO

PUTRI EKA
ANGGI
DWIYANTI

PUTRI
SULAIMANA
NURANI

PUTRI DIAH
ANGGRAENI

RISA
ULFANALIA

RISMA
AULIA
CHAERUNNI
SA

RIZKY
ARDIYANTO

RIZQI YANI
CHASNA'UN
NISAI LUBIS

SABRINNA
MUTHIA

SUKMA
AJENG DWI
ADITYA

SYARIFAH

TIYAS
ISTIQOMAH

TRI UMUL
INSYANIYAH

WINDA
KRISTIANIN
GRUM

YASINTA
PUTERI W

YUSNI
RATNA N

AIDDIN
MUFTI
MUTTHOHA
RI

LEMBAR PENGAMATAN SIKAP


Mata Pelajaran :Pemrograman Berorientasi Objek (PBO)
Kelas/Semester :XI RPL 2 / 3 (Tiga)
Tahun Pelajaran :2015/2016
Waktu Pengamatan:Selama Pembelajaran Berlangsung
Bubuhkan check list (√) pada kolom-kolom sesuai hasil pengamatan.
1 2 3 4 5
Menghargai
NAMA SISWA Jujur Teliti Tanggungjawab Santun
Pendapat Teman

B M M M B M M M B M M M B M M M B M M M
T T B K T T B K T T B K T T B K T T B K
AIDDIN
MUFTI
MUTTHOHA
RI
AJENG SRI
HANDAYANI

ALGAZELLA
SUKMASARI

ANGGORO
SAKTI
ANINDHITO

ANIS
SUSANTY
ISTIKHOMA
H

ANISA YULI
NUR
ULUMINA
FIRDAUR

ASEH
OCTOFIYANI

BILLY
PRATAMA
FEBRIANTO

DANISA
MILANIA
HIKMA

DESIANA
BELLA
ERIYANTO

DIAH
KURNIASARI

DJWA,ADITY
A PRASETYA

FARAH UMI
MAULIDA

FATIKA PUJI
DAMAYANTI

IRVA
HIDAYATUL
MAGHFIRO
H

LIDYA
AMALIA
HUSNI
FITRIANA

NILA
KHUSNUL
SARI

NOVITA
KUSUMA
ARDI

NUR IKBAR
MARDIYAH

NUR SITI
AISYAH

PUTRI DWI
WASESO

PUTRI EKA
ANGGI
DWIYANTI

PUTRI
SULAIMANA
NURANI

PUTRI DIAH
ANGGRAENI

RISA
ULFANALIA

RISMA
AULIA
CHAERUNNI
SA

RIZKY
ARDIYANTO

RIZQI YANI
CHASNA'UN
NISAI LUBIS

SABRINNA
MUTHIA

SUKMA
AJENG DWI
ADITYA

SYARIFAH

TIYAS
ISTIQOMAH

TRI UMUL
INSYANIYAH

WINDA
KRISTIANIN
GRUM

YASINTA
PUTERI W

Mengetahui Semarang, September 2016


Kepala Sekolah Guru Mata Pelajaran

Drs. H. Ahmad Ishom, M.Pd Nafila Rifki Ayub, S.Pd.


NIP.19621219 199303 1 007
RENCANA PELAKSANAAN PEMBELAJARAN
( RPP )
Nama Sekolah : SMK N 2 Semarang
Mata Pelajaran : Pemrograman Berorientasi Objek (PBO)
Kelas / Semester : XI RPL / 3 (Tiga)
Materi Pokok : Membuat Class
Alokasi Waktu : 4 x 45 Menit (1 x pertemuan)

A. Kompetensi Inti
1. Menghayati dan mengamalkan ajaran agama yang dianutnya
2. Menunjukkan perilaku ilmiah (memiliki rasa ingin tahu; objektif; jujur;
teliti; cermat; tekun; hati-hati; bertanggung jawab; terbuka; kritis;
kreatif; inovatif dan peduli lingkungan) dalam aktivitas sehari-hari
sebagai wujud implementasi sikap dalam melakukan percobaan dan
berdiskusi
3. Memahami, menerapkan, menganalisis dan mengevaluasi
pengetahuan faktual, konseptual, prosedural, dan metakognitif dalam
ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dengan
wawasan kemanusiaan, kebangsaan, kenegaraan, dan peradaban
terkait penyebab fenomena dan kejadian dalam bidang kerja yang
spesifik untuk memecahkan masalah.

B. Kompetensi Dasar
3.3 Memahami Konsep Class dan Obyek
4.3 Menyajikan Class dengan memberikan atribut dan metode
Indikator :
 Dapat mendeklarasikan class dalam pemrograman berorientasi objek
 Dapat mengetahui atribut class
 Dapat mendeklarasikan method
 Dapat mengakses anggota class

C. Tujuan Pembelajaran
1. Sebelum, selama, dan setelah proses pembelajaran, siswa dapat
mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama
(seperti berdoa dan memberi salam).
2. Selama dan setelah proses pembelajaran, siswa dapat menunjukkan
perilaku ilmiah (memiliki rasa ingin tahu; objektif; jujur; teliti; cermat;
tekun; hati-hati; bertanggung jawab; terbuka; kritis; kreatif; inovatif dan
peduli terhadap sesama teman) sebagai wujud implementasi sikap
dalam melakukan percobaan dan berdiskusi.
3. Setelah mengetahui instruksi yang digunakan untuk mengetahui
tentang konsep class dan objek, dan atribut dari suatu class.
4. Dengan pemahaman yang mereka dapat, siswa diharapkan dapat
melakukan percobaan pembuatan program menggunakan java yang
mengandung usur class dan pemanggilan atribut class.

D. Materi Pembelajaran
1. Pengertian Class dan Pembuatan Class
1. Pengertian Class dan Pembuatan Class
 Class adalah template untuk pembuatan obyek
 Class memiliki anggota : Atribut dan Method
Pembuatan Class
Sebagai contoh :
 Kita akan membuat Class dengan nama Lampu
 Class Lampu memiliki atribut :
- status => 0 atau 1
- merek => ‘phillips’ atau ‘national’
 Class Lampu memiliki method :
- lampuDinyalakan();
- lampuDimatikan();

Cara Penulisan : CLASS


 Deklarasi class dapat dilakukan dengan sintak :
<modifier> class <namaclass> {
[deklarasi atribut]
[deklarasi method]
 Deklarasi atribut sebagai berikut :
<modifier> <tipe> <nama atribut> ;
 Deklarasi method dapat dilakukan dengan cara :
<modifier> <return type> <nama_method> ([daftar argumen])
{

}
dimana :
<modifier> adalah sebuah access modifier, yang dapat dikombinasikan dengan
tipe modifier lain.
Pembuatan Class Lampu :

Public : Class ini dapat diakses dari luar package


Class : Keyword yang digunakan untuk pembuatan class dalam Java
Lampu : Identifier yang menjelaskan class

Petunjuk Penulisan Program :


1. Pertimbangkan nama yang tepat untuk class. Jangan gunakan nama acak dan
singkat seperti XYZ.
2. Nama class harus dimulai dengan huruf KAPITAL
3. Nama file dari class harus sama dengan nama public class

Membuat Obyek dari Class :


 Cara penulisan :
namaClass namaObyek=new namaClass();
 Membuat obyek lampuku dari Class Lampu
Lampu lampuku = new Lampu();
 Obyek dapat diletakkan di class yang lain.
 Class yang lain ini bisa ditempatkan pada file yang sama dengan nama
Class
 Atau obyek diletakkan di class lain dan dalam file yang berbeda, sebagai
contoh :

main method dalam JAVA


 Main method dalam JAVA, tempat kita menempatkan obyek, menampilkan
suatu hasil ke layar, dsb adalah :
public static void main(String [] args) {
……….
}
 Seharusnya disinilah kita menempatkan obyek lampuku yang dibuat dari
class Lampu
 Setelah obyek ditempatkan dalam main method, maka kita bisa memanggil
method dari class Lampu (lampuku.lampuDinyalakan();)
 Untuk menampilkan pada layar menggunakan :

System.out.println(………);
 Sehingga menjadi seperti ini :

 Dan hasil runningnya akan tampil


 seperti gambar di bawah ini :

Percobaan menggunakan Class pada contoh program yang lain :


 Dibuat program untuk menampilkan tulisan dengan Nama program :
CobaTulis.java
 Dalam program ada class Tulis yang berisi method Tulisan untuk
menampilkan data di layar
 Dalam program utama diciptakan obyek baru bernama tulisanku yang
berasal dari class Tulis
 Kemudian dengan menggunakan obyek tulisanku dipanggil method Tulisan
untuk menampilkan data pada layar
Listing program CobaTulis.java
public class CobaTulis {
public static void main(String [] args) {
Tulis tulisanku = new Tulis();
tulisanku.tulisan();
}
}
class Tulis {
void tulisan() {
System.out.println(“Saya belajar Java”);
}
}
Atau apabila ditulis dalam Netbeans :

E. Metode Pembelajaran
 Pendekatan : Scientific (Ilmiah)
 Model : Project Based Learning (Berbasis Proyek)
 Metode :
1. Observing (Mengamati)
2. Questioning (Mempertanyakan)
3. Exploring/Experimenting (Bereksperimen/Mengumpulkan Informasi)
4. Associating (Mengasosiasi)
5. Communicating/Networking (Mengkomunikasikan)
6. Ceramah

F. Media, Alat, dan Sumber Pembelajaran


1. Media : Slide Presentasi
2. Alat/bahan : LCD Proyektor, Spidol
3. Sumber belajar : Panduan Jeni Jardiknas, 2007-2008
G. Kegiatan Pembelajaran
a. Pendahuluan/Kegiatan Awal (20 menit)
1. Guru mengondisikan kelas, meliputi pengaturan tempat duduk,
mempresensi kehadiran siswa, dan berdoa.
2. Guru memotivasi siswa (menampilkan slide dan video), tentang
kisah pohon apel. Kemudian mengingatkan agar saat kita menjadi
orang yang kuat, tetaplah ingat akan kedua orang tua kita.
3. Guru menyampaikan tujuan pembelajaran, langkah-langkah
pembelajaran, maupun garis besar materi.
b. Kegiatan Inti (100 menit)
SISWA GURU Waktu
Mengamati (Observing)
1. Siswa mengamati penjelasan 1. Sebelum mulai ke inti materi 70
guru tentang class, atribut, dan yang akan diajarkan, guru menit
method dalam pemrograman menanyakan kepada siswa
berorientasi objek (PBO). tentang apa yang mereka
Mempertanyakan (Questioning) ketahui dengan class dalam
2. Siswa bertanya jawab tentang PBO, fungsinya, dan atribut
bagaimana membuat suatu serta method yang ada.
class dan memanggil class Apabila sebelum dijelaskan,
serta syntak yang digunakan. siswa telah ada yang
Mengeksplorasi (Exploring) mengetahui terlebih dahulu,
3. Siswa mampu mengaitkan maka guru mengapresiasi
hubungan class, atribut dan dengan memberikan nilai 15
method sesuai dengan contoh plus terhadap anak tersebut. menit
yang ada dalam kehidupan 2. Guru menjelaskan tentang
sehari-hari. class dalam PBO, atribut
Mengasosiasi (Associating) class, method, dan
4. Siswa secara individu memberikan contoh dengan
mengidentifikasi kembali benda-benda nyata yang ada 15
pengertian class, kegunaan di sekitar kita. menit
class, atribut, dan method. 3. Apabila siswa telah
Mengomunikasikan mencermati materi,
(Communicatting) kemudian siswa bertanya
5. Siswa menyampaikan konklusi tentang bagaimana cara
dari pembelajaran yang telah membuat class dan seperti
berlangsung dengan santun. apa syntax yang digunakan.
Apabila tidak ada yang
bertanya, maka Guru
menunjuk beberapa siswa
untuk menjawab pertanyaan
yang diberikan oleh Guru.
Hal tersebut dilakukan
bertujuan untuk mengetahui
seberapa jauh siswa
memahami materi yang telah
disampaikan.
c. Evaluasi (45 menit)
Soal ada di Aspek Penilaian

d. Penutup (15 menit)


1. Siswa dan guru menyimpulkan hasil belajar.
2. Guru mengingatkan siswa untuk berusaha mengerjakan tugas
jika diberi tugas oleh Guru, agar tugas tidak semakin
menumpuk.
3. Mengakhiri pertemuan dengan doa bersama.

H. Penilaian
1. Aspek Pengetahuan
a. Bentuk Penilaian : Individu
b. Bentuk Instrumen : Penilaian Praktik
c. Instrumen :
1. Buatlah sebuah program dengan ketentuan sebagai berikut :
a. program tersebut mengimplementasikan class Mobil
b. Class Mobil memiliki atribut : aktifitas (parkir atau jalan-jalan),
warna, dan kecepatan
c. Class Mobil memiliki method :
- cekKecepatan
jika kecepatan=0, maka aktifitas=parkir
- cetakAtribut
mencetak semua nilai atribut

d. Kunci Jawaban dan Pedoman Penskoran


Listing Program
class Mobil {
String aktifitas;
String warna;
intkecepatan;
void cekKecepatan() {
if (kecepatan==0)
aktifitas="parkir";
}
void cetakAtribut() {
System.out.println("Aktifitas = "+aktifitas);
System.out.println("warna = "+warna);
System.out.println("Kecepatan = "+kecepatan);
}

public static void main(String [] args) {


Mobil mobilku = new Mobil();
mobilku.kecepatan=0;
mobilku.warna="merah";
mobilku.cekKecepatan();
mobilku.cetakAtribut();
}
}
Penskoran
No. Aspek yang Dinilai Skor
1 Siswa dapat membuat listing programnya 85
dengan benar
2. Aspek Keterampilan
Panduan Internalisasi Sikap
Kondisi yang Dicapai
No. Nilai Sikap/Karakter yang Diamati Ya Belum
A Sikap Ketuhanan
Kemauan siswa untuk dapat
melaksanakan sholat berjamaah
(khusus yang beragama Islam, dan
yang tidak sedang berhalangan) di
Masjid dekat Sekolah.
B Sikap Sosial
1. Jujur
2. Teliti
3. Tanggung jawab
4. Santun
5. Menghargai pendapat teman

LEMBAR PENGAMATAN SIKAP


Mata Pelajaran :Pemrograman Berorientasi Objek (PBO)
Kelas/Semester :XI RPL 1 / 3 (Tiga)
Tahun Pelajaran :2015/2016
Waktu Pengamatan :Selama Pembelajaran Berlangsung
Indikator perkembangan karakter kreatif, komunikatif, dan kerja keras
1. BT (belum tampak) jika sama sekali tidak menunjukkan usaha
sungguh-sungguh dalam menyelesaikan tugas
2. MT (mulai tampak) jika menunjukkan sudah ada usaha sungguh-
sungguh dalam menyelesaikan tugas tetapi masih sedikit dan
belum ajeg/konsisten
3. MB (mulai berkembang) jika menunjukkan ada usaha sungguh-
sungguh dalam menyelesaikan tugas yang cukup sering dan
mulai ajeg/konsisten
4. MK (membudaya) jika menunjukkan adanya usaha sungguh-
sungguh dalam menyelesaikan tugas secara terus-menerus dan
ajeg/konsisten

Bubuhkan check list (√) pada kolom-kolom sesuai hasil pengamatan.


1 2 3 4 5
Menghargai
NAMA SISWA Jujur Teliti Tanggungjawab Santun
Pendapat Teman

B M M M B M M M B M M M B M M M B M M M
T T B K T T B K T T B K T T B K T T B K
AIDDIN
MUFTI
MUTTHOHA
RI
AJENG SRI
HANDAYANI

ALGAZELLA
SUKMASARI

ANGGORO
SAKTI
ANINDHITO

ANIS
SUSANTY
ISTIKHOMA
H

ANISA YULI
NUR
ULUMINA
FIRDAUR

ASEH
OCTOFIYANI

BILLY
PRATAMA
FEBRIANTO

DANISA
MILANIA
HIKMA

DESIANA
BELLA
ERIYANTO

DIAH
KURNIASARI

DJWA,ADITY
A PRASETYA

FARAH UMI
MAULIDA

FATIKA PUJI
DAMAYANTI

IRVA
HIDAYATUL
MAGHFIRO
H
LIDYA
AMALIA
HUSNI
FITRIANA

NILA
KHUSNUL
SARI

NOVITA
KUSUMA
ARDI

NUR IKBAR
MARDIYAH

NUR SITI
AISYAH

PUTRI DWI
WASESO

PUTRI EKA
ANGGI
DWIYANTI

PUTRI
SULAIMANA
NURANI

PUTRI DIAH
ANGGRAENI

RISA
ULFANALIA

RISMA
AULIA
CHAERUNNI
SA

RIZKY
ARDIYANTO

RIZQI YANI
CHASNA'UN
NISAI LUBIS

SABRINNA
MUTHIA
SUKMA
AJENG DWI
ADITYA

SYARIFAH

TIYAS
ISTIQOMAH

TRI UMUL
INSYANIYAH

WINDA
KRISTIANIN
GRUM

YASINTA
PUTERI W

YUSNI
RATNA N

AIDDIN
MUFTI
MUTTHOHA
RI

LEMBAR PENGAMATAN SIKAP


Mata Pelajaran :Pemrograman Berorientasi Objek (PBO)
Kelas/Semester :XI RPL 2 / 3 (Tiga)
Tahun Pelajaran :2015/2016
Waktu Pengamatan:Selama Pembelajaran Berlangsung

Bubuhkan check list (√) pada kolom-kolom sesuai hasil pengamatan.


1 2 3 4 5
Menghargai
NAMA SISWA Jujur Teliti Tanggungjawab Santun
Pendapat Teman

B M M M B M M M B M M M B M M M B M M M
T T B K T T B K T T B K T T B K T T B K
AIDDIN
MUFTI
MUTTHOHA
RI
AJENG SRI
HANDAYANI

ALGAZELLA
SUKMASARI

ANGGORO
SAKTI
ANINDHITO

ANIS
SUSANTY
ISTIKHOMA
H

ANISA YULI
NUR
ULUMINA
FIRDAUR

ASEH
OCTOFIYANI

BILLY
PRATAMA
FEBRIANTO

DANISA
MILANIA
HIKMA

DESIANA
BELLA
ERIYANTO

DIAH
KURNIASARI

DJWA,ADITY
A PRASETYA

FARAH UMI
MAULIDA

FATIKA PUJI
DAMAYANTI

IRVA
HIDAYATUL
MAGHFIRO
H

LIDYA
AMALIA
HUSNI
FITRIANA

NILA
KHUSNUL
SARI

NOVITA
KUSUMA
ARDI

NUR IKBAR
MARDIYAH

NUR SITI
AISYAH

PUTRI DWI
WASESO

PUTRI EKA
ANGGI
DWIYANTI

PUTRI
SULAIMANA
NURANI

PUTRI DIAH
ANGGRAENI

RISA
ULFANALIA

RISMA
AULIA
CHAERUNNI
SA

RIZKY
ARDIYANTO

RIZQI YANI
CHASNA'UN
NISAI LUBIS

SABRINNA
MUTHIA

SUKMA
AJENG DWI
ADITYA

SYARIFAH

TIYAS
ISTIQOMAH

TRI UMUL
INSYANIYAH

WINDA
KRISTIANIN
GRUM

YASINTA
PUTERI W

Mengetahui Semarang, September 2016


Kepala Sekolah Guru Mata Pelajaran

Drs. H. Ahmad Ishom, M.Pd Nafila Rifki Ayub, S.Pd.


NIP.19621219 199303 1 007
RENCANA PELAKSANAAN PEMBELAJARAN
( RPP )
Nama Sekolah : SMK N 1 Semarang
Mata Pelajaran : Pemrograman Berorientasi Objek (PBO)
Kelas / Semester : XI RPL / 3 (Tiga)
Materi Pokok : Membuat Encapsulasi dan Overloading
Alokasi Waktu : 12 x 45 Menit (3 x pertemuan)

A. Kompetensi Inti

1. Menghayati dan mengamalkan ajaran agama yang dianutnya


2. Menunjukkan perilaku ilmiah (memiliki rasa ingin tahu; objektif; jujur;
teliti; cermat; tekun; hati-hati; bertanggung jawab; terbuka; kritis;
kreatif; inovatif dan peduli lingkungan) dalam aktivitas sehari-hari
sebagai wujud implementasi sikap dalam melakukan percobaan dan
berdiskusi
3. Memahami, menerapkan, menganalisis dan mengevaluasi
pengetahuan faktual, konseptual, prosedural, dan metakognitif dalam
ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dengan
wawasan kemanusiaan, kebangsaan, kenegaraan, dan peradaban
terkait penyebab fenomena dan kejadian dalam bidang kerja yang
spesifik untuk memecahkan masalah.

B. Kompetensi Dasar
3.4 Memahami Konsep Enkapsulasi dalam melindungi data dan informasi
4.4 Menyajikan perlindungan data dan informasi melalui mekanisme
enkapsulasi
Indikator :
 Dapat mengetahui cara untuk membungkus data pada pemrograman
berorientasi objek (PBO)
 Dapat mengakses data sesuai dengan konsep enkapsulasi

C. Tujuan Pembelajaran
1. Sebelum, selama, dan setelah proses pembelajaran, siswa dapat
mengamalkan nilai-nilai keimanan sesuai dengan ajaran agama
(seperti berdoa dan memberi salam).
2. Selama dan setelah proses pembelajaran, siswa dapat menunjukkan
perilaku ilmiah (memiliki rasa ingin tahu; objektif; jujur; teliti; cermat;
tekun; hati-hati; bertanggung jawab; terbuka; kritis; kreatif; inovatif dan
peduli terhadap sesama teman) sebagai wujud implementasi sikap
dalam melakukan percobaan dan berdiskusi.
3. Setelah mengetahui instruksi yang digunakan untuk mengetahui cara
membungkus data pada pemrograman berorientasi objek (PBO).
4. Dengan pemahaman yang mereka dapat, siswa diharapkan dapat
mengakses data sesuai dengan konsep enkapsulasi.

D. Materi Pembelajaran
1. Instance Variable
2. Class Variable atau Static Variable
3. Deklarasi Methods
4. Accessor Method
5. Mutator Method
6. Multiple Return Statements
7. Static Method
8. Reference this
9. Overloading Methods
10. Deklarasi Constructor
11. Default Constructor
12. Overloading Constructor
13. Menggunakan Constructor
14. Pemangilan Constructor dengan this
1. Deklarasi Atribut
 Dalam pendeklarasian atribut, kita tuliskan :
<modifier> <type> <name> [= <default_value>];
 Langkah selanjutnya adalah mengurutkan atribut yang akan
diisikan pada class. Untuk setiap informasi, urutkan juga tipe data
yang yang tepat untuk digunakan. Contohnya, Anda tidak mungkin
menginginkan untuk menggunakan tipe data integer untuk nama siswa,
atau tipe data string pada nilai siswa.
 Berikut ini adalah contoh informasi yang akan diisikan pada class
StudentRecord :
 name - String
 address - String
 age - Int
 math grade - double
 english grade - double
 science grade - double
 average grade - double

2. Instance Variable
Jika kita telah menuliskan seluruh atribut yang akan diisikan pada class,
selanjutnya kita akan menuliskannya pada kode. Jika kita menginginkan
bahwa atribut – atribut tersebut adalah unik untuk setiap object (dalam
hal ini untuk setiap siswa), maka kita harus mendeklarasikannya
sebagai instance variable :
Sebagai contoh :
Public class StudentRecord
{
private String name; 9
private String address;
private int age;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
private double average;

//area penulisan kode selanjutnya


}

dimana,
private disini menjelaskan bahwa variabel tersebut hanya dapat diakses
oleh class itu sendiri. Object lain tidak dapat menggunakan variabel tersebut
secara langsung. Kita akan membahas tentang kemampuan akses pada
pembahasan selanjutnya.
3. Deklarasi Method
 Sebelum kita membahas method apa yang akan dipakai pada class,
mari kita perhatikan penulisan method secara umum.
 Dalam pendeklarasian method, kita tuliskan :

<modifier> <returnType> <name>(<parameter>*) {


<statement>*
}
dimana,
<modifier> dapat menggunakan beberapa modifier yang berbeda
<returnType> dapat berupa seluruh tipe data, termasuk void
<name> identifier atas class
<parameter> ::= <tipe_parameter> <nama_parameter>[,]

4. Accessor Methods
Untuk mengimplementasikan enkapsulasi, kita tidak menginginkan
sembarang object dapat mengakses data kapan saja. Untuk itu, kita
deklarasikan atribut dari class sebagai private. Namun, ada kalanya dimana
kita menginginkan object lain untuk dapat mengakses data private. Dalam hal
ini kita gunakan accessor methods.
Accessor Methods digunakan untuk membaca nilai variabel pada
class, baik berupa instance maupun static. Sebuah accessor method
umumnya dimulai dengan penulisan get<namaInstanceVariable>.
Method ini juga mempunyai sebuah return value.
Sebagai contoh, kita ingin menggunakan accessor method untuk dapat
membaca nama, alamat, nilai bahasa Inggris, Matematika, dan ilmu pasti dari
siswa.
Mari kita perhatikan salah satu contoh implementasi accessor method.

public class StudentRecord


{
private String name;

public String getName(){


return name;
}
}
dimana,
public - Menjelaskan bahwa method tersebut dapat diakses dari object luar class
String - Tipe data return value dari method tersebut bertipe String
getName - Nama dari method
() - Menjelaskan bahwa method tidak memiliki parameter apapun

Pernyataan berikut,
return name;
dalam program kita menandakan akan ada pengembalian nilai dari nama
instance variable ke pemanggilan method. Perhatikan bahwa return type
dari method harus sama dengan tipe data seperti data pada pernyataan
return. Anda akan mendapatkan pesan kesalahan sebagai berikut bila tipe
data yang digunakan tidak sama :
StudentRecord.java:14: incompatible types
found : int
required: java.lang.String
return age;
^
1 error
 Contoh lain dari penggunaan accessor method adalah getAverage,
public class StudentRecord
{
private String name;

public double getAverage(){


double result = 0;
result = ( mathGrade+englishGrade+scienceGrade )/3;

return result;
}
}
Method getAverage() menghitung rata – rata dari 3 nilai siswa dan
menghasilkan nilai return value dengan nama result.

5. Mutator Methods
 Bagaimana jika kita menghendaki object lain untuk mengubah data?
Yang dapat kita lakukan adalah membuat method yang dapat memberi
atau mengubah nilai variable dalam class, baik itu berupa instance
maupun static. Method semacam ini disebut dengan mutator methods.
Sebuah mutator method umumnya tertulis set<namaInstanceVariabel>.
Mari kita perhatikan salah satu dari implementasi mutator method :
public class StudentRecord
{
private String name;

public void setName( String temp ){


name = temp;
}
}
dimana,
public - Menjelaskan bahwa method ini dapat dipanggil object luar class
void - Method ini tidak menghasilkan return value
setName - Nama dari method
(String temp) - Parameter yang akan digunakan pada method

Pernyataan berikut :
name = temp;
mengidentifikasi nilai dari temp sama dengan name dan mengubah data
pada instance variable name.
Perlu diingat bahwa mutator methods tidak menghasilkan return value.
Namun berisi beberapa argumen dari program yang akan digunakan oleh
method.
6. Multiple Return Statements
Anda dapat mempunyai banyak return values pada sebuah method
selama mereka tidak pada blok program yang sama. Anda juga dapat
menggunakan konstanta disamping variabel sebagai return value.
Sebagai contoh, perhatikan method berikut ini :

public String getNumberInWords( int num ){

String defaultNum = "zero";


if( num == 1 ){
return "one"; //mengembalikan sebuah konstanta
}
else if( num == 2){
return "two"; //mengembalikan sebuah konstanta
}
// mengembalikan sebuah variabel
return defaultNum;
}

7. Static Methods
Kita menggunakan static method untuk mengakses static variable
studentCount.

public class StudentRecord


{
private static int studentCount;

public static int getStudentCount(){


return studentCount;
}

dimana,
public - Menjelaskan bahwa method ini dapat diakses dari object luar class
static - Method ini adalah static dan pemanggilannya menggunakan
[namaclass].[namaMethod]. Sebagai contoh :
studentRecord.getStudentCount
Int - Tipe return dari method. Mengindikasikan method tersebut harus
mempunyai return value berupa integer
public - Menjelaskan bahwa method ini dapat diakses dari object luar class
getStudentCount - Nama dari method
() - Method ini tidak memiliki parameter apapun

Pada deklarasi di atas, method getStudentCount() akan selalu


menghasilkan return value 0 jika kita tidak mengubah apapun pada kode
program untuk mengatur nilainya. Kita akan membahas pengubahan nilai dari
studentCount pada pembahasan constructor.

8. Reference this
Reference this digunakan untuk mengakses Instance variable yang
dibiaskan oleh parameter. Untuk pemahaman lebih lanjut, mari kita
perhatikan contoh pada method setAge. Dimisalkan kita mempunyai kode
deklarasi berikut pada method setAge.

public void setAge( int age ){


age = age; //SALAH!!!
}
Nama parameter pada deklarasi ini adalah age, yang memiliki
penamaan yang sama dengan Instance variable age. Parameter age
adalah deklarasi terdekat dari method, sehingga nilai dari parameter
tersebut akan digunakan. Maka pada pernyataan :
age = age;
kita telah menentukan nilai dari parameter age kepada parameter itu sendiri.
Hal ini sangat tidak kita kehendaki pada kode program kita. Untuk menghindari
kesalahan semacam ini, kita gunakan metode referensi this. Untuk
menggunakan tipe referensi ini, kita tuliskan :

this.<namaInstanceVariable>

Sebagai contoh, kita dapat menulis ulang kode hingga tampak sebagai berikut :

public void setAge( int age ){


this.age = age;
}
Method ini akan mereferensikan nilai dari parameter age kepada
instance variable dari object StudentRecord.

CATATAN : Anda hanya dapat menggunakan referensi this terhadap


instance variable dan BUKAN static ataupun class variabel.

9. Overloading Methods
Dalam class yang kita buat, kadangkala kita menginginkan untuk membuat
method dengan nama yang sama namun mempunyai fungsi yang berbeda
menurut parameter yang digunakan. Kemampuan ini dimungkinkan dalam
pemrograman Java, dan dikenal sebagai overloading method.
Overloading method mengijinkan sebuah method dengan nama yang sama
namun memiliki parameter yang berbeda sehingga mempunyai implementasi
dan return value yang berbeda pula. Daripada memberikan nama yang
berbeda pada setiap pembuatan method, overloading method dapat
digunakan pada operasi yang sama namun berbeda dalam
implementasinya.

Sebagai contoh, pada class StudentRecord kita menginginkan sebuah


method yang akan menampilkan informasi tentang siswa. Namun kita juga
menginginkan operasi penampilan data tersebut menghasilkan output yang
berbeda menurut parameter yang digunakan. Jika pada saat kita memberikan
sebuah parameter berupa string, hasil yang ditampilkan adalah nama, alamat
dan umur dari siswa, sedang pada saat kita memberikan 3 nilai dengan tipe
double, kita menginginkan method tersebut untuk menampilkan nama dan nilai
dari siswa.

Jangan lupakan bahwa overloaded method memiliki property sebagai berikut :


1. Nama yang sama
2. Parameter yang berbeda
3. Nilai kembalian (return) bisa sama ataupun berbeda
10. Deklarasi Constructor

Telah tersirat pada pembahasan sebelumnya, Constructor sangatlah


penting pada pembentukan sebuah object. Constructor adalah method
dimana seluruh inisialisasi object ditempatkan.

Berikut ini adalah property dari Constructor :


1. Constructor memiliki nama yang sama dengan class
2. Sebuah Constructor mirip dengan method pada umumnya, namun hanya
informasi – informasi berikut yang dapat ditempatkan pada header
sebuah constructor, scope atau identifikasi pengaksesan (misal: public),
nama dari konstuktor dan parameter.
3. Constructor tidak memiliki return value
4. Constructor tidak dapat dipanggil secara langsung, namun harus
dipanggil dengan menggunakan operator new pada pembentukan sebuah
class.
Untuk mendeklarasikan constructor, kita tulis,

<modifier> <className> (<parameter>*) {


<statement>*
}

11. Default Constructor

Setiap class memiliki default constructor. Sebuah default constructor


adalah constructor yang tidak memiliki parameter apapun. Jika sebuah class
tidak memiliki constructor apapun, maka sebuah default constructor akan
dibentuk secara implisit :
Sebagai contoh, pada class StudentRecord, bentuk default constructor akan
terlihat seperti di bawah ini :

public StudentRecord()
{
//area penulisan kode
}
12. Overloading Constructor

Seperti telah kita bahas sebelumnya, sebuah constructor juga dapat


dibentuk menjadi overloaded. Dapat dilihat pada 4 contoh sebagai berikut :

public StudentRecord(){
//area inisialisasi kode;
}

public StudentRecord(String temp){


this.name = temp;
}
public StudentRecord(String name, String address){
this.name = name;
this.address = address;
}

public StudentRecord(double mGrade, double eGrade, double sGrade){


mathGrade = mGrade;
englishGrade = eGrade;
scienceGrade = sGrade;
}

13. Menggunakan Constructor

Untuk menggunakan constructor, kita gunakan kode – kode sebagai berikut :

public static void main( String[] args )


{
//membuat 3 objek
StudentRecord annaRecord=new StudentRecord("Anna");
StudentRecord beahRecord = new StudentRecord
("Beah","Philippines");
StudentRecord crisRecord=new StudentRecord(80,90,100);
//area penulisan kode selanjtunya
}

Sebelum kita lanjutkan, mari kita perhatikan kembali deklarasi variabel static
studentCount yang telah dibuat sebelumnya. Tujuan deklarasi studentCount
adalah untuk menghitung jumlah object yang dibentuk pada class
StudentRecord. Jadi, apa yang akan kita lakukan selanjutnya adalah
menambahkan nilai dari studentCount setiap kali setiap pembentukan
object pada class StudentRecord. Lokasi yang tepat untuk memodifikasi dan
menambahkan nilai studentCount terletak pada constructor-nya, karena
selalu dipanggil setiap kali objek terbentuk.
Sebagai contoh :

public StudentRecord(){
//letak kode inisialisasi
studentCount++; //menambah student
}

public StudentRecord(String temp){


this.name = temp;
studentCount++; //menambah student
}

public StudentRecord(String name, String address){


this.name = name;
this.address = address;
studentCount++; //menambah student
}

public StudentRecord(double mGrade, double eGrade, double


sGrade){
mathGrade = mGrade;
englishGrade = eGrade;
scienceGrade = sGrade;
studentCount++; //menambah student
}

14. Pemanggilan Constructor Dengan this()

Pemanggilan constructor dapat dilakukan secara berangkai, dalam arti


Anda dapat memanggil constructor di dalam constructor lain. Pemanggilan
dapat dilakukan dengan referensi this(). Perhatikan contoh kode sebagai
berikut :

E. Metode Pembelajaran
 Pendekatan : Scientific (Ilmiah)
 Model : Project Based Learning (Berbasis Proyek)
 Metode :
1. Observing (Mengamati)
2. Questioning (Mempertanyakan)
3. Exploring/Experimenting (Bereksperimen/Mengumpulkan Informasi)
4. Associating (Mengasosiasi)
5. Communicating/Networking (Mengkomunikasikan)
6. Ceramah

F. Media, Alat, dan Sumber Pembelajaran


1. Media : Slide Presentasi
2. Alat/bahan : LCD Proyektor, Spidol
3. Sumber belajar: Panduan Jeni Jardiknas, 2007-2008

G. Kegiatan Pembelajaran
Pertemuan Pertama
a. Pendahuluan/Kegiatan Awal (20 menit)
1. Guru mengondisikan kelas, meliputi pengaturan tempat duduk,
mempresensi kehadiran siswa, dan berdoa.
2. Guru memotivasi siswa (menampilkan slide dan video), tentang
bagaimana seseorang memanage kebiasaan hidupnya.
3. Guru menyampaikan tujuan pembelajaran, langkah-langkah
pembelajaran, maupun garis besar materi.
b. Kegiatan Inti (100 menit)
SISWA GURU Waktu
Mengamati (Observing)
1. Siswa mengamati penjelasan 1. Sebelum mulai ke inti 70
guru tentang pendeklarasian materi yang akan diajarkan, menit
atribut, instance variable, class guru menanyakan kepada
variable, static variable, siswa tentang apa yang
deklarasi methods, accessor mereka ketahui dengan
methods, dan mutator methods. atribut, instance variable,
Mempertanyakan (Questioning) class variable, static
2. Siswa bertanya jawab tentang variable, deklarasi methods,
bagaimana membuat suatu accessor methods, dan
atribut, instance variable, class mutator methods. Apabila 15
variable, static variable, sebelum dijelaskan, siswa menit
deklarasi methods, accessor telah ada yang mengetahui
methods, dan mutator methods. terlebih dahulu, maka guru
Mengeksplorasi (Exploring) mengapresiasi dengan
3. Siswa mampu mengaitkan memberikan nilai plus
hubungan atribut, instance terhadap anak tersebut.
variable, class variable, static 2. Guru menjelaskan tentang 15
variable, deklarasi methods, atribut, instance variable, menit
accessor methods, dan mutator class variable, static
methods sesuai dengan contoh variable, deklarasi methods,
yang ada dalam kehidupan accessor methods, dan
sehari-hari. mutator methods, serta
Mengasosiasi (Associating) memberikan contoh dengan
4. Siswa secara individu benda-benda nyata yang
mengidentifikasi kembali ada di sekitar kita.
atribut, instance variable, class 3. Apabila siswa telah
variable, static variable, mencermati materi,
deklarasi methods, accessor kemudian siswa bertanya
methods, dan mutator methods. tentang bagaimana cara
Mengomunikasikan
membuat class dan seperti
(Communicatting)
apa syntax yang digunakan.
5. Siswa menyampaikan konklusi
Apabila tidak ada yang
dari pembelajaran yang telah
bertanya, maka Guru
berlangsung dengan santun.
menunjuk beberapa siswa
untuk menjawab
pertanyaan yang diberikan
oleh Guru. Hal tersebut
dilakukan bertujuan untuk
mengetahui seberapa jauh
siswa memahami materi
yang telah disampaikan.
c. Evaluasi (45 menit)
Soal ada di Aspek Penilaian
d. Penutup (15 menit)
1. Siswa dan guru menyimpulkan hasil belajar.
2. Guru mengingatkan siswa untuk berusaha mengerjakan tugas
jika diberi tugas oleh Guru, agar tugas tidak semakin
menumpuk.
3. Mengakhiri pertemuan dengan doa bersama.

Pertemuan Kedua
a. Pendahuluan/Kegiatan Awal (20 menit)
1. Guru mengondisikan kelas, meliputi pengaturan tempat duduk,
mempresensi kehadiran siswa, dan berdoa.
2. Guru menyampaikan tujuan pembelajaran, langkah-langkah
pembelajaran, maupun garis besar materi.

b. Kegiatan Inti (100 menit)


SISWA GURU Waktu
Mengamati (Observing)
1. Siswa mengamati penjelasan 1. Sebelum mulai ke inti 70
guru tentang multiple return materi yang akan diajarkan,
menit
statements, static methods, guru menanyakan kepada
reference this. siswa tentang apa yang
Mempertanyakan (Questioning) mereka ketahui dengan
2. Siswa bertanya jawab tentang multiple return statements,
bagaimana membuat multiple static methods, reference
15
return statements, static this. Apabila sebelum
methods, reference this. dijelaskan, siswa telah ada menit
Mengeksplorasi (Exploring) yang mengetahui terlebih
3. Siswa mampu mengaitkan dahulu, maka guru
hubungan multiple return mengapresiasi dengan
statements, static methods, memberikan nilai plus
reference this. terhadap anak tersebut.
Mengasosiasi (Associating) 2. Guru menjelaskan tentang 15
4. Siswa secara individu multiple return statements,
menit
mengidentifikasi kembali static methods, reference
multiple return statements, this, serta memberikan
static methods, reference this. contoh dengan benda-
Mengomunikasikan benda nyata yang ada di
(Communicatting) sekitar kita.
5. Siswa menyampaikan konklusi 3. Apabila siswa telah
dari pembelajaran yang telah mencermati materi,
berlangsung dengan santun. kemudian siswa bertanya
tentang bagaimana cara
membuat class dan seperti
apa syntax yang digunakan.
Apabila tidak ada yang
bertanya, maka Guru
menunjuk beberapa siswa
untuk menjawab
pertanyaan yang diberikan
oleh Guru.
c. Evaluasi (45 menit)
Soal ada di Aspek Penilaian
d. Penutup (15 menit)
1. Siswa dan guru menyimpulkan hasil belajar.
2. Guru mengingatkan siswa untuk berusaha mengerjakan tugas
jika diberi tugas oleh Guru, agar tugas tidak semakin
menumpuk.
3. Mengakhiri pertemuan dengan doa bersama.

H. Penilaian
1. Aspek Pengetahuan
a. Bentuk Penilaian : Individu
b. Bentuk Instrumen : Penilaian Praktik
c. Instrumen :
Buatlah sebuah program Student Record yang di dalamnya
mengandung atribut, methods, reference this, dan overloading
methods :
d. Kunci Jawaban dan Pedoman Penskoran
Listing Program
Penskoran
No. Aspek yang Dinilai Skor
1 Siswa dapat membuat listing programnya dengan 85
benar

2. Aspek Keterampilan
Panduan Internalisasi Sikap
Kondisi yang Dicapai
No. Nilai Sikap/Karakter yang Diamati Ya Belum
A Sikap Ketuhanan
Kemauan siswa untuk dapat melaksanakan
sholat berjamaah (khusus yang beragama
Islam, dan yang tidak sedang berhalangan)
di Masjid dekat Sekolah.
B Sikap Sosial
1. Jujur
2. Teliti
3. Tanggung jawab
4. Santun
5. Menghargai pendapat teman

LEMBAR PENGAMATAN SIKAP


Mata Pelajaran :Pemrograman Berorientasi Objek (PBO)
Kelas/Semester :XI RPL 1,2 / 3 (Tiga)
Tahun Pelajaran :2015/2016
Waktu Pengamatan :Selama Pembelajaran Berlangsung
Indikator perkembangan karakter kreatif, komunikatif, dan kerja keras
1. BT (belum tampak) jika sama sekali tidak menunjukkan usaha sungguh-
sungguh dalam menyelesaikan tugas
2. MT (mulai tampak) jika menunjukkan sudah ada usaha sungguh-
sungguh dalam menyelesaikan tugas tetapi masih sedikit dan belum
ajeg/konsisten
3. MB (mulai berkembang) jika menunjukkan ada usaha sungguh-sungguh
dalam menyelesaikan tugas yang cukup sering dan mulai ajeg/konsisten
4. MK (membudaya) jika menunjukkan adanya usaha sungguh-sungguh
dalam menyelesaikan tugas secara terus-menerus dan ajeg/konsisten
Bubuhkan check list (√) pada kolom-kolom sesuai hasil pengamatan.
1 2 3 4 5
Menghargai
NAMA SISWA Jujur Teliti Tanggungjawab Santun
Pendapat Teman

B M M M B M M M B M M M B M M M B M M M
T T B K T T B K T T B K T T B K T T B K
AIDDIN
MUFTI
MUTTHOHA
RI
AJENG SRI
HANDAYANI

ALGAZELLA
SUKMASARI

ANGGORO
SAKTI
ANINDHITO

ANIS
SUSANTY
ISTIKHOMA
H

ANISA YULI
NUR
ULUMINA
FIRDAUR

ASEH
OCTOFIYANI

BILLY
PRATAMA
FEBRIANTO

DANISA
MILANIA
HIKMA
DESIANA
BELLA
ERIYANTO

DIAH
KURNIASARI

DJWA,ADITY
A PRASETYA

FARAH UMI
MAULIDA

FATIKA PUJI
DAMAYANTI

IRVA
HIDAYATUL
MAGHFIRO
H

LIDYA
AMALIA
HUSNI
FITRIANA

NILA
KHUSNUL
SARI

NOVITA
KUSUMA
ARDI

NUR IKBAR
MARDIYAH

NUR SITI
AISYAH

PUTRI DWI
WASESO

PUTRI EKA
ANGGI
DWIYANTI

PUTRI
SULAIMANA
NURANI
PUTRI DIAH
ANGGRAENI

RISA
ULFANALIA

RISMA
AULIA
CHAERUNNI
SA

RIZKY
ARDIYANTO

RIZQI YANI
CHASNA'UN
NISAI LUBIS

SABRINNA
MUTHIA

SUKMA
AJENG DWI
ADITYA

SYARIFAH

TIYAS
ISTIQOMAH

TRI UMUL
INSYANIYAH

WINDA
KRISTIANIN
GRUM

YASINTA
PUTERI W

YUSNI
RATNA N

AIDDIN
MUFTI
MUTTHOHA
RI
LEMBAR PENGAMATAN SIKAP
Mata Pelajaran :Pemrograman Berorientasi Objek (PBO)
Kelas/Semester :XI RPL 2 / 3 (Tiga)
Tahun Pelajaran :2015/2016
Waktu Pengamatan:Selama Pembelajaran Berlangsung

Bubuhkan check list (√) pada kolom-kolom sesuai hasil pengamatan.


1 2 3 4 5
Menghargai
NAMA SISWA Jujur Teliti Tanggungjawab Santun
Pendapat Teman

B M M M B M M M B M M M B M M M B M M M
T T B K T T B K T T B K T T B K T T B K
AIDDIN
MUFTI
MUTTHOHA
RI
AJENG SRI
HANDAYANI

ALGAZELLA
SUKMASARI

ANGGORO
SAKTI
ANINDHITO

ANIS
SUSANTY
ISTIKHOMA
H

ANISA YULI
NUR
ULUMINA
FIRDAUR

ASEH
OCTOFIYANI

BILLY
PRATAMA
FEBRIANTO

DANISA
MILANIA
HIKMA

DESIANA
BELLA
ERIYANTO

DIAH
KURNIASARI

DJWA,ADITY
A PRASETYA

FARAH UMI
MAULIDA

FATIKA PUJI
DAMAYANTI

IRVA
HIDAYATUL
MAGHFIRO
H

LIDYA
AMALIA
HUSNI
FITRIANA

NILA
KHUSNUL
SARI

NOVITA
KUSUMA
ARDI

NUR IKBAR
MARDIYAH

NUR SITI
AISYAH

PUTRI DWI
WASESO

PUTRI EKA
ANGGI
DWIYANTI

PUTRI
SULAIMANA
NURANI

PUTRI DIAH
ANGGRAENI

RISA
ULFANALIA

RISMA
AULIA
CHAERUNNI
SA

RIZKY
ARDIYANTO

RIZQI YANI
CHASNA'UN
NISAI LUBIS

SABRINNA
MUTHIA

SUKMA
AJENG DWI
ADITYA

SYARIFAH

TIYAS
ISTIQOMAH

TRI UMUL
INSYANIYAH

WINDA
KRISTIANIN
GRUM

YASINTA
PUTERI W

Mengetahui Semarang, September 2016


Kepala Sekolah Guru Mata Pelajaran

Drs. H. Ahmad Ishom, M.Pd Nafila Rifki Ayub, S.Pd.


NIP.19621219 199303 1 007