Anda di halaman 1dari 98

Unit Pembelajaran

Program Pengembangan Keprofesian Berkelanjutan (PKB)


melalui
Peningkatan Kompetensi Pembelajaran (PKP)
Berbasis Zonasi

Mata Pelajaran
Informatika

Pemrograman
Berorientasi
Objek

MODUL
INSPIRASI

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN


LEMBAGA PENGEMBANGAN DAN PEMBERDAYAAN
PENDIDIK DAN TENAGA KEPENDIDIKAN
BIDANG KELAUTAN PERIKANAN
TEKNOLOGI INFORMASI DAN KOMUNIKASI
2019
Unit Pembelajaran
PROGRAM PENGEMBANGAN KEPROFESIAN BERKELANJUTAN (PKB)
MELALUI PENINGKATAN KOMPETENSI PEMBELAJARAN (PKP)
BERBASIS ZONASI

MATA PELAJARAN FISIKA


SEKOLAH MENENGAH ATAS
(SMA)

PEMROGRAMAN
BERORIENTASI
OBJEK
Penulis:
NURUL HAYATI, S.TI

Penyunting:
Arnis

Desainer Grafis dan Ilustrator:


TIM Desain Grafis

Copyright © 2019
Direktorat Pembinaan Guru Pendidikan Menengah dan Pendidikan Khusus
Direktorat Jenderal Guru dan Tenaga Kependidikan
Kementerian Pendidikan dan Kebudayaan

Hak Cipta Dilindungi Undang-Undang


Dilarang mengopi sebagian atau keseluruhan isi buku ini untuk kepentingan komersial
tanpa izin tertulis dari Kementerian Pendidikan dan Kebudayaan.
Unit Pembelajaran
Pemrograman Berorientasi Objek

KATA SAMBUTAN

Peran guru profesional dalam proses pembelajaran sangat penting sebagai


kunci keberhasilan belajar peserta didik. Guru professional adalah adalah
guru yang kompeten dalam membangun dan mengembangkan proses
pembelajaran yang baik dan efektif sehingga dapat menghasilkan peserta
didik yang pintar dan pendidikan yang berkualitas. Hal tersebut menjadikan
guru sebagai komponen yang menjadi fokus perhatian pemerintah pusat
maupun pemerintah daerah dalam peningkatan mutu pendidikan terutama
menyangkut kompetensi guru.

Pengembangan profesionalitas guru melalui Program Peningkatan


Kompetensi Pembelajaran (PKP) merupakan upaya Kementerian Pendidikan
dan Kebudayaan melalui Direktorat Jenderal Guru dan Tenaga Kependikan
dalam upaya peningkatan kompetensi guru. Program PKP bertujuan untuk
meningkatkan kompetensi peserta didik melalui pembinaan guru dalam
merencanakan, melaksanakan sampai dengan mengevaluasi pembelajaran
yang berorientasi pada keterampilan berpikir tingkat tinggi (Higher Order
Thinking Skills/HOTS).

Pusat Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependidikan


(PPPPTK), Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga
Kependidikan Kelautan Perikanan Teknologi Informasi dan Komunikasi
(LP3TK KPTK) dan Lembaga Pengembangan dan Pemberdayaan Kepala
Sekolah (LP2KS) merupakan Unit Pelaksanana Teknis di lingkungan
Direktorat Jenderal Guru dan Tenaga Kependidikan yang bertanggung jawab
dalam mengembangkan perangkat dan melaksanakan peningkatan
kompetensi guru sesuai bidangnya.

iii
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Adapun perangkat pembelajaran yang dikembangkan tersebut adalah Unit


Pembelajaran. Unit pembelajaran ini berisi materi pembelajaran sesuai target
Kompetensi Dasar, contoh-contoh aktivitas pembelajaran dan penilaian yang
bisa menginspirasi guru dalam pelaksanaan pembelajaran yang berorientasi
pada keterampilan berpikir tingkat tinggi.

Mari kita sukseskan Program Peningkatan Kompetensi Pembelajaran ini


untuk mewujudkan Guru Mulia Karena Karya.

Direktur Pembinaan Guru


Pendidikan Menengah dan
Pendidikan Khusus,

Ir. Sri Renani Pantjastuti, MPA


NIP 196007091985032001

iv
Unit Pembelajaran
Pemrograman Berorientasi Objek

KATA PENGANTAR

Peningkatan kompetensi merupakan salah satu program yang menjadi fokus


Kementerian Pendidikan dan Kebudayaan. Bukan hanya peningkatan
kompetensi pendidik dan tenaga kependidikan saja, namun juga peningkatan
kompetensi peserta didik. Karena guru profesional adalah guru yang
kompeten dalam membangun dan mengembangkan proses pembelajaran
yang baik dan efektif sehingga dapat menghasilkan peserta didik yang pintar
dan pendidikan yang berkualitas.

Peningkatan kompetensi bagi peserta didik salah satunya dilakukan melalui


Program Peningkatan Kompetensi Pembelajaran yang selanjutnya disingkat
dengan Program PKP. Program ini bertujuan untuk meningkatkan
kompetensi peserta didik melalui pembinaan guru dalam merencanakan,
melaksanakan sampai dengan mengevaluasi pembelajaran yang berorientasi
pada keterampilan berpikir tingkat tinggi (Higher Order Thinking
Skills/HOTS). Program ini merupakan salah satu pendukung program
Pengembangan Keprofesian Berkelanjutan (PKB). Jika program PKB fokus
pada peningkatan kompetensi guru baik pedagogi maupun profesional, maka
program PKP lebih berfokus pada upaya memintarkan peserta didik melalui
pembelajaran berpikir tingkat tinggi.

Program PKP memerlukan beberapa perangkat pendukung diantaranya


adalah Unit Pembelajaran. Unit pembelajaran ini berisi materi pembelajaran
sesuai target Kompetensi Dasar, contoh-contoh aktivitas pembelajaran dan
penilaian yang bisa menginspirasi guru dalam pelaksanaan pembelajaran
yang berorientasi pada keterampilan berpikir tingkat tinggi.

v
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Dengan adanya Unit Pembelajaran berorientasi pada Keterampilan Berpikir


Tingkat Tinggi ini diharapkan dapat memandu para guru dalam hal
merencanakan, melaksanakan dan mengevaluasi pembelajaran lebih baik
lagi sehingga mereka dapat meningkatkan kualitas pendidikan di Indonesia.

Direktur Pembinaan Guru


Pendidikan Menengah dan
Pendidikan Khusus,

Ir. Sri Renani Pantjastuti, MPA


NIP 196007091985032001

vi
Unit Pembelajaran
Pemrograman Berorientasi Objek

DAFTAR ISI

Hal

KATA SAMBUTAN______________________________ III


KATA PENGANTAR ______________________________ V
DAFTAR ISI __________________________________ VII
DAFTAR GAMBAR______________________________ IX
DAFTAR TABEL ________________________________ X
PENDAHULUAN ________________________________ 1
KOMPETENSI DASAR ____________________________ 3
A. Kompetensi Dasar dan Target Kompetensi ________________________________ 3
Indikator Pencapaian Kompetensi _____________________________________________ 5
APLIKASI DI DUNIA NYATA ______________________ 9
A. Membuat suatu pekerjaan menjadi langkah-langkah mudah ____________ 9
B. Social Media ________________________________________________________________ 11
SOAL-SOAL UN/USBN __________________________ 13
A. CONTOH SOAL _____________________________________________________________ 13
Pembahasan Soal ______________________________________________________________ 15
BAHAN PEMBELAJARAN ________________________ 19
B. Aktivitas Pembelajaran ____________________________________________________ 19
Aktivitas Kelas XI__________________________________________________________________ 20
Aktivitas 1 Memahami Program Modular _______________________________________ 20
Aktivitas 2 Mengenal Algoritma Searching dan Sorting ________________________ 23
Aktivitas 3 Mengenal Contoh Algoritma Optimasi______________________________ 26
Aktivitas Kelas XII _________________________________________________________________ 29
Aktivitas 4 Memahami Kualitas Program_______________________________________ 29
Aktivitas 5 Memahami Tata Cara Pengujian Program (test case) _____________ 32
Lembar Kerja Peserta Didik __________________________________________________ 35
Lembar Kerja Peserta Didik 1 ____________________________________________________ 35

vii
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Lembar Kerja Peserta Didik 2.A___________________________________________________37


Lembar Kerja Peserta Didik 2.B___________________________________________________40
Lembar Kerja Peserta Didik 3 _____________________________________________________43
Mengenal Algoritma Optimasi ____________________________________________________43
Lembar Kerja Peserta Didik 4 _____________________________________________________46
Lembar Kerja Peserta Didik 5 _____________________________________________________50
C. Bahan Bacaan I _____________________________________________________________ 53
1. Modularisasi __________________________________________________________________53
2. Algoritma Sorting_____________________________________________________________57
Pengurutan Gelembung (Bubble Sort)____________________________________________58
3. Algoritma Searching__________________________________________________________61
Pencarian Bagi Dua (Binary Search) ______________________________________________62
4. Algoritma Greedy _____________________________________________________________64
D. Bahan Bacaan II ____________________________________________________________ 68
1. Kualitas Program ___________________________________________________________ 68
2. Kasus Uji (test case) __________________________________________________________70
PENGEMBANGAN PENILAIAN_____________________ 73
A. Pembahasan Soal-soal _____________________________________________________ 73
Mengembangkan Soal HOTS __________________________________________________ 77
KESIMPULAN __________________________________ 84

UMPAN BALIK ________________________________ 85

viii
Unit Pembelajaran
Pemrograman Berorientasi Objek

DAFTAR GAMBAR

Hal

Gambar 1 Ilustrasi tugas membuka pintu ________________________________________ 9


Gambar 2. Social Media __________________________________________________________ 11
Gambar 3. searching facebook __________________________________________________ 12

ix
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

DAFTAR TABEL

Hal

Tabel 1. Kompetensi Dasar dan Target Kompetensi ____________________________ 3


Tabel 2. Kompetensi Dasar dan Target Kompetensi ____________________________ 4
Tabel 3. Indikator Pencapaian Kompetensi _____________________________________ 5
Tabel 4. Indikator Pencapaian Kompetensi _____________________________________ 7
Tabel 3 Sintaks Problem Based Learning (PBL) pada Pembelajaran Aktivitas 1
_______________________________________________________________________________ 20
Tabel 4 Sintaks Problem Based Learning (PBL) pada Pembelajaran Aktivitas 2
_______________________________________________________________________________ 23
Tabel 5 Sintaks Problem Based Learning (PBL) pada Pembelajaran Aktivitas 3
_______________________________________________________________________________ 26
Tabel 6 Sintaks Problem Based Learning (PBL) pada Pembelajaran Aktivitas 4
_______________________________________________________________________________ 29

x
Unit Pembelajaran
Pemrograman Berorientasi Objek

PENDAHULUAN

Berdasarkan Permendikbud RI Nomor 37 tahun 2018 tentang Perubahan


atas Permendikbud Nomor 24 tahun 2016 tentang KI-KD Pelajaran pada
Kurikulum 2013 pada Pendidikan Dasar dan Pendidikan Menengah. Dalam
permendikbud tersebut diatur kedudukan mata pelajaran informatika pada
jenjang SMP/MTsN, SMA/MAN dapat dilaksanakan melalui tatap muka. Mata
pelajaran informatika bukan merupakan mata pelajaran wajib bagi satuan
pendidikan jenjang SMP/MTsN/SMA/MAN akan tetapi dikondisikan pada
satuan pendidikan akan ketersediaan tenaga pengajar dan sarana pendukung
yang memungkinkan diajarkannya mata pelajaran informatika.

Oleh karena itu, subunit ini disusun sebagai salah satu alternatif sumber
bahan ajar bagi guru untuk memahami topik algoritma dan pemrograman.
Melalui pembahasan materi yang terdapat pada subunit ini, guru dapat
memiliki dasar pengetahuan untuk mengajarkan materi yang sama ke
peserta didiknya yang disesuaikan dengan indikator yang telah disusun,
terutama dalam memfasilitasi kemampuan bernalar peserta didik. Selain itu,
materi ini juga aplikatif untuk guru sendiri sehingga guru dapat
menerapkannya dalam kehidupan sehari-hari.

Agar memudahkan guru untuk mempelajari konten dan cara


mengajarkannya, di dalam unit ini dimuat komptensi dasar terkait Permen
No.37 Tahun 2018 yang memuat target kompetensi dan indikator
pencapaian kompetensi, bahan bacaan tentang aplikasi nyata pemrograman
di kehidupan sehari-hari, deskriptif alternatif aktivitas pembelajaran, lembar
kerja peserta didik yang dapat digunakan guru untuk memfasilitasi
pembelajaran, bahan bacaan yang dapat dipelajari oleh guru maupun peserta
didik dan pembahasan soal-soal terkait pemrograman dan pengembangan
soal HOTS.

1
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Komponen-komponen di dalam subunit ini dikembangkan dengan tujuan


agar guru dapat dengan mudah memfasilitasi peserta didik untuk memahami
pemrograman berorientasi objek melalui struktur pemrograman
modularisasi, algoritma sederhan penyusunan dan pencarian, kemudian
mengetahui kualitas suatu program dengan pengujian berdasarkan kasus uji
di lingkungan pemrograman berorientasi objek, sekaligus mendorong
peserta didik mengasah dan meningkatkan kreatifitas mereka dalam belajar
matematika dan konsep komputer, logika dan algoritma, penalaran atau
berfikir komputasional, pemecahan masalah serta kemampuan
berkolaborasi.
Model yang digunakan dalam aktivitas pembelajaran ini adalah model
Problem-based Learning (PBL) dengan sintaks orientasi peserta didik pada
masalah; mengorganisasikan peserta didik untuk belajar; membimbing
penyelidikan individu maupun kelompok;mengembangkan dan menyajikan
hasil karya, menganalisis dan mengevaluasi proses pemecahan masalah.

Topik pemrograman pada bahan bacaan terdiri pemrograman


modularisasi;algoritma sorting dan searching; algoritma optimasi;kualitas
program dan kasus uji (test case).

2
Unit Pembelajaran
Pemrograman Berorientasi Objek

KOMPETENSI DASAR

A. Kompetensi Dasar dan Target Kompetensi

1. Subunit pembelajaran ini dikembangkan berdasarkan Kompetensi


Dasar (KD) kelas XI Mata Pelajaran Informatika Jenjang SMA
sebagaimana tertuang dalam Permendikbud No.37 Tahun 2018,
seperti terlihat pada tabel 1 berikut:

Tabel 1. Kompetensi Dasar dan Target Kompetensi


Kompetensi Dasar Target Kompetensi Dasar
3.6.1. Mengenal modularisasi 3.6.1.1. Memahami konsep modularisasi
dalam penulisan program. dalam penulisan program

3.6.2. Mengenal beberapa proses 3.6.2.1. Memahami proses search dan


standard (search, sort) sort sederhana
yang primitif/sederhana.
3.7 Mengetahui adanya 3.7.1. Mengenal dan memahami
algoritma-algoritma agoritma-algoritma standar
standar yang efisien untuk berdasarkan konsep AI
keperluan-keperluan
tertentu termasuk yang
berdasarkan konsep AI.
4.6. Menulis program yang 4.6.1 Mampu menulis pemecahan
mengandung persoalan dalam bentuk
prosedur/fungsi dan array program moduler, yang sudah
(Siswa mampu menulis mengandung parameter-
pemecahan persoalan parameter
dalam bentuk program
moduler, yang sudah

3
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

mengandung parameter-
parameter).

4.7.1 Melakukan pemecahan 4.7.1.1. Mampu membangun algoritma


persoalan dengan cara solusi dan mengkodenya dalam
sederhana. bahasa yang digunakan

4.7.2 Melakukan pemecahan 4.7.2.1. Mampu memecahkan persoalan


persoalan dengan cara kompleks dengan cara yang
lebih advance. lebih advance

4.7.3 Mengevaluasi dan memilih 4.7.3.1. Mampu memilih algoritma yang


