Mata Pelajaran
Informatika
Pemrograman
Berorientasi
Objek
MODUL
INSPIRASI
PEMROGRAMAN
BERORIENTASI
OBJEK
Penulis:
NURUL HAYATI, S.TI
Penyunting:
Arnis
Copyright © 2019
Direktorat Pembinaan Guru Pendidikan Menengah dan Pendidikan Khusus
Direktorat Jenderal Guru dan Tenaga Kependidikan
Kementerian Pendidikan dan Kebudayaan
KATA SAMBUTAN
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
iv
Unit Pembelajaran
Pemrograman Berorientasi Objek
KATA PENGANTAR
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
vi
Unit Pembelajaran
Pemrograman Berorientasi Objek
DAFTAR ISI
Hal
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
viii
Unit Pembelajaran
Pemrograman Berorientasi Objek
DAFTAR GAMBAR
Hal
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
x
Unit Pembelajaran
Pemrograman Berorientasi Objek
PENDAHULUAN
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.
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
2
Unit Pembelajaran
Pemrograman Berorientasi Objek
KOMPETENSI DASAR
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
Unit Pembelajaran
Pemrograman Berorientasi Objek
3.2 Memahami test case dan tata 3.2.1. Memahami test cast dan tata cara
cara pengujian program. pengujian program
4.2 Bekerja dalam tim untuk 4.2.1. Mampu bekerja dalam tim untuk
mengembangkan dan menulis program,
menguji program. mengembangkan dan menguji
program.
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
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
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
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:
Membuka pintu
Buka pintu
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
10
Unit Pembelajaran
Pemrograman Berorientasi Objek
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 ?
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:
12
Unit Pembelajaran
Pemrograman Berorientasi Objek
SOAL-SOAL UN/USBN
A. CONTOH SOAL
UJIAN SEKOLAH BERSTANDAR NASIONAL (USBN)
SEKOLAH MENENGAH ATAS (SMA) TAHUN 2017
Kelas : XI
Mata Pelajaran : Pemrograman Berorientasi Objek
Waktu : 60 Menit
Bentuk Soal : Pilihan Ganda
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
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
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
18
Unit Pembelajaran
Pemrograman Berorientasi Objek
BAHAN PEMBELAJARAN
B. Aktivitas Pembelajaran
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.
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
20
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
22
Unit Pembelajaran
Pemrograman Berorientasi Objek
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.
24
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
26
Unit Pembelajaran
Pemrograman Berorientasi Objek
2.3. Masing-masing
kelompok membaca
bahan bacaan yang
telah disiapkan.
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.
28
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
2.3. Masing-masing
kelompok membaca
bahan bacaan yang
telah disiapkan.
30
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
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.
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.
34
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
36
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
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;
}
}
}
38
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
40
Unit Pembelajaran
Pemrograman Berorientasi Objek
Algoritma I
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;
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
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");
}
}
}
42
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
Algoritma 3
Diberikan uang senilai A, dimana A bernilai 32.
44
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
46
Unit Pembelajaran
Pemrograman Berorientasi Objek
Algoritma 4
Algoritma Greedy
class algoritmaGreedy
{
public int i,j,k;
// konstruktor
algoritmaGreedy(){
}
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;
}
}
}
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;
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());
}
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
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
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;
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;
}
52
Unit Pembelajaran
Pemrograman Berorientasi Objek
C. Bahan Bacaan I
1. Modularisasi
SUBPROGRAM
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
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.
54
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
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.
56
Unit Pembelajaran
Pemrograman Berorientasi Objek
KEUNTUNGAN
2. Algoritma Sorting
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
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
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();
}
fungsi
System.out.println(pesan);;
}
}
System.out.println("\n");
}
60
Unit Pembelajaran
Pemrograman Berorientasi Objek
3. Algoritma Searching
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
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.
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
64
Unit Pembelajaran
Pemrograman Berorientasi Objek
Mencuci Seragam
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?
Jawaban:
Jawaban yang benar adalah 14. Mengapa ?
Penjelasan:
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
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).
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
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))
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)
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
Kasus uji yang baik adalah kasus uji yang memiliki probabilitas tinggi
untuk menemukan kesalahan yang belum pernah ditemukan
sebelumnya.
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.
70
Unit Pembelajaran
Pemrograman Berorientasi Objek
import java.util.Scanner;
// 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
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
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
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
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).
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
78
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
80
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
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
82
Unit Pembelajaran
Pemrograman Berorientasi Objek
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
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
84
Unit Pembelajaran
Pemrograman Berorientasi Objek
UMPAN BALIK
No Aspek Kriteria
1 2 3 4
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
Jumlah
Jumlah Total
1=tidak menguasai
3 = menguasai
4 = Sangat Menguasai
86
Unit Pembelajaran
Pemrograman Berorientasi Objek
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.
87
Unit Pembelajaran
Program Pengembangan Keprofesian Berkelanjutan (PKB)
melalui
Peningkatan Kompetensi Pembelajaran (PKP)
Berbasis Zonasi