algoritma berdasarkan efisien dan optimal
perfomansi, penggunaan berdasarkan perfomansi,
ulang dan kemudahan penggunaan ulang dan
implementasi. kemudahan implementasi.
4.7.4 Mengenal beberapa 4.7.4.1. Mampu mengenal algoritma
algoritma yang dipakai untuk mengembangkan
mengembangkan software, software, mengamankan data
mengamankan data dan dan menyimpan informasi
menyimpan informasi.

2. Subunit pembelajaran ini dikembangkan berdasarkan Kompetensi


Dasar (KD) kelas XII Mata Pelajaran Informatika Jenjang SMA
sebagaimana tertuang dalam Permendikbud No.37 Tahun 2018,
seperti terlihat pada tabel 2 berikut:

Tabel 2. Kompetensi Dasar dan Target Kompetensi


Kompetensi Dasar Target Kompetensi Dasar
3.1 Mengetahui kualitas 3.1.1. Mengenal apakah kode program
program/source code dari yang diberikan (readability.

4
Unit Pembelajaran
Pemrograman Berorientasi Objek

kriteria yang diberikan Robustness, performance).


(readability. Robustness,
performance).

3.2 Memahami test case dan tata 3.2.1. Memahami test cast dan tata cara
cara pengujian program. pengujian program

4.1 Melakukan modifikasi 4.1.1. Mampu melakukan modifikasi


program tanpa mengubah program tanpa mengubah
struktur dan menyebabkan struktur dan menyebabkan
masalah masalah

4.2 Bekerja dalam tim untuk 4.2.1. Mampu bekerja dalam tim untuk
mengembangkan dan menulis program,
menguji program. mengembangkan dan menguji
program.

Indikator Pencapaian Kompetensi

1. Indikator Pencapaian Kompetensi (IPK) merupakan turunan dari


Kompetensi Dasar (KD) kelas XI Mata Pelajaran Informatika Jenjang
SMA seperti disajikan pada tabel 2 berikut:

Tabel 3. Indikator Pencapaian Kompetensi


IPK Pengetahuan IPK Keterampilan
Kelas XI
IPK Pendukung IPK Pendukung
3.6.1.1.1. Mengenal konsep program 4.6.1.1. Menulis program moduler
moduler (fungsi, prosedur), dengan menggunakan
proses dasar seperti sort dan fungsi dan prosedur

5
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

search 4.7.1.1.1. Membuat program


3.6.2.1.1. Mengenal konsep problem sederhana untuk
solving dengan membuat menyelesaikan
solusi berupa program permasalahan dengan
3.7.1.1. Mengenal algoritma standar bahasa pemrograman
dan Library/API sesuai bahasa yang diajarkan
dan tools yang dipakai 4.7.2.1.1. Mengenal persoalan
algoritma yang lebih
kompleks dengan
menggunakan data yang
besar
4.7.3.1.1. Menguji algoritma
berdasarkan performansi
4.7.4.1.1. Mengenal beberapa
algoritma pengembangan
software
IPK Kunci IPK Kunci
3.6.1.1.1.1. Mengenal program moduler 4.6.1.1.1. Menulis program moduler
3.6.2.1.1.1. Mengenal dan menuliskan menggunakan fungsi dan
proses search dan sort prosedur
dengan memakai bahasa 4.7.1.1.1. Membangun algoritma
yang dipelajari sebagai solusi dan
3.7.1.1.1. Mengenal algoritma standar mengkodenya dalam
bahasa yang diajarkan
4.7.2.1.1.1. Memecahkan persoalan
kompleks dengan data yang
lebih besar, memroses dan
menjalankan kode sumber
yang diperoleh
berdasarkan data dan

6
Unit Pembelajaran
Pemrograman Berorientasi Objek

mengamati hasilnya
4.7.3.1.1. Memilih algoritma yang
efisien dan optimal untuk
kriteria berdasarkan
sekumpulan algoritma yang
diberikan
4.7.4.1.1. Menulis dan menguji
algoritma untuk
pengembangan software,
mengamankan data dan
menyimpan informasi
(proses enkripsi)
IPK Pengayaan IPK Pengayaan
3.8.1.1.1. Menerapkan proses 4.7.5.1.1. Membuat program
pemrograman modular dan Framework dengan
pembentukan framework menggunakan modularisasi
dengan teknik pemrograman kode program
modern

2. Indikator Pencapaian Kompetensi (IPK) merupakan turunan dari


Kompetensi Dasar (KD) kelas XII Mata Pelajaran Informatika Jenjang
SMA seperti disajikan pada tabel 2 berikut:

Tabel 4. Indikator Pencapaian Kompetensi


IPK Pengetahuan IPK Keterampilan
Kelas XII
IPK Pendukung IPK Pendukung
3.1.1.1. Mengenal program dan kualitas 4.1.1.1. Menganalisis perubahan
program yang mempengaruhi program, penyebabnya dan
kemudahan modifikasi dampak perubahannya.

7
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

3.2.1.1. Mengenal kelas test, butir test 4.2.1.1. Mengenal pengujian program
dan skenario test
IPK Kunci IPK Kunci
3.1.1.1.1. Mengenal apakah kode 4.1.1.1.1. Melakukan perubahan,
program tersebut readable, melakukan kompilasi ulang,
robust dan/atau dan test ulang sehingga
performansinya bagus) sesuai program dapat berperilaku
dengan kriteria yang diajarkan sesuai spesifikasi perubahan
di kelas. 4.2.1.1.1. Menulis program dan
3.2.1.1.1. Memahami apa yang mengujinya dengan kasus uji
dilakukan program (input- yang lengkap.
proses-output) dan membuat
data uji untuk source code
tersebut, serta membuat
skenario pengujian
IPK Pengayaan IPK Pengayaan
3.3.1.1.1. Menerapkan dan menganalisis 4.3.1.1.1. Menguji program/source
kualitas suatu program code dengan memahami
berdasarkan kriteria struktur dan performasnsi
suatu program

8
Unit Pembelajaran
Pemrograman Berorientasi Objek

APLIKASI DI DUNIA NYATA

A. Membuat suatu pekerjaan menjadi langkah-langkah


mudah

Dalam kehidupan kita sehari-hari, pasti kita melakukan suatu tugas yang
harus kita kerjakan dan selesaikan. Tugas-tugas tersebut pasti memiliki cara
yang mudah atau panjang dalam menyelesaikannya. Nah, tentu kita sebagai
manusia ingin menyelesaikan tugas-tugas tersebut dengan cara sederhana
dan mudah tanpa harus melalui proses yang ribet dan berulang. Inilah yang
menjadi prinsip dasar dalam suatu konsep program moduler. Contohnya jika
kita memiliki tugas membuka pintu maka penyelesaiannya dengan:

 Jalan menuju pintu, kemudian;


 Buka pintu

Jalan menuju pintu

Membuka pintu
Buka pintu

Gambar 1 Ilustrasi tugas membuka pintu

Nah, bagaimana jika masalahnya tugasnya lebih sulit, contohnya pergi


kesekolah. Tentu prosesnya akan lebih panjang, nah kita dapat membuat
proses tersebut ke dalam beberapa tugas yang lebih mudah. Langkah-
langkah atau tugas tersebut yaitu:

1. Waktu : mengatur waktu mulai dari bangun pagi, mandi pagi


dan sarapan

9
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

2. Persiapan : mempersiapkan kebutuhan dan perlengkapan yang


diperlukan untuk dibawa ke sekolah seperti (pakaian seragam, sepatu,
kaos kaki, buku-buku dan tas)
3. Perjalanan : menentukan kendaraan atau bagaimana cara menuju
sekolah (apakah menggunakan mobil pribadi (diantar); angkutan
umum; sepeda dll)
4. Di Sekolah : menuju kelas, menuju tempat duduk dan mengikuti
proses belajar.
Nah, Empat (4) langkah-langkah tugas diatas adalah proses yang harus
kita lakukan agar tugas pergi ke sekolah dapat kita selesaikan dengan
mudah dan tidak dilakukan dengan cara berulang proses ini disebut juga
dekomposisi. Jika kita lakukan dan membagi suatu tugas dalam beberapa
langkah maka tentunya kita akan mengalami kesulitan dalam
penyelesaiannya bagaimana jika tidak ada proses persiapan mungkin
kalian akan lupa membawa buku atau salah memakai seragam sehingga
kalian harus kembali lagi kerumah dalam menyelesaikan tugas tersebut
sehingga tidak efisien dan efektif.

Nah, jika kalian telah memahami konsep dasar penyelesain suatu


masalah/tugas sederhana seperti diatas, maka di dalam dunia
pemrograman jika kita ingin membuat program besar agar program
tersebut efektif dan efisien dan juga menghindari perulangan dalam
pembuatan prosesnya maka diperlukan konsep modularisasi dengan
membuat prosedur dan fungsi jika seperti contoh diatas maka prosedur
adalah “pergi ke sekolah” dengan membuat fungsi 4 (“waktu, persiapan,
perjalanan dan disekolah”).

Nah, jika kalian telah memahami konsep dekomposisi melalui


modularisasi, bagaimana dengan mesin ATM atau Facebook dapatkan

10
Unit Pembelajaran
Pemrograman Berorientasi Objek

kalian jabarkan penggunaan konsep dekomposisi melalui modularisasi


untuk program diatas ?

B. Social Media

Tentunya diera sekarang ini kita mengenal aplikasi social media yang sering
kita gunakan, seperti facebook, instagram, twitter atau whatsapp yang
memiliki fungsi berbeda namun tujuan sama yaitu sebagai media
penghubung untuk bersosialisasi di dunia maya. Namun pernahkan kita
berfikir ketika menggunakan aplikasi media tersebut bagaiman aplikasi
tersebut dan dibuat ? Apakah kalian pernah mempertanyakan hal tersebut
dan ingin mengetahuinya ?

Gambar 2. Social Media


Sumber: https://www.dreamstime.com

Secara sederhana, jika kita hubungkan dengan konsep modularitas seperti


pada contoh bagian A, maka aplikasi sosial media seperti yang disebutkan
pada bagian ini adalah salah satu contoh aplikasi yang dibuat dengan konsep
modularisasi. Mengapa ? karena aplikasi-aplikasi tersebut memiliki tugas
besar yang dibagi dalam beberapa langkah. Kita ambil contoh Facebook.
Facebook adalah aplikasi jejaring sosial yang memungkinkan pengguna dapat
saling berinteraksi dengan pengguna lainnya di seluruh dunia dengan
menampilkan seluruh informasi dari pengguna. Tentunya ini akan menjadi
program besar dengan prosedur/tugas menampilkan seluruh informasi
pengguna yang dibagi dalam beberapa langkah/proses yang disebut fungsi
(halaman, foto profil, profil pengguna, album dsb).

11
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Untuk itu agar proses pada setiap langkah dapat berjalan dengan baik
diperlukankan suatu pengujian agar informasi yang dihasilkan atau yang
ditampilkan benar, jikalau terdapat error aplikasi tersebut dapat memproses
ulang dan memperbaiki kesalahan untuk kembali menapilkan informasi yang
benar. Inilah yang disebut robustness (kekuatan). Jika

Jika kita sebagai pengguna salah mengetikkan suatu informasi yang ingin kita
cari, aplikasi facebook tidak akan rusak/crash namun akan menampilkan
berdasarkan apa yang kita cari dan memberikan kesempatan pengguna
untuk memperbaiki kembali dengan menuliskan suatu warning atau tanda
sebagai petunjuk kepada pengguna terhadap informasi yang ingin dicari
seperti contoh pada gambar dibawah ini:

Gambar 3. Searching facebook


Sumber: https://www.facebook.com

Dengan begitu bahwa aplikasi facebook dibuat dengan program yang


memiliki kekuatan (robustness) pada penyusunan algoritmanya dalam
menghadapi error/kesalah ketika dieksekusi.

12
Unit Pembelajaran
Pemrograman Berorientasi Objek

SOAL-SOAL UN/USBN

A. CONTOH SOAL
UJIAN SEKOLAH BERSTANDAR NASIONAL (USBN)
SEKOLAH MENENGAH ATAS (SMA) TAHUN 2017

UJIAN AKHIR SEKOLAH (UAS)


SEKOLAH MENENGAH ATAS (SMA) TAHUN 2015/2016

Kelas : XI
Mata Pelajaran : Pemrograman Berorientasi Objek
Waktu : 60 Menit
Bentuk Soal : Pilihan Ganda

1. Kumpulan dari method-method yang belum terdapat operasi di dalam


tubuh method tersebut disebut ...
a. Abstract class
b. Inheritance
c. Interface
d. Method abstract
e. Implements
2. Nama lain dari istilah pewarisan adalah ...
a. Inheritance
b. Interface
c. Overriding
d. Overloading
e. Implements
3. Class yang mempunyai sedikitnya satu abstract metode disebut ...
a. Abstract class
b. Class
c. Multiple interface

13
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

d. Implementasi
e. Interface
4. Class yang digunakan menggunakan array dan character disebut ...
a. Class math
b. Class string
c. Class string buffer
d. Class wrapper
e. Class procces
5. Method yang menghasilkan nilai mutlak adalah ...
a. Publik static double max (double a, b)
b. Publik static double cell (double a)
c. Publik static double abs (double a)
d. Publik static double floor (double a)
e. Publik static double log (double a)
6. Berikut ini yang termasuk tipe data wrapper adalah ...
a. Boolean
b. Byte
c. Character
d. Double
e. Semua jawaban benar
Jawabannya : E
7. Class yang menyediakan beberapa flied dan method bermanfaat
disebut ...
a. Class system
b. Class math
c. Class string
d. Class wrapper
e. Boolean
Jawabannya : A
8. Keyword penting dalam java dalam hal exception handing adalah ...

14
Unit Pembelajaran
Pemrograman Berorientasi Objek

a. Try
b. Catch
c. Finally
d. Throw
e. Semua jawaban benar
9. Super class tertinggi adalah ...
a. Class throwable
b. Php
c. Metode
d. Throw
e. Catch
10. Keyword yang digunakan dalam suatu block program adalah ...
a. Try
b. Throw
c. Throws
d. Catch
e. Finally

Pembahasan Soal

1. Kumpulan dari method-method yang belum terdapat operasi di dalam


tubuh method tersebut disebut ...
Jawabannya : C
Interface adalah wadah dari kumpulan method yang bersifat abstrak
atau tidak memiliki implementasi.
2. Nama lain dari istilah pewarisan adalah ...
Jawabannya : A
Inheritance atau Pewarisan/Penurunan adalah konsep pemrograman
dimana sebuah class dapat ‘menurunkan’ property dan method yang
dimilikinya kepada class lain.

15
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

3. Class yang mempunyai sedikitnya satu abstract metode disebut ...


Jawabannya : A
Abstract Class adalah sebuah class yang tidak bisa di-
instansiasi (tidak bisa dibuat menjadi objek) dan berperan sebagai
‘kerangka dasar’ bagi class turunannya. Di dalam abstract
class umumnya akan memiliki abstract method.
4. Class yang digunakan menggunakan array dan character disebut ...
Jawabannya : B
String adalah tipe data untuk teks yang merupakan gabungan huruf,
angka, whitespace (spasi), dan berbagai karakter. Fungsi ini
digunakan untuk membuat identifier String/teks. String juga sering
disebut sebagai “array of char” atau himpunan karakter.
5. Method yang menghasilkan nilai mutlak adalah ...
Jawabannya : C
Di dalam class ini terdapat method-method yang dapat digunakan
untuk menunjukkan perbedaan operasi matematika seperti fungsi
trigonometri dan logaritma. Selama method-method ini semua static,
Anda dapat menggunakannya tanpa memerlukan sebuah objek Math.
Berikut ini contoh method yang sering digunakan:
– public static double abs(double a) : menghasilkan nilai mutlak
– Public static double random() : menghasilkan nilai positif
bilangan acak (random) yang lebih besar atau sama dengan
nol.
– public static double max(double a, double b) : menghasilkan
nilai maksimum.
– public static double min(double a, double b) : menghasilkan
nilai minimum.
6. Berikut ini yang termasuk tipe data wrapper adalah ...
Jawabannya : E

16
Unit Pembelajaran
Pemrograman Berorientasi Objek

kelas tipe data wrapper di java ada sepuluh yaitu Boolean, Byte,
Character, Double, Float, Integer, Long, Number, Short, Void.
7. Class yang menyediakan beberapa field dan method bermanfaat
disebut ...
Jawabannya : A
Class System menyediakan beberapa field dan method bermanfaat,
seperti standard input, standard output dan sebuah method yang
berguna untuk mempercepat penyalinan bagian sebuah array.
8. Keyword penting dalam java dalam hal exception handing adalah ...
Jawabannya : E
Ada 5 keyword penting dalam java dalam hal exceptionhandling :
1. try, Keyword ini biasanya digunakan dalam
suatu blockprogram. keyword ini digunakan untuk mencoba
menjalankan blockprogram kemudian mengenai dimana munculnya
kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan
dengan keywordcatchatau keywordfinally yang akan dibahas pada
point kedua dan ketiga.
2. catch, Jika anda sudah melihat contoh try maka secara tidak
langsung anda sudah memahami kegunaan dari keyword ini. Dalam
java, keyword catch harus dipasangkan dengan try. Kegunaan
keyword ini adalah menangkap kesalahan atau bug yang terjadi
dalam blocktry. Setelah menangkap kesalahan yang terjadi
maka developer dapat melakukan hal apapun pada blockcatch sesuai
keinginan developer.
3. finally, Keyword ini merupakan keyword yang menunjukan
bahwa blockprogram tersebut akan selalu dieksekusi meskipun
adanya kesalahan yang muncul atau pun tidak ada.
4. throw, Keyword ini digunakan untuk melemparkan suatu bug yang
dibuat secara manual.

17
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

5. throws, Keywordthrows digunakan dalam suatu method atau kelas


yang mungkin menghasilkan suatu kesalahan sehingga perlu
ditangkap errornya.
9. Super class tertinggi adalah ...
Jawabannya : A
Pada exception, superclass tertinggi adalah class throwable, tetapu
hampir tidak pernah menggunakan class ini secara langsung. Dibawah
class throwable terdapat dua subclass yaitu class Error dan class
exception
10. Keyword yang digunakan dalam suatu block program adalah ...
Jawabannya : A
try, Keyword ini biasanya digunakan dalam
suatu blockprogram. keyword ini digunakan untuk mencoba
menjalankan blockprogram kemudian mengenai dimana munculnya
kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan
dengan keywordcatchatau keywordfinally yang akan dibahas pada
point kedua dan ketiga.

18
Unit Pembelajaran
Pemrograman Berorientasi Objek

BAHAN PEMBELAJARAN

B. Aktivitas Pembelajaran

Proses belajar mengajar merupakan proses interaksi antara guru dengan


peserta didik, didalamnya banyak kegiatan atau aktivitas yang dilakukan.
Guru diharuskan mampu memanfaatkan beragam aktivitas yang mungkin
dilakukan dalam pembelajaran agar mampu dengan mudah menyampaikan
materi yang disampaikan dan siswa juga dengan mudah memahami materi
yang disampaikan dengan variasi jenis aktivitas belajar yang sesuai dengan
gaya belajar masing-masing.

Aktivitas belajar melibatkan indera-indera atau sensor dan alat yang dimiliki
manusia untuk melakukan sesuatu. Indera-indera tersebut antara lain
meliputi indera penglihatan (visual), pendengaran (listening), berbicara
(oral), seluruh aktivitas fisik lain serta mental dan emosi.

Aktivitas pembelajaran pada kegiatan pembelajaran Algoritma ini dirancang


sebagai contoh pengembangan pembelajaran yang mengintegrasikan HOTS.
Langkah-langkah pembelajaran dalam aktivitas ini menggunakan
pembelajaran berbasis problem based learning (peserta didik membangun
konsep berdasarkan permasalahan). Langkah-langkah pembelajaran dalam
kegiatan ini juga dirancang dengan mengintegrasikan penguatan karakter
dan literasi.

19
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Aktivitas Kelas XI

Aktivitas 1 Memahami Program Modular

Aktivitas 1 dilakukan untuk pembelajaran memahami konsep pemograman


modular. Aktivitas pembelajarannya dilakukan dengan menggunakan model
Problem-based Learning (PBL). Adapun langkah-langkah pembelajarannya,
sebagaimana disajikan pada Tabel 3 berikut:
Tabel 5 Sintaks Problem Based Learning (PBL) pada Pembelajaran Aktivitas 1
Langkah Kerja Aktivitas Guru Aktivitas Siswa Alokasi
Waktu
Orientasi peserta 1. Mengkondisikan dan 1.1. Bersiap untuk “disesuaikan”
didik pada masalah memastikan kesiapan peserta mengikuti aktivitas
untuk mengikuti aktivitas pembelajaran.
pembelajaran; 1.2. Peserta didik berdoa
2. Guru mengajak peserta didik dan lanjut
berdoa dilanjutkan dengan menyanyikan salah
menyanyikan salah satu lagu satu lagu wajib
wajib nasional; nasional.
3. Guru menugaskan siswa agar 1.3. Peserta didik
membentuk kelompok membentuk
sebanyak 4-6 kelompok; kelompok sesuai
4. Guru menyampaikan tugas arahan guru.
yang akan diselesaikan peserta 1.4. Peserta didik
didik melalui diskusi kelompok, menyelesaikan
yakni: permasalahan
a. Bacalah petunjuk kerja berdasarkan
pada lembar kerja 1 yang pertanyaan yang
telah dibagikan; diberikan dengan
b. Ikutilah dan selesaikanlah cara berdiskusi
masalah yang pada
petunjuk kerja;
c. Diskusikan dengan
kelompokmu;
d. Tuliskan hasil diskusi

20
Unit Pembelajaran
Pemrograman Berorientasi Objek

kelompok pada kertas


plano dalam format
lembar kerja 1 yang ada;
e. Paparkan/presentasikan
hasil diskusi setiap
kelompok di depan kelas.
Mengorganisasikan 1. Guru memastikan setiap 2.1. Peserta didik “disesuaikan”
peserta didik peserta didik/anggota berdiskusi dan
untuk belajar kelompok memahami membagi tugas untuk
tugas masing-masing menyelesaikan
kelompok yang harus persoalan
diselesaikan; berdasarkan
2. Guru memberikan instruksi yang
kesempatan kepada diberikan.
peserta didik untuk 2.2. Peserta didik bertanya
bertanya; kepada guru tentang
3. Guru membagikan bahan tentang hal yang
bacaan terkait aktivitas belum dipahami
yang telah disiapkan peserta didik terkait
kepada peserta didik. instruksi yang
diberikan.
2.3. Masing-masing
kelompok membaca
bahan bacaan yang
telah disiapkan.
Membimbing 1. Guru memantau keterlibatan 3.1. Peserta “disesuaikan”
penyelidikan peserta didik dalam didik/anggota
individu maupun mengumpulkan dan kelompok
kelompok mengolah informasi yang melakukan
ditemukannya; pengumpulan data
2. Guru memantau dan untuk bahan diskusi
mendampingi kelompok dan menyelesaikan
dalam memahami bahan masalah.
bacaan yang ada; 3.2. Peserta
3. Memotivasi peserta didik didik/anggota
(kelompok) untuk berfikir kelompok

21
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

logis dan mencari solusi membaca dan


dalam menyelesaikan memahami bahan
persoalan. bacaan.
3.3. Pesera
didik/anggota
kelompok berfikir
logis dan mencari
solusi dalam
menyelesaikann
persoalan sesuai
instruksi.
Mengembangkan 1. Guru memantau diskusi dan 4.1. Kelompok melakukan “disesuaikan”
dan menyajikan membimbing pembuatan diskusi untuk
hasil karya laporan sehingga karya menghasilkan solusi
setiap kelompok siap untuk pemecahan masalah.
dipresentasikan; 4.2. Peserta didik/
2. Mengarahkan untuk bisa anggota kelompok
menghargai pendapat mem-
teman/kelompok lain ketika presentasikan/meny
menyampaikan/memaparka ajikan hasil diskusi
n hasil diskusi. dalam bentuk karya.
Menganalisis dan 1. Guru membimbing 5.1. Setiap kelompok “disesuaikan”
mengevaluasi presentasi; melakukan
proses pemecahan 2. Guru mendorong kelompok presentasi.
masalah memberikan penghargaan 5.2. Kelompok yang lain
serta masukan kepada memberikan
kelompok lain; apresiasi.
3. Guru bersama peserta didik 5.3. Bersama-sama guru
menyimpulkan materi. merangkum/membu
at kesimpulan sesuai
dengan masukan
yang diperoleh
kelompok lain.

22
Unit Pembelajaran
Pemrograman Berorientasi Objek

Aktivitas 2 Mengenal Algoritma Searching dan Sorting

Aktivitas 2 dilakukan untuk pembelajaran mengenal algoritma sederhana


yang sring digunakan, algoritma searching dan sorting. Pada aktivitas ini,
guru menjelaskan dalam dua bagian yaitu tentang algoritma searching dan
sorting. Aktivitas pembelajarannya dilakukan dengan menggunakan model
Problem-based Learning (PBL). Adapun langkah-langkah pembelajarannya,
sebagaimana disajikan pada Tabel 4 berikut:

Tabel 6 Sintaks Problem Based Learning (PBL) pada Pembelajaran Aktivitas 2


Langkah Kerja Aktivitas Guru Aktivitas Siswa Alokasi
Waktu

Orientasi peserta 1. Mengkondisikan dan 2.1. Bersiap untuk “disesuaikan”


didik pada masalah memastikan kesiapan mengikuti aktivitas
peserta untuk mengikuti pembelajaran.
aktivitas pembelajaran; 2.2. Peserta didik berdoa dan
2. Guru mengajak peserta didik lanjut menyanyikan salah
berdoa dilanjutkan dengan satu lagu wajib nasional.
menyanyikan salah satu lagu 2.3. Peserta didik membentuk
wajib nasional; kelompok sesuai arahan
3. Guru menugaskan siswa agar guru.
membentuk kelompok 2.4. Peserta didik
sebanyak 4-6 kelompok; menyelesaikan
4. Guru menyampaikan tugas permasalahan
yang akan diselesaikan berdasarkan pertanyaan
peserta didik melalui diskusi yang diberikan dengan
kelompok, yakni: cara berdiskusi
a. Bacalah petunjuk kerja
pada lembar kerja 2
yang telah dibagikan;
b. Ikutilah dan
selesaikanlah masalah
yang pada petunjuk
kerja;

23
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

c. Diskusikan dengan
kelompokmu;
d. Tuliskan hasil diskusi
kelompok pada kertas
plano dalam format
lembar kerja 2.A dan
2.B yang ada;
e. Paparkan/presentasika
n hasil diskusi setiap
kelompok di depan
kelas.
Mengorganisasikan 1. Guru memastikan setiap 2.1. Peserta didik berdiskusi “disesuaikan”
peserta didik untuk peserta didik/anggota dan membagi tugas untuk
belajar kelompok memahami tugas menyelesaikan persoalan
masing-masing kelompok berdasarkan instruksi yang
yang harus diselesaikan; diberikan.
2. Guru memberikan
2.2. Peserta didik bertanya
kesempatan kepada peserta
kepada guru tentang
didik untuk bertanya;
tentang hal yang belum
3. Guru membagikan bahan
dipahami peserta didik
bacaan terkait aktivitas yang
terkait instruksi yang
telah disiapkan kepada
diberikan.
peserta didik.

2.3. Masing-masing kelompok


membaca bahan bacaan
yang telah disiapkan.

Membimbing 1. Guru memantau 3.4. Peserta didik/anggota “disesuaikan”


penyelidikan keterlibatan peserta kelompok melakukan
individu maupun didik dalam pengumpulan data untuk
kelompok mengumpulkan dan bahan diskusi dan
mengolah informasi yang menyelesaikan masalah.
ditemukannya; 3.5. Peserta didik/anggota
2. Guru memantau dan kelompok membaca dan
mendampingi kelompok memahami bahan
dalam memahami bahan bacaan.

24
Unit Pembelajaran
Pemrograman Berorientasi Objek

bacaan yang ada; 3.6. Pesera didik/anggota


3. Memotivasi peserta didik kelompok berfikir logis
(kelompok) untuk dan mencari solusi
berfikir logis dan dalam menyelesaikann
mencari solusi dalam persoalan sesuai
menyelesaikan instruksi.
persoalan.
Mengembangkan dan 1. Guru memantau diskusi dan 4.1. Kelompok melakukan “disesuaikan”
menyajikan hasil membimbing pembuatan diskusi untuk
karya laporan sehingga karya menghasilkan solusi
setiap kelompok siap untuk pemecahan masalah.
dipresentasikan;
4.2. Peserta didik/ anggota
2. Mengarahkan untuk bisa
kelompok mem-
menghargai pendapat
presentasikan/menyajika
teman/kelompok lain ketika
n hasil diskusi dalam
menyampaikan/memaparka
bentuk karya.
n hasil diskusi.

Menganalisis dan 1. Guru membimbing presentasi; 5.1. Setiap kelompok “disesuaikan”


mengevaluasi proses 2. Guru mendorong kelompok melakukan presentasi.
pemecahan masalah memberikan penghargaan 5.2. Kelompok yang lain
serta masukan kepada memberikan apresiasi.
kelompok lain; 5.3. Bersama-sama guru
3. Guru bersama peserta didik merangkum/membuat
menyimpulkan materi. kesimpulan sesuai dengan
masukan yang diperoleh
kelompok lain.

25
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Aktivitas 3 Mengenal Contoh Algoritma Optimasi

Aktivitas 3 dilakukan untuk pembelajaran mengenal algoritma optimasi.


Aktivitas pembelajarannya dilakukan dengan menggunakan model Problem-
based Learning (PBL). Adapun langkah-langkah pembelajarannya,
sebagaimana disajikan pada Tabel 5 berikut:

Tabel 7 Sintaks Problem Based Learning (PBL) pada Pembelajaran Aktivitas 3


Langkah Kerja Aktivitas Guru Aktivitas Siswa Alokasi
Waktu

Orientasi peserta 1. Mengkondisikan dan memastikan 2.1. Bersiap untuk “disesuaikan”


didik pada masalah kesiapan peserta untuk mengikuti mengikuti aktivitas
aktivitas pembelajaran; pembelajaran.
2. Guru mengajak peserta didik berdoa 2.2. Peserta didik berdoa
dilanjutkan dengan menyanyikan salah dan lanjut
satu lagu wajib nasional; menyanyikan salah
3. Guru menugaskan siswa agar satu lagu wajib
membentuk kelompok sebanyak 4-6 nasional.
kelompok; 2.3. Peserta didik
4. Guru menyampaikan tugas yang akan membentuk
diselesaikan peserta didik melalui kelompok sesuai
diskusi kelompok, yakni: arahan guru.
a. Bacalah petunjuk kerja pada 2.4. Peserta didik
lembar kerja 3 yang telah menyelesaikan
dibagikan; permasalahan
b. Ikutilah dan selesaikanlah berdasarkan
masalah yang pada petunjuk pertanyaan yang
kerja; diberikan dengan
c. Diskusikan dengan cara berdiskusi
kelompokmu;
d. Tuliskan hasil diskusi kelompok
pada kertas plano dalam format
lembar kerja 3 yang ada;
e. Paparkan/presentasikan hasil

26
Unit Pembelajaran
Pemrograman Berorientasi Objek

diskusi setiap kelompok di


depan kelas.
Mengorganisasikan 1. Guru memastikan setiap peserta 2.1. Peserta didik “disesuaikan”
peserta didik didik/anggota kelompok memahami berdiskusi dan
untuk belajar tugas masing-masing kelompok yang membagi tugas untuk
harus diselesaikan; menyelesaikan
2. Guru memberikan kesempatan kepada persoalan
peserta didik untuk bertanya; berdasarkan
3. Guru membagikan bahan bacaan terkait instruksi yang
aktivitas yang telah disiapkan kepada diberikan.
peserta didik.
2.2. Peserta didik bertanya
kepada guru tentang
tentang hal yang
belum dipahami
peserta didik terkait
instruksi yang
diberikan.

2.3. Masing-masing
kelompok membaca
bahan bacaan yang
telah disiapkan.

Membimbing 1. Guru memantau keterlibatan peserta 3.1. Peserta “disesuaikan”


penyelidikan didik dalam mengumpulkan dan didik/anggota
individu maupun mengolah informasi yang ditemukannya; kelompok melakukan
kelompok 2. Guru memantau dan mendampingi pengumpulan data
kelompok dalam memahami bahan untuk bahan diskusi
bacaan yang ada; dan menyelesaikan
3. Memotivasi peserta didik (kelompok) masalah.
untuk berfikir logis dan mencari solusi 3.2. Peserta
dalam menyelesaikan persoalan. didik/anggota
kelompok membaca
dan memahami bahan
bacaan.
3.3. Peserta

27
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

didik/anggota
kelompok berfikir
logis dan mencari
solusi dalam
menyelesaikann
persoalan sesuai
instruksi.

Mengembangkan 1. Guru memantau diskusi dan membimbing 4.1. Kelompok melakukan “disesuaikan”
dan menyajikan pembuatan laporan sehingga karya setiap diskusi untuk
hasil karya kelompok siap untuk dipresentasikan; menghasilkan solusi
2. Mengarahkan untuk bisa menghargai pemecahan masalah.
pendapat teman/kelompok lain ketika
4.2. Peserta didik/
menyampaikan/memaparkan hasil
anggota kelompok
diskusi.
mem-
presentasikan/meny
ajikan hasil diskusi
dalam bentuk karya.

Menganalisis dan 1. Guru membimbing presentasi; 5.1. Setiap kelompok “disesuaikan”


mengevaluasi 2. Guru mendorong kelompok memberikan melakukan presentasi.
proses pemecahan penghargaan serta masukan kepada 5.2. Kelompok yang lain
masalah kelompok lain; memberikan
3. Guru bersama peserta didik apresiasi.
menyimpulkan materi. 5.3. Bersama-sama guru
merangkum/membua
t kesimpulan sesuai
dengan masukan yang
diperoleh kelompok
lain.

28
Unit Pembelajaran
Pemrograman Berorientasi Objek

Aktivitas Kelas XII

Aktivitas 4 Memahami Kualitas Program

Aktivitas 4 dilakukan untuk pembelajaran memahami kualitas pemrograman.


Aktivitas pembelajarannya dilakukan dengan menggunakan model Problem-
based Learning (PBL). Adapun langkah-langkah pembelajarannya,
sebagaimana disajikan pada Tabel 6 berikut:

Tabel 8 Sintaks Problem Based Learning (PBL) pada Pembelajaran Aktivitas 4


Langkah Kerja Aktivitas Guru Aktivitas Siswa Alokasi
Waktu

Orientasi peserta 1. Mengkondisikan dan memastikan 1.1. Bersiap untuk “disesuaikan”


didik pada masalah kesiapan peserta untuk mengikuti mengikuti aktivitas
aktivitas pembelajaran; pembelajaran.
2. Guru mengajak peserta didik berdoa 1.2. Peserta didik berdoa
dilanjutkan dengan menyanyikan dan lanjut
salah satu lagu wajib nasional; menyanyikan salah
3. Guru menugaskan siswa agar satu lagu wajib
membentuk kelompok sebanyak 4-6 nasional.
kelompok; 1.3. Peserta didik
4. Guru menyampaikan tugas yang akan membentuk kelompok
diselesaikan peserta didik melalui sesuai arahan guru.
diskusi kelompok, yakni: 1.4. Peserta didik
a. Bacalah petunjuk kerja pada menyelesaikan
lembar kerja 4 yang telah permasalahan
dibagikan; berdasarkan
b. Ikutilah dan selesaikanlah pertanyaan yang
masalah yang pada petunjuk diberikan dengan cara
kerja; berdiskusi
c. Diskusikan dengan
kelompokmu;
d. Tuliskan hasil diskusi
kelompok pada kertas plano

29
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

dalam format lembar kerja 4


yang ada;
e. Paparkan/presentasikan hasil
diskusi setiap kelompok di
depan kelas.
Mengorganisasikan 1. Guru memastikan setiap peserta 2.1. Peserta didik “disesuaikan”
peserta didik didik/anggota kelompok memahami berdiskusi dan
untuk belajar tugas masing-masing kelompok yang membagi tugas untuk
harus diselesaikan; menyelesaikan
2. Guru memberikan kesempatan kepada persoalan
peserta didik untuk bertanya; berdasarkan
3. Guru membagikan bahan bacaan instruksi yang
terkait aktivitas yang telah disiapkan diberikan.
kepada peserta didik.
2.2. Peserta didik bertanya
kepada guru tentang
tentang hal yang
belum dipahami
peserta didik terkait
instruksi yang
diberikan.

2.3. Masing-masing
kelompok membaca
bahan bacaan yang
telah disiapkan.

Membimbing 1. Guru memantau keterlibatan peserta 3.1. Peserta “disesuaikan”


penyelidikan didik dalam mengumpulkan dan didik/anggota
individu maupun mengolah informasi yang kelompok melakukan
kelompok ditemukannya; pengumpulan data
2. Guru memantau dan mendampingi untuk bahan diskusi
kelompok dalam memahami bahan dan menyelesaikan
bacaan yang ada; masalah.
3. Memotivasi peserta didik (kelompok) 3.2. Peserta
untuk berfikir logis dan mencari solusi didik/anggota
dalam menyelesaikan persoalan. kelompok membaca

30
Unit Pembelajaran
Pemrograman Berorientasi Objek

dan memahami bahan


bacaan.
3.3. Peserta
didik/anggota
kelompok berfikir
logis dan mencari
solusi dalam
menyelesaikann
persoalan sesuai
instruksi.

Mengembangkan 1. Guru memantau diskusi dan 4.1. Kelompok melakukan “disesuaikan”


dan menyajikan membimbing pembuatan laporan diskusi untuk
hasil karya sehingga karya setiap kelompok siap menghasilkan solusi
untuk dipresentasikan; pemecahan masalah.
2. Mengarahkan untuk bisa menghargai
4.2. Peserta didik/
pendapat teman/kelompok lain ketika
anggota kelompok
menyampaikan/memaparkan hasil
mem-
diskusi.
presentasikan/meny
ajikan hasil diskusi
dalam bentuk karya.

Menganalisis dan 1. Guru membimbing presentasi; 5.1. Setiap kelompok “disesuaikan”


mengevaluasi 2. Guru mendorong kelompok melakukan presentasi.
proses pemecahan memberikan penghargaan serta 5.2. Kelompok yang lain
masalah masukan kepada kelompok lain; memberikan
3. Guru bersama peserta didik apresiasi.
menyimpulkan materi. 5.3. Bersama-sama guru
merangkum/membua
t kesimpulan sesuai
dengan masukan yang
diperoleh kelompok
lain.

31
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Aktivitas 5 Memahami Tata Cara Pengujian Program (test case)

Aktivitas 5 dilakukan untuk pembelajaran memahami bagaiman tata cara


pengujian program melalui kasus uji. Aktivitas pembelajarannya dilakukan
dengan menggunakan model Problem-based Learning (PBL). Adapun
langkah-langkah pembelajarannya, sebagaimana disajikan pada Tabel 9
berikut:

Tabel 9 Sintaks Problem Based Learning (PBL) pada Pembelajaran Aktivitas 5


Langkah Kerja Aktivitas Guru Aktivitas Siswa Alokasi
Waktu

Orientasi peserta 5. Mengkondisikan dan memastikan 1.5. Bersiap untuk “disesuaikan”


didik pada masalah kesiapan peserta untuk mengikuti mengikuti aktivitas
aktivitas pembelajaran; pembelajaran.
6. Guru mengajak peserta didik berdoa 1.6. Peserta didik berdoa
dilanjutkan dengan menyanyikan dan lanjut
salah satu lagu wajib nasional; menyanyikan salah
7. Guru menugaskan siswa agar satu lagu wajib
membentuk kelompok sebanyak 4-6 nasional.
kelompok; 1.7. Peserta didik
8. Guru menyampaikan tugas yang akan membentuk kelompok
diselesaikan peserta didik melalui sesuai arahan guru.
diskusi kelompok, yakni: 1.8. Peserta didik
f. Bacalah petunjuk kerja pada menyelesaikan
lembar kerja 5 yang telah permasalahan
dibagikan; berdasarkan
g. Ikutilah dan selesaikanlah pertanyaan yang
masalah yang pada petunjuk diberikan dengan cara
kerja; berdiskusi
h. Diskusikan dengan
kelompokmu;
i. Tuliskan hasil diskusi
kelompok pada kertas plano
dalam format lembar kerja 5

32
Unit Pembelajaran
Pemrograman Berorientasi Objek

yang ada;
j. Paparkan/presentasikan hasil
diskusi setiap kelompok di
depan kelas.
Mengorganisasikan 4. Guru memastikan setiap peserta 2.1. Peserta didik “disesuaikan”
peserta didik didik/anggota kelompok memahami berdiskusi dan
untuk belajar tugas masing-masing kelompok yang membagi tugas untuk
harus diselesaikan; menyelesaikan
5. Guru memberikan kesempatan kepada persoalan
peserta didik untuk bertanya; berdasarkan
6. Guru membagikan bahan bacaan instruksi yang
terkait aktivitas yang telah disiapkan diberikan.
kepada peserta didik.
2.2. Peserta didik bertanya
kepada guru tentang
tentang hal yang
belum dipahami
peserta didik terkait
instruksi yang
diberikan.

2.3. Masing-masing
kelompok membaca
bahan bacaan yang
telah disiapkan.

Membimbing 4. Guru memantau keterlibatan peserta 6.1. Peserta “disesuaikan”


penyelidikan didik dalam mengumpulkan dan didik/anggota
individu maupun mengolah informasi yang kelompok melakukan
kelompok ditemukannya; pengumpulan data
5. Guru memantau dan mendampingi untuk bahan diskusi
kelompok dalam memahami bahan dan menyelesaikan
bacaan yang ada; masalah.
6. Memotivasi peserta didik (kelompok) 6.2. Peserta
untuk berfikir logis dan mencari solusi didik/anggota
dalam menyelesaikan persoalan. kelompok membaca
dan memahami bahan

33
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

bacaan.
6.3. Peserta
didik/anggota
kelompok berfikir
logis dan mencari
solusi dalam
menyelesaikann
persoalan sesuai
instruksi.

Mengembangkan 3. Guru memantau diskusi dan 4.1. Kelompok melakukan “disesuaikan”


dan menyajikan membimbing pembuatan laporan diskusi untuk
hasil karya sehingga karya setiap kelompok siap menghasilkan solusi
untuk dipresentasikan; pemecahan masalah.
4. Mengarahkan untuk bisa menghargai
4.2. Peserta didik/
pendapat teman/kelompok lain ketika
anggota kelompok
menyampaikan/memaparkan hasil
mem-
diskusi.
presentasikan/meny
ajikan hasil diskusi
dalam bentuk karya.

Menganalisis dan 4. Guru membimbing presentasi; 5.4. Setiap kelompok “disesuaikan”


mengevaluasi 5. Guru mendorong kelompok melakukan presentasi.
proses pemecahan memberikan penghargaan serta 5.5. Kelompok yang lain
masalah masukan kepada kelompok lain; memberikan
6. Guru bersama peserta didik apresiasi.
menyimpulkan materi. 5.6. Bersama-sama guru
merangkum/membua
t kesimpulan sesuai
dengan masukan yang
diperoleh kelompok
lain.

34
Unit Pembelajaran
Pemrograman Berorientasi Objek

Lembar Kerja Peserta Didik

Lembar Kerja Peserta Didik 1

Judul Memahami Program Modular


Tujuan  Peserta didik dapat mengenal
konsep pemrograman modular;
 Pesera didik dapat mengenal
struktur/parameter-arameter
pembentukan pemrograman
modular;
 Peserta didik dapat menulis
pemecahan persoalan dalam
bentuk program modular
Mata Pelajaran Informatika
Pengenalan oleh Guru (20 menit)
Pada bagian pembuka pelajaran ini, Guru memperkenalkan secara
singkat tentang konsep pemrograman modular. Pengenalan singkat
ini memberikan kesempatan kepada peserta didik untuk mengetahui
arti dari pemrograman moduler, mengenal struktur/parameter-
parameter yang digunakan. Guru dapat men-demokan dengan
memberikan sebuah contoh kasus tugas atau persoalan sederhana
misalnya cara menyelesaikan proses:
a. perhitungan penambahan dua buah bilangan bulat;
b. perhitungan pengurangan dua buah bilangan bulat;
c. perhitungan perkalian dua buah bilangan bulat;
d. perhitungan pembagian dua buah bilangan bulat;
dan menunjukkan program sederhana program tersebut dalam
bahasa pemrograma yang digunakan. Kemudian
Petunjuk Kerja Peserta Didik:
1. Amatilah dan pahami demo atau tutorial program modular yang
ditampilkan dan dijelaskan oleh gurumu;
2. Cobalah dan tirulah cara membuat program perhitungan
sederhana berdasarkan demo yang telah ditampilkan dan
dijelaskan oleh gurumu;
3. Simpanlah hasil kerja percobaan dengan judul:
demo1_namakelompok,
misal: demo1_kel_01 atau demo1_kel_A;

35
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

4. Diskusikan dengan kelompokmu dan kemudian jawablah


pertanyaan pada kolom format lembar kerja yang telah
disediakan!

Format Lembar Kerja:

Soal Jawaban berdasarkan hasil diskusi


a. Apa yang dimaksud dengan
pemrograman modular ?

b. Mengapa konsep modularisasi


penting dalam pemrograman ?

c. Bagaiman teknik pemrograman


modular ?

d. Jika konsep pemrograman


modularisasi adalah membagi
tugas dalam beberapa kelompok
dan menghindari repetisi atau
pengulangan, Apa bedanya
dengan konsep dekomposisi ?

36
Unit Pembelajaran
Pemrograman Berorientasi Objek

Lembar Kerja Peserta Didik 2.A

Judul Mengenal Algoritma Sorting


Tujuan  Peserta didik dapat mengenal
metode sorting pada algoritma
pemrograman;
 Pesera didik dapat mengetahui
jenis-jenis algoritma sorting
pemrograman;
 Peserta didik dapat menghasilkan
program dengan menggunakan
algoritma sorting.
Mata Pelajaran Informatika
Pengenalan oleh Guru (20 menit)

Pada bagian pembuka pelajaran ini, Guru memperkenalkan secara


singkat tentang konsep algoritma sorting pada pemrograman
komputer.
Pengenalan singkat tentang konsep algoritma ini memberikan
kesempatan kepada peserta didik untuk memahami teknik algoritma
dalam menyelesaikan suatu permasalahan pada bahasa
pemrograman yang dipelajari. Guru dapat menanyangkan video
pengantar tentang konsep algoritma sorting di situs:
 https://youtu.be/cVMKXKoGu_Y (Sorting Algorithm)
kemudian guru dapat mensimulasikan algoritma dengan permainan
“Memilah cabang cobang” yang dapat dilihat pada soal bebras sebagai
awal pemahaman tentang konsep algoritma sorting.
Petunjuk Kerja Peserta Didik:
1. Amatilah dan pahami demo atau tutorial tentang algoritma
sorting yang ditampilkan dan dijelaskan oleh gurumu;
2. Cobalah dan tirulah cara membuat program pada aktivitas 2
Sort;
3. Simpanlah hasil kerja percobaan dengan judul:
demo2sort_namakelompok,
misal: demo2_kel_01 atau demo2_kel_A;
4. Diskusikan dengan kelompokmu dan kemudian jawablah
pertanyaan pada kolom format lembar kerja yang telah
disediakan!

37
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

5. Bertanyalah kepada gurumu jika kamu belum paham tentang


petunjuk atau aktivitas yang ada pada lembar aktivitas 2 Sort
!

Format Lembar Kerja:

Aktivitas 2 Sort:
1. Tulis ulang kode program algoritma sorting berikut, program dibawah
menggunakan bahasa pemrograman Java, sesuaikan dengan bahasa
pemrograman yang dipelajari;
2. Jalankan (run) dan lihatlah hasil keluarannya;
3. Jawablah pertanyaan yang diberikan !

class bubble
{
public bubble ()
{
System.out.println(“\n======================”);
System.out.println (“Metode Bubble”);
System.out.println (“=======================”);
}
public void sorting ()
{
int a[] = {30,60,20,90,100),temp;
//Menampilkan nilai data yang belum disorting
System.out,println (“Nilai sebelum sorting:”);
for (int i=0;i<5;i++)
{
System.out.print(a[i]+”, “);
}
for (int i=4;i>0;i--)
{
for (int x=0;x<i;x++)
{
if (a[x]>a[x+1])
{
temp=a[x];
a[x]=a[x+1];
a[x+1]=temp;
}
}
}

//Menampilkan nilai data yang sudah disorting


System.out.println{“\n\nNilai Setelah Sorting:”);

38
Unit Pembelajaran
Pemrograman Berorientasi Objek

For (int i=0;i<5;i++)


{
System.out.print(a[i]+”, “);
}
}
}

Soal Jawaban berdasarkan hasil diskusi


a. Bagaimana cara kerja komputer
memproses algoritma sorting
dalam menyusun sebuah angka ?

b. Berdasarkan kode program


diatas bagaimana cara kerja
metode bubble sort dalam
mengurutkan deretan angka ?
c. Apakah fungsi array pada
pembentukan algoritma sorting ?

Pada pertemuan berikutnya guru melanjutkan untuk mempelajari algoritma


Searching.

39
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Lembar Kerja Peserta Didik 2.B

Judul Mengenal Algoritma Searching


Tujuan  Peserta didik dapat mengenal
metode searching pada algoritma
pemrograman;
 Pesera didik dapat mengetahui
jenis-jenis algoritma searching
pada pemrograman;
 Peserta didik dapat menghasilkan
program dengan menggunakan
algoritma searching.
Mata Pelajaran Informatika
Pengenalan oleh Guru (20 menit)
Pada bagian pembuka pelajaran ini, Guru memperkenalkan secara
singkat tentang konsep algoritma searching pada pemrograman
komputer.
Pengenalan singkat tentang konsep algoritma ini memberikan
kesempatan kepada peserta didik untuk memahami teknik algoritma
dalam menyelesaikan suatu permasalahan pada bahasa
pemrograman yang dipelajari. Guru dapat menanyangkan video
pengantar tentang konsep algoritma sorting di situs:
 https://youtu.be/iDVH3oCTc2c (Sorting Algorithm)
kemudian guru dapat mensimulasikan algoritma dengan permainan
“Erase wall (Menghapus dinding)” yang dapat dilihat pada soal bebras
sebagai awal pemahaman tentang konsep algoritma searching atau
dengan mensimulasikan dengan memanggil beberapa murid sebagai
simulasi.
Petunjuk Kerja Peserta Didik:
1. Amatilah dan pahami demo atau tutorial tentang algoritma
searching yang ditampilkan dan dijelaskan oleh gurumu;
2. Cobalah dan tirulah cara membuat program pada Algoritma I dan
II search;
3. Simpanlah hasil kerja percobaan dengan judul:
demo2search_namakelompok,
4. misal: demo2_kel_01 atau demo2_kel_A;

40
Unit Pembelajaran
Pemrograman Berorientasi Objek

5. Diskusikan dengan kelompokmu dan kemudian jawablah


pertanyaan pada kolom format lembar kerja yang telah
disediakan!
6. Bertanyalah kepada gurumu jika kamu belum paham tentang
petunjuk atau aktivitas yang ada pada lembar aktivitas 2 Search !

Algoritma I

Algoritma Searching menggunakan pencarian beruntun (sequential


search)

import java.util.Scanner;
public class Beruntun {
public static void main(String[] args) {
int tabInt[]={24,17,18,15,22,26, 13,21, 16, 28};
int ketemu;
int cariData;
int i;

Scanner masukan= new Scanner(System.in);

System.out.print("Masukkan data yang dicari = ");


cariData = masukan.nextInt();
i=0;
ketemu=0;
while (i<10 && ketemu!=1){
if (tabInt[i]==cariData){
ketemu=1;
}else{
i++;
}
}
if(ketemu==1){
System.out.print("Data "+cariData+ " terdapat pada
kumpulan data\n");
}else{
System.out.print("Data "+cariData+ " tidak terdapat
pada kumpulan data\n");
}
}
}

41
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Algoritma II

Algoritma Searching menggunakan pencarian bagi dua (binary search)

import java.util.Scanner;
public class BagiDua {
public static void main(String[] args) {
int tabInt[] = {12,23,29,34,56,60,67,78,84,99};
int i,j,k;
int cariData,ketemu;
Scanner masukan= new Scanner(System.in);
System.out.print("Masukkan data yang dicari = ");
cariData = masukan.nextInt();
i = 0; j = 9;ketemu = 0;
while((ketemu == 0) && (i<=j)){
k = (int)(i + j) / 2;
if(tabInt[k] == cariData){
ketemu = 1;
}
else{
if(tabInt[k] > cariData){
j = k - 1;
}
else{
i = k + 1;
}
}
}
if(ketemu==1){
System.out.print("Data "+cariData+ " terdapat pada
kumpulan data\n");
}else{
System.out.print("Data "+cariData+ " tidak terdapat
pada kumpulan data\n");
}
}
}

Soal Jawaban berdasarkan hasil diskusi


a. Bagaimana cara kerja komputer
memproses algoritma searching
dalam menyusun sebuah angka
?
b. Berdasarkan kode program
bagaimana proses kerja
pencarian beruntun (sequential
search) dalam mencari suatu
angka ?
c. Berdasarkan kode program

42
Unit Pembelajaran
Pemrograman Berorientasi Objek

bagaimana proses kerja


pencarian bagi dua (binary
search) dalam mencari suatu
angka ?
d. Jenis pencarian manakah yang
lebih efektif digunakan ?

Lembar Kerja Peserta Didik 3

Judul Mengenal Algoritma Optimasi


Tujuan  Peserta didik dapat mengenal
algoritma sederhana yang efisien.
 Peserta didik dapat memhami
proses kerja algoritma optimasi
dalam menyelesaikan suatu
permasalah.
 Peserta didik dapat menggunakan
algoritma optimasi menggunakan
bahasa pemrograman dalam
membuatu suatu program.
Mata Pelajaran Informatika
Pengenalan oleh Guru (20 menit)

Pada bagian pembuka Guru harus menjelaskan algoritma greedy


sebagai salah satu algoritma yang sering dipakai dalam implementasi
sebuah sistem optimasi. Untuk menunjukkan konsep tersebut, Guru
dapat menggunakan video untuk menjelaskan tentang konsep
algoritma greedy tersebut melalui video:
 https://www.youtube.com/watch?v=HzeK7g8cD0Y
(introduction to greedy algorithm)
dan juga dapat mensimulasikan contoh penggunaan algoritma greedy
dalam bentuk permainan/games “Mencuci Seragam” yang dapat
dilihat pada contoh soal bebras https://www.bebras.edu.au/wp-
content/uploads/2019/02/Bebras-2018-Solution-Guide.pdf
Petunjuk Kerja Peserta Didik:
1. Amatilah dan pahami demo atau tutorial tentang konsep
algoritma greedy yang ditampilkan dan dijelaskan oleh gurumu;

43
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

2. Selesaikanlah persoalan berdasarkan insturksi kartu kasus


Algoritma 3;
3. Diskusikan dengan kelompokmu dan kemudian jawablah
pertanyaan pada kolom format lembar kerja yang telah
disediakan!

Algoritma 3
Diberikan uang senilai A, dimana A bernilai 32.

Tukar A dengan koin-koin yang ada, yaitu: 1,5,10 dan 25.

Berapa jumlah maksimum dan minimum koin yang diperlukan untuk


penukaran uang senilai A tersebut ?

44
Unit Pembelajaran
Pemrograman Berorientasi Objek

Format Lembar Kerja:

Soal Jawaban berdasarkan hasil diskusi


a. Berapa jumlah maksimum dan
minimum koin yang diperlukan
untuk penukaran uang senilai A
tersebut ?
b. Apakah yang dimaksud dengan
algoritma greedy ?

c. Bagaimana cara kerja algoritma


greedy dalam sebuah program
dalam memberikan solusi
terhadap suatu permasalahan
berdasarkan solusi Algoritma 3
diatas?
d. Bagaimana variabel dapat
digunakan untuk menyimpan
data dalam program yang
digunakan ?
e. Apa perbedaan algoritma greedy
dengan algoritma sorting ?

45
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Aktivitas Kelas XII

Lembar Kerja Peserta Didik 4

Judul Memahami Kualitas Program


(Readable, correctness dan robust)
Tujuan  Peserta didik dapat mengenal
kualitas suatu kode program dan
performansinya.
 Peserta didik dapat memahami
konsep kualitas (readable,
correctness dan robust) suatu
program.
Mata Pelajaran Informatika
Pengenalan oleh Guru (30 menit)
Pada bagian pembuka Guru mengenalkan dan menunjukkan suatu
kode program (source code) sederhana dalam bahasa pemrograman
yang dipelajari, yang memenuhi kualitas program (readable,
correctness dan robust).
Catatan: Guru dapat mencontohkan kode program algoritma greedy
atau djikstra.

Petunjuk Kerja Peserta Didik:


1. Amatilah dan pahami demo/penjelasan tentang konsep
readable, correctness dan robust yang dipaparkan oleh gurumu;
2. Coba dan tulis ulang kode program yang terdapat pada
Algoritma 4, kemudian lihatlah hasil keluarannya;
3. Simpanlah hasil kerja percobaan dengan judul:
demo4_namakelompok, misal: demo4_kel_02 atau
demo4_kel_A;
4. Diskusikan dengan kelompokmu dan jawablah pertanyaan
pada kolom format lembar kerja yang telah disediakan!

46
Unit Pembelajaran
Pemrograman Berorientasi Objek

Algoritma 4
Algoritma Greedy

class algoritmaGreedy
{
public int i,j,k;

// konstruktor
algoritmaGreedy(){
}

// method untuk proses algoritma greedy


void Greedy(int koin[], int hasil[],int jum[], int uang, int i)
{
int s [] = new int[uang];

while(jum[i] < uang)


{
k=(int)(Math.random()*koin.length);
s[hasil[i]] = koin[k];

if((jum[i] + s[hasil[i]]) <= uang)


System.out.print(s[hasil[i]]+" ");

jum[i]+=s[hasil[i]];
hasil[i]+=1;
}
System.out.print(" ");

if (jum[i] == uang)
System.out.println(" = "+hasil[i]+" koin");
else
System.out.println(" = Tidak ada solusi");
}

// method sorting
void sorting(int data[], int n)
{
for(i=0;i<n-1;i++){
for(j=0; j<n-1;j++)
if(data[j]<data[j+1])
{
k=data[j];
data[j]=data[j+1];
data[j+1]= k;
}
}
}

// method untuk mencari solusi max n min


void solusiGlobal(int data[],int jum[], int uang)
{
int bin[] = new int[data.length];
j=0;
for (i=0;i<data.length;i++)
{

47
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

if(jum[i]==uang){
bin[j]=data[i];
j+=1;
}
}

sorting(bin,bin.length);

k=0;
for(i=0;i<bin.length;i++)
if(bin[i] != 0)
k+=1;

System.out.println("nSolusi Minimum : "+bin[k-1]);


System.out.println("Solusi Maximum : "+bin[0]);
}
}

class main
{
public static void main (String[] args) throws Exception
{
DataInputStream entri = new DataInputStream(System.in);
System.out.print("Masukan jumlah uang yg di tukar: ");
int uang = Integer.parseInt(entri.readLine());
System.out.print("Masukkan banyaknya koin: ");
int n = Integer.parseInt(entri.readLine());
int koin[] = new int[n];

for(int i = 0;i<n;i++)
{
System.out.print("Koin ke-"+(i+1)+" : ");
koin[i] = Integer.parseInt(entri.readLine());
}

System.out.print("Masukkan batas iterasi: ");


int batas = Integer.parseInt(entri.readLine());
int hasil[] = new int [batas];
int jum[] = new int [batas];

// instansiasi objek greedy


algoritmaGreedy g = new algoritmaGreedy();

for(int i =0;i<batas;i++)
{
System.out.print("nSolusi ke-"+(i+1)+" = (");
g.Greedy(koin,hasil,jum,uang,i);
}
g.solusiGlobal(hasil,jum,uang);
}
}

48
Unit Pembelajaran
Pemrograman Berorientasi Objek

Format Lembar Kerja:


Soal Jawaban berdasarkan hasil diskusi
a. Berdasarkan kode program
diatas, bagaimana cara
mengetahui bahwa kode
program tersebut memiliki
kualitas correctness dan robust ?
b. Bagaimanakah suatu program
dikatakan mudah dibaca
(readable), memiliki kebenaran
(correctness) dan kekuatan
(robustness)?
c. Mengapa suatu program dengan
performansi dikenali dari
banyaknya percabangan dan
pengulangan ?

49
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Lembar Kerja Peserta Didik 5

Judul Memahami tata cara pengujian


program (test case)
Tujuan  Peserta didik dapat mengenal tata
cara pengujian suatu program.
 Peserta didik dapat mengenal
teknik pengujian suatu program
Mata Pelajaran Informatika
Pengenalan oleh Guru (30 menit)
Pada bagian pembuka Guru mengenalkan dan menunjukkan suatu
kode program (source code) sederhana berukuran kecil dalam bahasa
pemrograman yang dipelajari. Guru menjelaskan tentang konsep
kasus uji dengan melihat proses masukan dan keluaran
(input/output). Guru menjelaskan apakah program tersebut lolos
kasus uji atau tidak.
Petunjuk Kerja Peserta Didik:
1. Amatilah dan pahami tutorial/demo tentang konsep pengujian
(test case) yang dipaparkan oleh gurumu;
2. Coba dan lakukanlah pengujian suatu program berdasarkan
petunjuk kerja pada lembar kerja 5;
3. Tulislah langkah-langkah pengujian dan hasilnya berdasarkan
template pengujian yang diberikan, kemudian;
4. Diskusikan dengan kelompokmu dan jawablah pertanyaan
pada kolom format lembar kerja yang telah disediakan! ;
5. Paparkanlah hasil kerja kelompokmu di depan kelas.

Format Lembar Kerja:


Petunjuk Aktivitas 5
1. Tulislah program kalkulator sederhana berikut ini!
2. Lakukan pengujian dan analisislah kasus uji terhadap program
tersebut;
3. Diskusikan dengan kelompokmu dan jawablah pertanyaan pada
kolom format lembar kerja yang telah disediakan! ;
4. Paparkanlah hasil kerja kelompokmu di depan kelas.

50
Unit Pembelajaran
Pemrograman Berorientasi Objek

package ClassdanObject;
import java.util.Scanner;
/** Program Kalkulator Sederhana
*/
public class kalkulatorbisa
{
double bil1;
double bil2;
double hasil;
int Operasi;

public void tambah ()


{
hasil=bil1+bil2;
}
public void kurang()
{
hasil=bil1-bil2;
}
public void bagi()
{
hasil=bil1/bil2;
}
public void kali ()
{
hasil=bil1*bil2;
}
int Operasi()
{
if(Operasi==1)
{
tambah();
System.out.println("Hasil= "+hasil);
}
else if(Operasi==2)
{
kurang();
System.out.println("Hasil ="+hasil);
}
else if(Operasi==3)
{
bagi();
System.out.println("Hasil= "+hasil);
}

51
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

else
{
kali();
System.out.println("Hasil= "+hasil);
}
return Operasi;
}

public static void main(String[] args)


{
Scanner input = new Scanner (System.in);
kalkulatorbisa kb = new kalkulatorbisa();
double hasil , Operasi,bil1,bil2;

System.out.println("Masukkan Bilangan 1");


kb.bil1 = input.nextInt();
System.out.println("Maukkan Bilangan 2");
kb.bil2 = input.nextInt();

System.out.println("Pilih Operasi \n=============");


System.out.println("1.Tambah\n2.Kurang\n3.Bagi\n4.Kali
");
kb.Operasi=input.nextInt();
kb.Operasi();
}
}

Soal Jawaban berdasarkan hasil diskusi


a. Berdasarkan hasil pengujian,
mengapa pengujian terhadap
suatu program perlu dilakukan?

b. Apa yang dimaksud dengan


kasus uji?

c. Bagaimana sebuah program


dikatakan lolos kasus uji ?

52
Unit Pembelajaran
Pemrograman Berorientasi Objek

C. Bahan Bacaan I

1. Modularisasi

Modularisasi atau pemrograman modular adalah suatu teknik


pemrograman yang dilakukan dengan membuat sub-sub program
yang disebut modul diluar dari program utama.

Modularisasi digunakan untuk menyelesaikan suatu permasalahan


kompleks. sehingga langkah pertma adalah mengidentifikasi tugas
utama mejadi tugas yang lebih rinci.

Konsep dari pemrograman modular (modularisasi) yaitu:

 Program yang kompleks (besar) dipecah menjadi beberapa


subprogram yang lebih kecil.
 Setiap subrprogram melakukan tugas (komputasi) yang spesifik.
 Subprogram yang baik adalah yang bersifat independen (berdiri
sendiri) dari program utamanya.

SUBPROGRAM

 Memiliki struktur yang sama dengan program utama,


yaitu bahian header, deklarasi dan definisi;
 Subprogram dieksekusi dengan memanggil namanya dari
program utama

53
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Nah, bagaimana cara kerja subprogram diproses oleh komputer ?

PROGRAM UTAMA
Eksekusi subprogram dari
program utama

SUBPROGRAM
Subprogram dipanggil, maka
pelaksanaan program berpindah ke
subprogram

MENJALANKAN INSTRUKSI
seluruh instruksi di dalam subprogram
akan dijalankan.

setelah seluruh instruksi dijalankan,


pelaksanaan program kembali ke program utama

Bagaimana menginisiasikan suatu subprogram ?. Subprogram didefinisikan


dalam bentuk prosedur dan fungsi.
1. Fungsi, merupakan metode yang memiliki nilai balik, jika metode
tersebut dipanggil, cara pembuatan sebuah fungsi adalah dengan cara
menentukan nilai baliknya, lalu membuat nama metodenya.
2. Prosedur, merupakan metode yang tidak memiliki nilai balik, cara
pembuatan prosedur sama dengan fungsi namun bedanya, nilai
baliknya menggunakan kata kunci void.
PENDEFINISIAN PROSEDUR
 Menuliskan nama prosedur (beserta parameter jika ada),
mendeklarasikan nama peubah (variabel, konstanta, tipe, dll), dan
menjabarkan rangkaian aksi yang dilakukan.

54
Unit Pembelajaran
Pemrograman Berorientasi Objek

 Setiap prosedur memiliki nama yang unik dan sebaiknya menggunakan


kata kerja. Sebagai contoh, Hitung_Luas_segitiga, Cari_Nilai_Maks.
 Parameter digunakan untuk pertukaran data/informasi antara
prosedur dengan titik (lokasi) pemanggilannya.
 Terdapat dua jenis parameter yakni, aktual dan formal. Parameter
aktual (argumen) disertakan pada saat pemanggilan prosedur.
Sedangkan parameter formal dideklarasikan dalam bagian header
prosedur.
Bentuk pendefinisian prosedur :
Procedure NamaProsedur(deklarasi parameter jika ada){Spesifikasi
prosedur, keadaan awal dan akhir prosedur}
DEKLARASI :
{semua nama peubah}
DEFINISI :
{urutan instruksi/aksi}
Contoh 1 (Prosedur dengan parameter):
procedure Hitung_Nilai_Maks (input a,b : integer)
{Menghitung nilai maksimal antara dua bilangan}
DEKLARASI : maks : integer
DEFINISI :
if a > b then
maks <- a
else
maks <- b
write(maks)
end procedure

Contoh 2 (Prosedur tanpa parameter):


procedure Tulis_Deret_Bilangan_Genap
{Menampilkan deret bilangan genap yang kurang dari 10}
DEKLARASI :
bilangan : integer

DEFINISI :
bilangan <- 2

55
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

while (bilangan < 10)do


write(bilangan)
bilangan <- bilangan + 2
endwhile
end procedure

PEMANGGILAN PROSEDUR
 Prosedur diakses dengan cara memanggil namanya dari program
pemanggil seperti program utama atau subprogram lainnya.
 Prosedur harus dideklarasikan dahulu dalam program pemanggil
sehingga dapat dikenali pada saat pengaksesannya. Pendeklarasian
prosedur berisi bagian header prosedur.

Contoh 3 (Pengaksesan Prosedur Dari Program Pemanggil):


Algoritma Hitung_Nilai_Maks
{Menghitung nilai maksimal antara dua bilangan dengan
menggunakan prosedur}
DEKLARASI :
a,b : integer
procedure Hitung_Nilai_Maks(input a, b : integer)
DEFINISI :
read(a, b)
Hitung_Nilai_Maks(a, b)
End Algoritm

56
Unit Pembelajaran
Pemrograman Berorientasi Objek

KEUNTUNGAN

Keuntungan Modularitas yaitu:


 Ease of understanding
Setiap modul hanya melaksanakan satu fungsi Reusable code
Modul yang digunakan dalam satu program dapat digunakan
juga di program lain
 Elimination of redundancy
Dapat membantu menghindari pengulangan dalam
menuliskan algoritma yang sama lebih dari satu kali
 Efficiency of maintenance
Setiap modul bersifat self-contained dan jika ada perubahan
dalam suatu modul tidak mempengaruhi modul lainnya

Untuk memahami konsep modularasi lebih lanjut, kita dapat


menggunakan contoh sederhana dengan menggunakan algoritma sorting
(pengurutan) dan searching (pencarian).

2. Algoritma Sorting

Algoritma sorting merupakan algoritma sederhana yang sering


digunakan dalam suatu pemrograman, mengapa ?, karena kita sehari-
hari sering berkerja dengan menggunakan banyak data. Untuk
menyelesaikan permasalahan dalam pengolah suatu data metode
sorting (pengurutan) dapat menjadi solusi untuk pengolahan suatu
data, yaitu proses menyusun data dari semulanya tidak teratur
menjadi data yang teratur sesuai dengan yang diinginkan pengguna
dengan suatu pola tertentu.

Dikarenakan jumlah data yang sangat banyak maka setiap data-data


tersebut disusun berdasarkan tugas sehingga teknik algoritma sorting
dapat dijadikan contoh modularisasi (teknik pemrograman modular)
dalam pemrograman komputer.

57
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Bagaimana algoritma sorting melakukan modularisasi ? sebelumnya


kita terlebih dahulu mengetahui metode pengurutan yang terdapat
pada algoritma sorting. Algoritma Sorting dapat dilakukan dengan dua
cara yaitu:
a. Pengurutan Gelembung (Bubble Sort) dan
b. Pengurutan Pilihan (Selection Sort)
Mari kita pelajari jenis pengurutan yang paling sering digunakan yaitu
pengurutan gelembung (bubble sort).

Pengurutan Gelembung (Bubble Sort)

Bubble Sort merupakan metode pengurutan yang paling banyak


digunakan di kalangan programmer dikarenakan penggunaannya
yang simple dan sederhana. Namun, dibalik kesederhanaannya itu
terdapat proses algoritma yang terlalu lama sehingga bisa dikatakan
bahwa Metode Bubble Sort merupakan metode yang paling lambat
dibanding dengan metode pengurutan yang lainnya. “Bagaimana sih
Algoritma dari Bubble Sort tersebut?” Berikut penjelasan secara
sederhana dengan contoh kasus seperti di bawah ini.
Jika kita mempunyai suatu data angka yaitu : 10, 5, 2, 15,1
dan kita ingin mengurutkan angka tersebut dari yang terkecil hingga
terbesar, maka kita dapat menggunakan algoritma bubble sort untuk
memerintahkan komputer menjalankan proses pengurutan data
tersebut. Cara kerja algoritma bubble sort seperti beriku:
Iterasi 1 :
10 5 2 15 1 → (10 bandingkan dengan 5)
5 10 2 15 1 → (10 tukar dengan 5. Bandingkan 10 dengan 2)
5 2 10 15 1 → (2 tukar dengan 10. Bandingkan 10 dengan 15)
5 2 10 15 1 → (Tidak ada pertukaran. Bandingkan 15 dengan 1)
5 2 10 1 15 → (15 tukar dengan 1)

58
Unit Pembelajaran
Pemrograman Berorientasi Objek

Iterasi 2 :
5 2 10 1 15 → (5 bandingkan dengan 2)
2 5 10 1 15 → (5 tukar dengan 2. Bandingkan 5 dengan 10)
2 5 10 1 15 → (Tidak ada pertukaran. Bandingkan 10 dengan 1)
2 5 1 10 15 → (10 tukar dengan 1)
Iterasi 3 :
2 5 1 10 15 → (2 bandingkan dengan 5)
2 5 1 10 15 → (Tidak ada pertukaran. Bandingkan 5 dengan 1)
2 1 5 10 15 → (5 tukar dengan 1)
Iterasi 4 :
2 1 5 10 15 → (2 bandingkan dengan 1)
1 2 5 10 15 → (2 tukar dengan 1)
Iterasi 5 :
1 2 5 10 15 → (1 bandingkan dengan 2)
Maka, Data diatas setelah di sorting ialah sebagai berikut :
1 2 5 10 15
Jika dilakukan dengan menggunakan bahasa pemrograman Java, maka
algoritma sorting ditulis seperti berikut:

import java.util.Scanner;

prosedur
public class BubbleSort
{
public static void main(String[] args)
{
// Buat Objek Scanner
Scanner scan = new Scanner(System.in); fungsi

// Input jumlah Data


System.out.print("Masukkan jumlah Data : ");
int jlh_data = scan.nextInt();

// Input nilai tiap Data


int[] data = new int[jlh_data]; // Array untuk menampung
nilai tiap Data

System.out.println();
for(int a = 0; a < jlh_data; a++)
{
System.out.print("Nilai Data ke-"+(a+1)+" : ");

59
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

data[a] = scan.nextInt();
}

// Tampilkan Data Sebelum di Sorting


System.out.println("\nData Sebelum di Sorting");
for(int a = 0; a < jlh_data; a++)
System.out.print(data[a]+" ");

// Proses Bubble Sort


System.out.println("\nProses Bubble Sort");
for(int a = 0; a < jlh_data; a++)
{
System.out.println("Iterasi ke-"+(a+1)+" :");
for(int b = 0; b < jlh_data; b++)
System.out.print(data[b]+" ");

fungsi

System.out.println(" Bandingkan "+data[0]+" dengan "+data[1]);


for(int b = 0; b < jlh_data-1; b++)
{
String pesan = " Tidak ada pertukaran";
if(data[b] > data[b+1])
{
// proses pertukaran nilai Data
pesan = " Data "+data[b]+" ditukar dengan "+data[b+1];
int temp = data[b]; // Variable Sebagai pihak ketiga
data[b] = data[b+1];
data[b+1] = temp;
}

if(b < jlh_data-(a+1))


{
for(int c = 0; c < jlh_data; c++)
System.out.print(data[c]+" ");

System.out.println(pesan);;
}
}

System.out.println("\n");
}

// Tampilkan Data Setelah di Sorting


System.out.print("Data Setelah di Sorting : ");
for(int a = 0; a < jlh_data; a++)
System.out.print(data[a]+" ")
}
}

60
Unit Pembelajaran
Pemrograman Berorientasi Objek

 Dalam Bubble Sort. Jumlah iterasi sebesar banyaknya data. contoh


diatas jumlah datanya ialah 5 maka, jumlah iterasinya ialah 5. Selain
itu, setiap iterasi terdapat proses yang jumlahnya ialah sebesar
banyaknya data. Diatas jumlah datanya ialah 5 maka, jumlah proses
setiap iterasinya ialah 5. Dan untuk iterasi berikutnya harus dikurang
1.
 Dalam Bubble Sort, walaupun data sudah terurut seperti pada kasus
diatas, data sudah terurut pada iterasi ke-4. Namun, proses sorting
tetap jalan sampai jumlah iterasinya terpenuhi.
 Proses Pertukaran datanya dimulai dari data pertama dibandingkan
dengan data kedua atau bisa digambarkan dengan Data[n] <==>
Data[n+1]. Lakukan langkah ini sampai berada pada Data Terakhir.

Dari proses algoritma diatas dapat disimpulkan bahwa Metode Bubble


Sort merupakan metode sorting yang paling lambat dibandingkan dengan
metode sorting yang lain karena, terdapat proses pembandingan yang
terlalu banyak walaupun Data sudah terurut.

3. Algoritma Searching

Algortima searching (pencarian) merupakan algoritma sederhana


yang sering digunakan dalam pemrograman komputer. Kenapa ?
karena pencarian suatu data pada sekumpulan data merupakan
proses yang sangat penting. Proses pencarian dilakukan untuk
mengetahui apakah data yang dicari terdapat pada sekumpulan data
yang ada. Selain untuk mengetahui keberadaan data, informasi yang
lain yang bisa didapat adalah letak dari data tersebut. Adapun jenis
pencarian yaitu:
 Pencarian Beruntun (Sequential Search)
 Pencarian Bagi Dua (Binary Search)

61
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Disini kita akan membahasa proses pencarian dengan menggunakan


metode Binary Searching.

Pencarian Bagi Dua (Binary Search)

Binary Searching merupakan salah satu metode pencarian yang


kompleksitasnya cukup baik untuk melakukan pencarian data. Pada
dasarnya perhitungan pencarian Binary Searching cukup gampang
dilakukan karena, sekumpulan data tersebut di urutkan terlebih
dahulu secara Ascending kemudian, untuk melakukan pencariannya
tiap iterasi membagi banyaknya data yang ada sehingga ditemukanlah
data yang dicari. Proses pencariannya dapat diilustrasikan sebagai
berikut:
Misalkan terdapat data 99 12 23 67 56 60 34 78 29 84
Misalkan yang di cari adalah data 84
 Langkah pertama adalah mengurutkan data
12 23 29 34 56 60 67 78 84 99
 Pencarian dimulai dari tengah
12 23 29 34 56 60 67 78 84 99
 Baris bilangan dibagi dua bagian. Bagian yang lebih kecil dari data
yang dicari diabaikan
60 67 78 84 99
 Pencarian dimulai dari tengah
60 67 78 84 99
 Baris bilangan dibagi dua bagian. Bagian yang lebih kecil dari data
yang dicari diabaikan
78 84 99
 Pencarian dimulai dari tengah, maka data 84 ditemukan
Jika dilakukan dengan menggunakan bahasa pemrograman Java, maka
algoritma sorting ditulis seperti berikut:

62
Unit Pembelajaran
Pemrograman Berorientasi Objek

import java.util.Scanner;
public class BagiDua {
public static void main(String[] args) {
int tabInt[] = {12,23,29,34,56,60,67,78,84,99};
int i,j,k;
int cariData,ketemu;
Scanner masukan= new Scanner(System.in);
System.out.print("Masukkan data yang dicari = ");
cariData = masukan.nextInt();
i = 0; j = 9;ketemu = 0;
while((ketemu == 0) && (i<=j)){
k = (int)(i + j) / 2;
if(tabInt[k] == cariData){
ketemu = 1;
}
else{
if(tabInt[k] > cariData){
j = k - 1;
}
else{
i = k + 1;
}
}
}
if(ketemu==1){
System.out.print("Data "+cariData+ " terdapat
pada kumpulan data\n");
}else{
System.out.print("Data "+cariData+ " tidak
terdapat pada kumpulan data\n");
}
}
}

Nah, jika kalian belum paham, silahkan terus coba dan latih
penggunaan algoritma sorting dan searching diatas. Jika kalian sudah
paham kalian dapat menentukan kelebihan dari masing-masing
penggunaan algoritma tersebut.

Kita telah mempelajari algoritma-algoritma sederhana yang sering


digunakan dalam pemrograman komputer untuk menyelesaikan suatu
permasalahan seperti algoritma sorting dan searching. Selanjutnya
kita akan mengenal algoritma lainnya yang juga sering digunakan
untuk menyelesaikan keperluan tertentu dengan efisien yaitu
algoritma greedy.

63
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

4. Algoritma Greedy

Algoritma greedy merupakan salah satu dari sekian banyak algoritma


yang sering di pakai dalam implementasi sebuah system atau program
yang menyangkut mengenai pencarian “optimasi”. Di dalam mencari
sebuah solusi (optimasi) algoritma greedy hanya memakai 2 buah
macam persoalan optimasi, yaitu:
1. Maksimasi (maxizimation)
2. Minimasi (minimization)
Solusi optimum (terbaik) adalah solusi yang bernilai minimum atau
maksimum dari sekumpulan alternatif solusi yang mungkin.

Elemen persoalan optimasi:


1. Kendala (constraints)
2. Fungsi objektif (fungsi optiamsi)

solusi yang memenuhi semua kendala disebut solusi layak(feasible


solution). Solusi layak yang mengoptimumkan fungsi optimasi
disebut solusi optimum.

Algoritma greedy merupakan metode yang paling populer untuk


memecahkan persoalan optimasi.
Prinsip greedy adalah: “take what you can get now!”.
Contoh masalah sehari-hari yang menggunakan prinsip greedy:
 Memilih beberapa jenis investasi (penanaman modal)
 Mencari jalur tersingkat dari Bandung ke Surabaya
 Memilih jurusan di Perguruan Tinggi
 Bermain kartu remi
Pendekatan yang digunakan di dalam algoritma greedy adalah
membuat pilihan yang “tampaknya” memberikan perolehan terbaik
yaitu dengan membuat pilihan optimum lokal (local optimum) pada

64
Unit Pembelajaran
Pemrograman Berorientasi Objek

setiap langkah dengan harapan bahwa sisanya mengarah ke


solusi optimum global (global optimum).

Biasanya, algoritma Greedy melakukan pengurutan data untuk


menentukan urutan pemilihan item yang akan menjadi bagian dari
solusi optimal. Solusi yang dioptimalkan secara global dibangun
melalui estimasi berturut-turut dari solusi optimal lokal.

Algoritma greedy sederhana, secara umum, dan digunakan dalam


masalah optimasi, seperti, menemukan urutan tugas optimal yang
dilakukan pada komputer atau menemukan jalur terpendek dalam
grafik.

Binggung ? nah, agar lebih mudah memahami konsep algoritma


greedy, kita akan lanjut ke contoh soal. Soal ini diambil dari contoh
soal bebras https://www.bebras.edu.au. Soal ini dibuat oleh anggota
bebras dari negara Korea untuk mengajarkan anak-anak memahami
algoritma greedy.

Mencuci Seragam

Semua seragam yang digunakan di festival tomat harus dicuci menggunakan


satu mesin cuci. Mesin cuci dapat mencuci hingga tiga seragam secara
bersamaan selama setiap siklus pencucian.
• Jumlah jam yang diperlukan untuk mencuci satu seragam persis sama
dengan jumlah noda tomat pada seragam itu.
• Jumlah jam yang dibutuhkan untuk mencuci dua seragam pada saat yang
sama adalah sama dengan jumlah noda tomat pada seragam yang lebih kotor
dari keduanya.
• Jumlah jam yang dibutuhkan untuk mencuci tiga seragam pada saat yang
sama adalah sama dengan jumlah noda tomat pada yang paling kotor kedua
dari tiga.

65
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

Pertanyaan:
Berapa lama untuk mencuci 14 seragam (ditampilkan di bawah) dengan cara
tercepat?

Gambar diambil dari soal bebras https://www.bebras.edu.au/wp-content/uploads/2019/02/Bebras-


2018-Solution-Guide.pdf, untuk soal Wash the uniform dari Negara Korea

Jawaban:
Jawaban yang benar adalah 14. Mengapa ?
Penjelasan:

Pertanyaannya berfokus pada proses optimasi mencuci semua 14 seragam


dalam satu mesin cuci dengan mengelompokkan seragam dalam kelompok
satu, dua atau tiga untuk setiap siklus.

Dalam masalah ini, tidak mungkin untuk melakukan kurang dari 5 siklus, jadi
solusi optimal kita akan memiliki tepat 5 siklus. Karena 14 tidak habis dibagi
3, kita perlu empat siklus dengan 3 seragam dan satu siklus dengan 2
seragam.

Untuk meminimalkan total waktu mencuci, kita ingin seragam dengan noda
paling sedikit menjadi seragam paling kotor dalam siklus yang menggunakan
dua seragam dan seragam paling kotor kedua dalam siklus yang
menggunakan tiga seragam (karena ini adalah yang menentukan waktu
pencucian siklus).

66
Unit Pembelajaran
Pemrograman Berorientasi Objek

Jadi, cara terbaik untuk mendistribusikan seragam adalah mengelompokkan


seragam dengan noda yang paling sedikit secara berpasangan sampai kita
memiliki lima pasang. Seragam dengan noda terbanyak di setiap pasangan
akan menentukan waktu pencucian siklus, jadi kita dapat dengan mudah
mendistribusikan seragam yang tersisa oleh pasangan yang ada untuk
mendapatkan siklus solusi optimal kita.

Untuk melakukan itu, penting untuk terlebih dahulu mengurutkan seragam


dalam urutan menaik:
11223334444569
Sekarang, kita mengelompokkan dua seragam pertama dari urutan yang
diurutkan, kemudian yang kedua dan seterusnya, mendapatkan lima
pasangan berikut:
(1,1) (2, 2) (3, 3) (3, 4) (4, 4)

Jika kita mendistribusikan sisa seragam ke dalam pasangan yang dibuat, kita
mendapatkan solusi tersebut (ada solusi lain yang mungkin dengan total
waktu pencucian yang sama, dapat diperoleh dengan mendistribusikan
seragam yang tersisa secara berbeda).

Apakah kalian sudah memahami konsep tentang algoritma greedy ?.


Silahkan kembali baca contoh diatas untuk memberikan pemahaman
lebih.

67
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

D. Bahan Bacaan II

1. Kualitas Program

Dalam membuat suatu program komputer, tentunya kita harus


memperhatikan kualitas program. Kualitas suatu program terdiri dari
unsur kebenaran program, keterbacaan kode program, kekuatan
program dan performa program. Ini dilakukan agar kita menghasilkan
suatu program yang baik,efisien dan efektif.

Suatu program dikatakan benar jika dapat menyelesaikan suatu tugas


yang dirancangan untuk dijalankan. Program juga dikatakan benar
jika dapat bekerja dengan jenis angka apapun.

Suatu kode program yang readable atau memiliki keterbacaan artinya,


kode itu mudah dimengerti dan diikuti secara logis. Program yang
memiliki keterbacaan memiliki ciri-ciri:
a. Penulisan format kode dan struktur program terlihat jelas;
b. Variabel yang dibuat diberi nama yang jelas dan sesuai dengan
maksud pembuatan program;
c. Komentar, ditulis untuk bagian-bagian yang diperlukan untuk
dijelaskan
d. Penggunakan if bersarang untuk setiap pernyataan kondisional

Perhatikan contoh berikut ini:


Contoh Kode Program yang unreadable

try:
if item[1][2]=='1':
qtytype='0'
qty=str(item[1][0])
items=item[1][0]
amt='0.0'
tot_amt=str(float(item[1][1])/100)
#

68
Unit Pembelajaran
Pemrograman Berorientasi Objek

tot_amt=str(float(int(item[1][0])*int(item[1][1]))/100)
else:
qtytype='1'
items=item[1][0]
amt='0.0'
tot_amt=str(float(item[1][1])/100)
qty=0
for entry in item[1][4]:
qty+=entry[0]
except TypeError:
eType, eValue, eTraceback = sys.exc_info()
print >> sys.stderr, time.strftime("%Y-%m-%d
%H:%M:%S"),
str(traceback.format_exception(eType,eValue,eTraceback))

Contoh Kode Program yang readable

item_approved = (item['approved'] == '1' and item['active'] ==


'1')

if item_approved:
try:
db_item = item.get_db_record(item['id'])
except DoesNotExist:
db_item = item.create_db_record(**item)

item.approve(db_item)
db_item.save()

publish_event(item.events.APPROVAL)

Robustness (kuat) maksudnya adalah kemampuan sebuah sistem


komputer dalam menghadapi error ketika eksekusi program sedang
dijalankan. Penerapan robustness ini bisa termasuk dalam hal apa saja,
salah satu contohnya adalah algoritma sebuah program.

Ketika terjadi error, program tersebut masih bisa berjalan atau tidak;
fungsi-fungsi lainnya terpengaruh atau tidak; intinya itu program bisa
diandalkan atau tidak ketika terjadi error atau failure. Untuk
mendapatkan algoritma yang robust ini tidak mudah, perlu dilakukan
serangkaian test dengan kombinasi berbagai kemungkinan input atau
kondisi. Karena itu ketika sebuah program disebut robust, maka

69
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

kemungkinan besar program tersebut dapat diandalkan atau memiliki


performa yang baik ketika dijalankan untuk melakukan task sesuai
fungsinya.

2. Kasus Uji (test case)

test case adalah serangkaian tes yang digunakan untuk menentukan


apakah satu hal tertentu bekerja dengan baik. Sebuah kasus uji adalah
dokumen yang menggambarkan input, tindakan, atau peristiwa dan
respon yang diharapkan, untuk menentukan apakah fitur dari aplikasi
bekerja dengan benar.

Kasus uji yang baik adalah kasus uji yang memiliki probabilitas tinggi
untuk menemukan kesalahan yang belum pernah ditemukan
sebelumnya.

Perancangan kasus uji adalah perancangan untuk menyediakan


kemungkinan-kemungkinan yang cukup tinggi untuk menemukan
kesalahan (sesuai dengan tujuan Uji coba) dengan jumlah waktu dan
usaha yang minimum.

Sebuah kasus uji terdiri atas sebuah masukan dan sebuah keluaran
yang benar dari masukan tersebut. Jika program peserta berhasil
mengeluarkan keluaran yang sama, maka program dikatakan lolos
kasus uji tersebut.

Testing/pengujian dalam suatu program komputer merupakan proses


validasi dan verifikasi bahwa sebuah program:
 Memenuhi kebutuhan, dan

70
Unit Pembelajaran
Pemrograman Berorientasi Objek

 Berjalan sesuai yang diharapkan

Persiapan pengujian terdiri dari:


 Siapkan kasus uji dengan data dalam range, pada batas range
dan di luar range;
 Siapkan kasus uji sehingga semua percabangan program
pernah dieksekusi;
 Siapkan kasus uji yang berkaitan dengan sistem keamanan
data, kondisi tidak normal dan kondisi gangguan eksternal
Sebagai contoh, kita akan menguji sebuah program sederhana Lampu Lalu
Lintas. Ketika program dijalankan, harus menghasilkan berupa keluaran
input user yaitu berupa warna lampu lalu lintas. Setelah user
menginputkan warna program akan kembali menghasilkan keluaran
perintah yang memerintahkan user untuk bertindak sesuai dengan warna
lampu lalu lintas yang diinputkan.

import java.util.Scanner;

public class LampuLalulintas {


public static void main(String[] args) {

// membuat variabel dan Scanner


String lampu;
Scanner scan = new Scanner(System.in);

// mengambil input
System.out.print("Inputkan nama warna: ");
lampu = scan.nextLine();

switch(lampu){
case "merah":
System.out.println("Lampu merah, berhenti!");
break;
case "kuning":
System.out.println("Lampu kuning, harap hati-
hati!");
break;
case "hijau":
System.out.println("Lampu hijau, silahkan
jalan!");
break;
default:

71
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

System.out.println("Warna lampu salah!");


}
}
}

Hasil run/eksekusi

Kasus Uji:
 Input user : memasukkan warna lampu lalu lintas
 Keluaran : perintah
merah : Lampu merah, berhenti!
kuning : Lampu kuning, harap hati-hati!
hijau : Lampu hijau, silahkan jalan!

Berdasarkan hasil eksekusi dan kasus uji maka program diatas lolos
kasus uji, karena program mengeluarkan output atau keluaran
perintah yang benar berdasarkan user input yang dimasukkan.

72
Unit Pembelajaran
Pemrograman Berorientasi Objek

PENGEMBANGAN PENILAIAN

A. Pembahasan Soal-soal

Topik Pemrograman Berorientasi Objek merupakan topik yang akan


dipelajari oleh peserta didik di kelas XI dan XII Sekolah Menengah Atas di
Indonesia. Berdasarkan hasil analisis literatur dari rujukan jurnal, buku dan
artikel, berikut ini pembahasan soal-soal dasar-dasar pemrograman:

1. Diantara perintah untuk mencetak berikut, yang benar adalah ………..


a. System.out.println(“Mid Java”)
b. System.Out.println(“Mid Java ”)
c. System.out.Println(“Mid Java ”)
d. System.Out.Println(“Mid Java ”)
Jawaban: A
2. Stream yang berguna untuk mengirim keluaran ke layar adalah
a. System.in.
b. System.out
c. System.err
d. System.exit
Jawaban: B
3. Berikut ini yang termasuk tipe data primitive adalah…
a. Boolean
b. character
c. byte
d. Double
Jawaban: C
4. Berikut ini yang termasuk tipe data reference adalah…
a. float
b. Character
c. short
d. int
Jawaban: B
5. Keyword yang digunakan untuk membuat nilai tetap dan tidak dapat
berubah adalah…
a. protected

73
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

b. private
c. public
d. final
Jawaban: D
6. Dari statement berikut ini manakah baris pernyataan yang tidak valid…
1. int satuAwal = 5;
2. Final boolean BW = true;
3. Char k = “T”;
4. String w=”123”;
a. 1 dan 2
b. 3 dan 4
c. 2 dan 3
d. 2 dan 4
Jawaban: C
Untuk soal 7 dan 8, Perhatikan penggalan program berikut ini :
1. public class Ceria {
2. public static void main(String args[ ]) {
3. int a = 9; int b = 4;
4. int c= a/b;
5. }
6. }
7. Pendefinisian kelas pada program diatas terjadi pada baris ke …
a. 1
b. 2
c. 3
d. 4
Jawaban: A
8. Jika nilai variabel c ditampilkan ke layar akan menghasilkan nilai …
a. 2.25
b. 2.3
c. 2
d. 2.5
Jawaban: C
9. Berikut adalah cara inisialisasi variabel bertipe class string, kecuali:
a. String me = new String(“Inisialisasi 1”);
b. String me;
me = new String “inisialisasi 1” ;
c. String me;
me = new String(“inisialisasi 1”);

74
Unit Pembelajaran
Pemrograman Berorientasi Objek

d. String me;
me = “inisialisasi 1”;
Jawaban: B
10. Berikut ini adalah pernyataan yang benar berhubungan dengan break dan
continue, kecuali...
a. Break digunakan untuk keluar dari blok perulangan
b. Continue digunakan untuk melanjutkan ke proses perulangan
berikutnya
c. Statement setelah continue tidak akan dijalankan
d. Statement setelah break tetap akan dijalankan
Jawaban: D
11. Berikut ini manakah jenis operator yang biasa digunakan dalam
bahasa pemrograman java, kecuali:
a. Operator logika
b. Operator relasi
c. Operator bitwise
d. Operator increment
Jawaban: D
12. Operator yang terdapat pada kurung berikut ( %= ) adalah operator
yang digunakan untuk
a. Penjumlahan
b. sisa pembagian
c. pembagian
d. perkalian

Untuk soal no. 13, Perhatikan penggalan program berikut:


class uji
{ int x;
void data()
{ statement…}
public static void main(String []args)
{ statement…}
}

13. Jika pada program diatas method void data() ditambahkan perintah static
maka untuk pemanggilannya pada method main dapat dilakukan sebagai
berikut kecuali:
a. uji x = new uji(); x.data();
b. data();

75
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

c. uji.data();
d. void data();
Jawaban: D
14. Dibawah ini termasuk tipe data primitive, kecuali…
a. Byte
b. Float
c. Boolean
d. Class
Jawaban: D
15. Untuk menyimpan data nim mahasiswa, tipe data yang paling tepat
digunakan adalah...
a. int
b. short
c. char
d. String
Jawaban: D

76
Unit Pembelajaran
Pemrograman Berorientasi Objek

Mengembangkan Soal HOTS

Pada bagian ini akan dimodelkan pembuatan soal yang memenuhi indikator
pencapaian kompetensi yang diturunkan dari kompetensi dasar
pengetahuan. Pengembangan soal diawali dengan pembuatan kisi-kisi agar
guru dapat melihat kesesuaian antara kompetensi, lingkup materi, dan
indikator soal. Selanjutnya, dilakukan penyusunan soal dikartu soal
berdasarkan kisi-kisi yang telah disusun sebelumnya. Contoh soal yang
dibuat menuntun proses berfikir level kognitif 3 Yaitu C4 (analisis), C5
(Evaluasi) dan C6 (Mengkreasi).

Contoh Penulisan Kisi-Kisi Soal Ujian Nasioan (UN)


Jenjang sekolah : Sekolah Menengah Atas (SMA)
Kelas : XI
Mata pelajaran : Informatika
Jumlah Soal :3
Alokasi waktu : 90 menit
Tahun Pelajaran : 2019/2020

Indikator Materi Bentuk


Nomor Kompetensi yang Level
Pencapaian Indikator soal Kelas Soal
Soal Diuji kognitif
Kompetensi

1 3.6.1. Mengenal 3.6.1.1.1.1. Mengenal Pemrograman Disajikan suatu C4 XI Pilihan


modularisasi program Berorientasi algoritma peserta Ganda
dalam penulisan moduler Objek didik menganalisis
program. bentuk
pendefinisian
prosedur
2 6.6.2. Mengenal 6.6.2.1.1. Mengenal Pemrograman Disajikan suatu C4 XI Pilihan
beberapa dan Berorientasi kode bahasa Ganda
proses menuliska Objek pemrograman
standard n proses peserta didik
(search, sort) search menganalisis cara
yang dan sort kerja struktur array
primitif/sederh dengan dalam algoritma
ana memakai sorting/pengurutan
bahasa
yang
dipelajari

3 6.7. Mengetahui 6.7.2.1.1. Mengenal Pemrograman Disajikan C4 XI Pilihan


adanya algoritma Berorientasi deskripsi suatu Ganda
algoritma- standar Objek algoritma
algoritma

77
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

standar yang standar, peserta


efisien untuk didik dapat
keperluan- menganalisis
keperluan konsep algoritma
tertentu
tersebut
termasuk yang
berdasarkan
konsep AI.

KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN


KARTU SOAL
Tahun Pelajaran 2019/2020
PAKET - …
Jenis Sekolah : SMA Kurikulum : 2013
Kelas : XI Bentuk Soal : Pilihan Ganda
Mata Pelajaran : Informatika Nama Penyusun : Nurul Hayati
KOMPETENSI DASAR : Pengetahuan/ 
6.6.1. Mengenal modularisasi Buku Sumber:
dalam penulisan Keterampilan Aplikasi Penalaran
program. Nomor RUMUSAN BUTIR SOAL
Soal Disajikan algoritma menghitung nilai maksimal:
1
LINGKUP MATERI : Algoritma Nilai Maksimal
Algoritma dan procedure Hitung_Nilai_Maks (input a,b
: integer)
Pemrograman {Menghitung nilai maksimal antara dua
MATERI : bilangan}
Pemrograman Berorientasi DEKLARASI :
Objek maks : integer
INDIKATOR SOAL : Kunci DEFINISI :
Disajikan suatu algoritma Jawaban if a > b then
maks ¬ a
peserta didik menganalisis B else
bentuk pendefinisian maks ¬ b
prosedur write(maks)
end procedure

Prosedur adalah salah satu jenis method yang


tidak memberikan return atau nilai kembali .
Berdasarkan algoritma diatas pembentukan
prosedur diatas menggunakan…..
a. Konsep modularisasi
b. parameter
c. tanpa parameter
d. class

78
Unit Pembelajaran
Pemrograman Berorientasi Objek

KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN


KARTU SOAL
Tahun Pelajaran 2019/2020 PAKET - …

Jenis Sekolah : SMA Kurikulum : 2013


Kelas : XI Bentuk Soal : Pilihan Ganda
Mata Pelajaran : Informatika Nama Penyusun : Nurul Hayati
KOMPETENSI DASAR : Pengetahuan/ 
6.6.2. Mengenal beberapa Buku Sumber:
proses standard Keterampilan Aplikasi Penalaran
(search, sort) yang
primitif/sederhana Nomor RUMUSAN BUTIR SOAL
Soal Perhatikan kode program berikut:
2
LINGKUP MATERI :
Algoritma dan
Pemrograman
MATERI :
Pemrograman Berorientasi
Objek
INDIKATOR SOAL : Kunci
Disajikan suatu kode Jawaban
bahasa pemrograman A
peserta didik menganalisis
cara kerja struktur array
dalam algoritma
sorting/pengurutan Kode program diatas adalah kode program
dengan menggunakan algoritma bubble sort
dengan penggunaan array, bagaimana proses
kerja array dalam proses pengurutan bubble
sort….
a. setiap elemen array dibandingkan
dengan elemen berikutnya, jika
element array pada saat dicek lebih
besar dari elemen array berikutnya,
maka posisi indeks bertukar
b. setiap elemen array dibandingkan
dengan elemen berikutnya, jika
element array pada saat dicek lebih
kecil dari elemen array berikutnya,
maka posisi indeks bertukar
c. setiap elemen array dilalui dari
elemen pertama sampai terakhir
d. setiap elemen array hanya dilalui
dari elemen pertama sekali

79
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN


KARTU SOAL
Tahun Pelajaran 2019/2020 PAKET - …

Jenis Sekolah : SMA Kurikulum : 2013


Kelas : XI Bentuk Soal : Pilihan Ganda
Mata Pelajaran : Informatika Nama Penyusun : Nurul Hayati
KOMPETENSI DASAR : Pengetahuan/ 
6.7. Mengetahui adanya Buku Sumber:
algoritma-algoritma Keterampilan Aplikasi Penalaran
standar yang efisien
untuk keperluan- Nomor RUMUSAN BUTIR SOAL
keperluan tertentu Soal Algoritma greedy merupakan salah satu dari
termasuk yang 3 sekian banyak algoritma yang sering dipakai
berdasarkan konsep AI. dalam implementasi sebuah siste atau
LINGKUP MATERI : program yang mengenai pencarian
Algoritma dan “optimasi”. Apa yang dimaksud dengan
Pemrograman optimasi pada algoritma greedy, dalam
MATERI : menyelesaikan suatu permasalah ?
Pemrograman Berorientasi a. optimasi adalah solusi yang bernilai
Objek maksimum dari sekumpulan alternatif
INDIKATOR SOAL : Kunci solusi yang mungkin
Disajikan deskripsi suatu Jawaban b. optimasi adalah solusi yang bernilai
algoritma standar, peserta C minimum dari sekumpulan alternatif
didik dapat menganalisis
konsep algoritma tersebut solusi yang mungkin
c. optimasi adalah solusi yang bernilai
minimum atau maksimum dari
sekumpulan alternatif solusi yang
mungkin
d. optimasi adalah pilihan yang tampak
baik dari sekumpulan alternatif solusi
yang mungkin

80
Unit Pembelajaran
Pemrograman Berorientasi Objek

Contoh Penulisan Kisi-Kisi Soal Ujian Nasioan (UN)


Jenjang sekolah : Sekolah Menengah Atas (SMA)
Kelas : XII
Mata pelajaran : Informatika
Jumlah Soal :2
Alokasi waktu : 90 menit
Tahun Pelajaran : 2019/2020

Nomor Kompetensi yang Indikator Pencapaian Materi Level Bentuk


Indikator soal Kelas
Soal Diuji Kompetensi kognitif Soal

1 3.1. Mengetahui 6.7.2.1.2. Mengenal Pemrograman Disajikan suatu C4 XII Pilihan


kualitas apakah kode Berorientasi kode program Ganda
program/sour program Objek peserta didik
ce code dari tersebut menganalisis
kriteria yang readable, robust kualitas kode
diberikan dan/atau program
(readability. performansinya tersebut
Robustness, bagus) sesuai
performance). dengan kriteria
yang diajarkan
di kelas.
2 3.2. Memahami 3.2.1.1.1. Memahami apa Pemrograman Disajikan C4 XII Pilihan
test case dan yang dilakukan Berorientasi ilustrasi Ganda
tata cara program Objek pengujian suatu
pengujian (input-proses- fungsi program
program. output) dan peserta didik
membuat data menganalisis
uji untuk source menentukan
code tersebut, hasil kasus uji
serta membuat
skenario
pengujian

81
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN


KARTU SOAL
Tahun Pelajaran 2019/2020 PAKET - …

Jenis : SMA Kurikulum : 2013


Sekolah : XII Bentuk Soal : Pilihan Ganda
Kelas : Informatika Nama Penyusun : Nurul Hayati
Mata
Pelajaran
KOMPETENSI Pengetahuan/ 
Buku Sumber: Keterampilan Aplikasi
Penalaran
DASAR :
3.1. Mengetahui Nomor RUMUSAN BUTIR SOAL
kualitas Soal Perhatikan kode program berikut ini:
program/sour 1
ce code dari
kriteria yang
diberikan
(readability.
Robustness,
performance).

LINGKUP
MATERI :
Algoritma dan
Pemrograman
MATERI :
Pemrograman
Berorientasi
Objek
INDIKATOR Kunci
SOAL : Jawaban
Disajikan suatu D
kode program
peserta didik
menganalisis
kualitas kode
program tersebut

Jika program diatas dijalankan, maka program akan


menghasilkan tulisan “hello world”. Jika dilihat dari
kualitas program/kode program, maka kode program
diatas tergolong…..
a. Correctness (ketidak benaran)
b. Robust (Kekuatan)
c. error
d. Unreadable (ketidakterbacaan

82
Unit Pembelajaran
Pemrograman Berorientasi Objek

KEMENTRIAN PENDIDIKAN DAN KEBUDAYAAN


KARTU SOAL
Tahun Pelajaran 2019/2020 PAKET - …

Jenis Sekolah : SMA Kurikulum : 2013


Kelas : XII Bentuk Soal : Pilihan Ganda
Mata Pelajaran : Informatika Nama Penyusun : Nurul Hayati
KOMPETENSI DASAR: Pengetahuan/ 
Buku Sumber: Keterampilan Aplikasi
3.2. Memahami test case dan Penalaran
tata cara pengujian Nomor RUMUSAN BUTIR SOAL
program. Soal Jika dilakukan kasus uji terhadap fungsi
2 login dengan memasukkan username dan
LINGKUP MATERI : password, seperti berikut:
Algoritma dan Pemrograman Masukkan
MATERI : Username : ani
Pemrograman Berorientasi Password :Lm5kl
Objek Keluaran
INDIKATOR SOAL : Kunci ani
Disajikan ilustrasi pengujian Jawaban Lm5kl
suatu fungsi program peserta D Kemudian jika pengguna memasukkan
didik menganalisis password yang salah, maka program tidak
menentukan hasil kasus uji melakukan apapun.

Berdasarkan ilustrasi kasus uji diatas, maka


program tersebut menghasilkan hasil
pengujian:
a. lolos kasus uji
b. gagal kasus uji
c. tertunda
d. tidak tereksekusi

83
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

KESIMPULAN

Pemrograman berorientasi objek yang dipelajari pada unit ini merupakan


salah satu materi yang digunakan dalam memahami program komputer
dengan menggunakan suatu objek. Peserta didik di tingkat Sekolah
Menengah Atas kelas XI dan XII diajarkan untuk dapat struktur dan
pembentukan serta algoritma dasar pemrograman berorientasi objek. Ini
dilakukan dengan tujuan untuk mengasah kemampuan berfikir komputasi
dan penalaran peserta didik lebih lanjut untuk menghasilkan suatu karya
teknologi dimasa depan.

Untuk itu dengan dipelajarinya pemrogrman berorientasi objek pada subunit


ini, guru di Indonesia diharapkan dapat memiliki pengetahuan untuk
mengajarkan materi tentang pemrogaman komputer berorietasi objek yang
disesuaikan dengan indikator yang telah disusun, terutama dalam
memfasilitasi kemampuan bernalar komputasi peserta didik. Selain itu,
materi ini juga aplikatif untuk guru sendiri sehingga guru diharapkan dapat
menerapkannya dalam kehidupan sehari-hari.

Bagi peserta didik melalui pembelajaran pada subunit ini diharapkan dapat
mendorong, mengasah dan meningkatkan kreatifitas mereka dalam belajar
konsep komputer, logika dan algoritma, penalaran atau berfikir
komputasional, pemecahan masalah serta kemampuan berkolaborasi, serta
diharapkan dapat menjadi dasar pengetahuan bagi mereka untuk
menghasilkan suatu karya teknologi dan menjadikan mereka sebagi manusia
yang produktif

Melalui model Problem-based Learning (PBL) yang digunakan dalam aktivitas


pembelajaran ini diharapkan juga guru dan peserta didik mampu menyajikan
hasil karya pemrograman dengan menggunakan suatu bahasa pemrograman.

84
Unit Pembelajaran
Pemrograman Berorientasi Objek

UMPAN BALIK

Dalam rangka mengetahui pemahaman terhadap subunit ini, Saudara perlu


mengisi lembar persepsi pemahaman. Berdasarkan hasil pengisian
instrumen ini, Saudara dapat mengetahui posisi pemahaman beserta umpan
baliknya. Oleh karena itu, isilah lembar persepsi diri ini dengan objektif dan
jujur.

Lembar Persepsi Pemahaman Unit

No Aspek Kriteria

1 2 3 4

1. Memahami indikator yang telah dikembangkan


berdasarkan Kompetensi Dasar

2 Mampu menghubungkan konten dengan


fenomena kehidupan sehari-hari

3 Merasa bahwa tahapan aktivitas pembelajaran


dapat mengembangkan HOTS peserta didik

4 Memahami tahapan aktivitas yang disajikan


dengan baik

5 Mampu dengan baik mengaplikasikan aktivitas


pembelajaran di dalam kelas

6 Memahami dengan baik Lembar Kerja peserta


didik yang dikembangkan

85
Program PKB melalui PKP berbasis Zonasi
KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN
Lembaga Pengembangan dan Pemberdayaan Pendidik dan Tenaga Kependididikan
Bidang Kelautan Perikanan Teknologi Informasi dan Komunikasi

7 Mampu melaksanakan dengan baik Lembar Kerja


peserta didik yang dikembangkan

8 Memahami Konten secara menyuluh dengan baik

9 Memami prosedur penyusunan soal HOTS


dengan baik

10 Mampu membahas soal HOTS yang disajikan


dengan tepat

Jumlah

Jumlah Total

Keterangan Pedoman Penskoran

1=tidak menguasai

2 = cukup menguasai Skor= x100

3 = menguasai

4 = Sangat Menguasai

Keterangan Umpan Balik

Skor Umpan Balik

< 70 : Masih banyak yang belum dipahami, di antara konten, cara


membelajarkannya, mengembangkan penilian dan melaksanakan

86
Unit Pembelajaran
Pemrograman Berorientasi Objek

penilaian berorientasi HOTS. Saudara membaca ulang subunit ini


dan mendiskusikannya dengan dengan fasilitator di MGMP sampai
anda memahaminya.

70-79 : Masih ada yang belum dipahami dengan baik, di antara konten,
cara membelajarkan, mengembangkan penilian dan melaksanakan
penilaian berorientasi HOTS. Saudara perlu mendiskusikan bagian
yang belum dipahami dengan fasilitator atau teman lain di MGMP.

80-89 : Memahami konten, cara membelajarkan, mengembangkan


penilian dan melaksanakan penilaian berorientasi HOTS dengan
baik.

> 90 : Memahami konten, cara membelajarkan, mengembangkan


penilian dan melaksanakan penilaian berorientasi HOTS dengan
sangat baik. Saudara dapat menjadi fasilitator bagi teman-teman
lain di MGMP untuk membelajarkan subunit ini.

87
Unit Pembelajaran
Program Pengembangan Keprofesian Berkelanjutan (PKB)
melalui
Peningkatan Kompetensi Pembelajaran (PKP)
Berbasis Zonasi

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN


LEMBAGA PENGEMBANGAN DAN PEMBERDAYAAN
PENDIDIK DAN TENAGA KEPENDIDIKAN
BIDANG KELAUTAN PERIKANAN
TEKNOLOGI INFORMASI DAN KOMUNIKASI
2019
Jl. Diklat No. 30 Tambungbatu Desa Paccellekang Kec. Pattallassang
Kab. Gowa Prov. Sulawesi Selatan - 92171

Anda mungkin juga menyukai