DIKTAT
PEMROGRAMAN BERORIENTASI OBJEK
SMK KELAS XI RPL
Nama Disusun Oleh:
NIP
: ANTIK HARIYANTI, S.Kom.
: 19841108 201001 1 015
PEMERINTAH PROVINSI JAWA TENGAH
DINAS PENDIDIKAN DAN KEBUDAYAAN
SMK NEGERI 4 KENDAL
TAHUN 2021
SEMESTER 1
KATA PENGANTAR
Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa, karena
berkat rahmat, taufik dan hidayah-Nya penulis dapat menyelesaikan Diktat
Pemrograman Berorientasi Objek SMK Kelas XI RPL semester 1 tanpa halangan
yang berarti.
Penyelesaian diktat ini tidak terlepas dari bantuan berbagai pihak, oleh
karena itu penulis sampaikan terima kasih kepada:
1. Suharto, S.Pd., M.Pd selaku Kepala SMK N 4 Kendal atas motivasi dan
kesempatan yang diberikan
2. Bapak Ibu Pendidik SMK N 4 Kendal
3. Pihak – pihak lain yang cukup besar andilnya dalam penyelesaian Diktat ini.
Demikian pengantar yang dapat penulis sampaikan, semoga diktat ini dapat
bermanfaat dalam pembelajaran
Kendal, Juli 2021
Penulis
iv
DAFTAR ISI
HALAMAN JUDUL............................................................................................. i
LEMBAR PENGESAHAN ................................................................................. ii
SURAT KETERANGAN ..................................................................................... iii
KATA PENGANTAR ......................................................................................... iv
DAFTAR ISI ........................................................................................................ v
DAFTAR TABEL................................................................................................. vii
DAFTAR GAMBAR ............................................................................................ ix
TUJUAN DIKTAT ............................................................................................... x
BAB I. KONSEP PEMROGRAMAN BERORIENTASI OBJEK .................. 1
A. Konsep Pemrograman Berorientasi Objek ................................... 1
B. Pengertian Objek .......................................................................... 2
C. Paradigma Bahasa Pemrograman ................................................. 3
D. Aktivitas Siswa.............................................................................. 4
E. Latihan Soal................................................................................... 5
BAB II. DASAR DAN ATURAN PBO ........................................................... 10
A. Perangkat Pemrograman Berorientasi Objek Java ........................10
B. Mempersiapkan Lingkungan Kerja Java .......................................12
C. Aturan Dasar Program Java ...........................................................15
D. Konstanta .......................................................................................17
E. Keyword .........................................................................................17
F. Tipe Data ........................................................................................18
G. Operator..........................................................................................19
H. Separator.........................................................................................20
I. Struktur Kontrol Percabangan ........................................................24
J. Struktur Kontrol Perulangan...........................................................28
K. Mengolah Input Data Sederhana Melalui Keyboard ......................31
L. Aktivitas Siswa...............................................................................34
M. Latihan Soal....................................................................................36
BAB III. MENERAPKAN KONSEP CLASS, OBJEK DAN METHOD ......... 43
A. Pengertian class, objek, dan method ............................................. 43
v
B. Membuat Class Sederhana ........................................................... 44
C. Membuat Properti Class ................................................................ 45
D. Membuat Objek ............................................................................. 47
E. Konstruktor.................................................................................... 49
F. Method pada Class ........................................................................ 50
G. Parameter ....................................................................................... 56
H. Aktivitas Siswa.............................................................................. 58
I. Latihan Soal................................................................................... 59
BAB IV PERLINDANGAN DATA DAN INFORMASI (ENKAPSULASI) .... 63
A. Enkapsulasi..................................................................................... 63
B. Public .............................................................................................. 63
C. Private............................................................................................. 65
D. Protected ......................................................................................... 67
E. Default ............................................................................................ 69
F. Latihan Soal.................................................................................... 70
BAB V PEWARISAN ......................................................................................... 72
A. Konsep Inheritance atau Pewarisan ................................................ 72
B. Jenis Inheritance atau Pewarisan .................................................... 74
C. Latihan Soal.................................................................................... 78
BAB VI POLIMORFISME ................................................................................. 81
A. Polimorfisme .................................................................................. 81
B. Overloading .................................................................................... 83
C. Overriding....................................................................................... 85
D. Final................................................................................................ 87
E. Latihan Soal.................................................................................... 88
DAFTAR PUSTAKA
vi
DAFTAR TABEL
Halaman
Tabel 3.1 ............................................................................................................... 18
vii
DAFTAR GAMBAR
Halaman
Gambar 1.1 Objek dan Atribut............................................................................. 3
Gambar 2.1 JDK................................................................................................... 12
Gambar 2.2 JDK dan IDE Netbeans .................................................................... 13
Gambar 2.3 Tampilan Netbeans........................................................................... 13
Gambar 2.4 Java Application............................................................................... 14
Gambar 2.5 Project Name .................................................................................... 14
Gambar 2.6 Tampilan Class hello_world............................................................. 15
Gambar 2.7 Analisa Program................................................................................ 15
Gambar 2.8 Keyword Java................................................................................... 18
Gambar 3.2 Membuat Project di Java NetBeans ................................................. 44
Gambar 3.3 Hasil Pembuatan project dan class pada NetBeans ......................... 45
Gambar 6.1 Konsep Polimorfisme....................................................................... 56
viii
TUJUAN DIKTAT PELAJARAN PEMROGRAMAN BERORIENTASI OBJEK
Tujuan disusunnya diktat pelajaran Pemrograman Berorientasi Objek semester
1 ini adalah:
1. Sebagai salah satu sumber belajar bagi siswa
2. Mempermudah dalam pembelajaran
3. Menambah keterampilan siswa dalam mengerjakan soal
4. Menambah wawasan pengetahuan siswa
5. Membantu guru dalam menyajikan pembelajaran
ix
SILABUS M
Nama Sekolah : SMK NEGERI 4 KENDAL
Bidang Keahlian : Teknologi Informasi dan Komunikasi
Kompetensi Keahlian : Rekayasa Perangkat Lunak
Mata Pelajaran : Pemrograman Berorientasi Obyek
Durasi (Waktu) : 272 jam (8x34 Pertemuan)
Kelas/Semester : XI RPL/GASAL-GENAP
KI-3 (Pengetahuan) : Memahami, menerapkan, menganalis
operasional dasar, dan metakognitif
KI-4 (Keterampilan) : Informatika pada tingkat teknis, spes
teknologi, seni, budaya, dan humanio
keluarga, sekolah, dunia kerja, warga
Melaksanakan tugas spesifik, dengan
dilakukan serta menyelesaikan masa
Komputer dan Informatika. Menampi
sesuai dengan standar kompetensi ke
secara efektif, kreatif, produktif, kritis,
terkait dengan pengembangan dari y
spesifik dibawah pengawasan langsu
membiasakan gerak mahir, menjadik
konkret terkait dengan pengembangan
tugas spesifik dibawah pengawasan la
MATA PELAJARAN
sis, dan mengevaluasi tentang pengetahuan faktual, konseptual,
sesuai dengan bidang dan lingkup kerja Teknik Komputer dan
sifik, detil, dan kompleks, berkenaan dengan ilmu pengetahuan,
ora dalam konteks pengembangan potensi diri sebagai bagian dari
masyarakat nasional, regional, dan internasional.
n menggunakan alat, informasi, dan prosedur kerja yang lazim
alah sederhana sesuai dengan bidang dan lingkup kerja Teknik
ilkan kinerja mandiri dengan mutu dan kuantitas yang terukur
erja.Menunjukkan keterampilan menalar, mengolah, dan menyaji
, mandiri, kolaboratif, komunikatif, dan solutif dalam ranah abstrak
yang dipelajarinya di sekolah, serta mampu melaksanakan tugas
ung.Menunjukkan keterampilan mempersepsi, kesiapan, meniru,
kan gerak alami, sampai dengan tindakan orisinal dalam ranah
n dari yang dipelajarinya di sekolah, serta mampu melaksanakan
angsung.
1
Kompetensi Dasar Indikator Pencapaian Kompetensi
12
3.1 Memahami konsep 3.1.1 Menjelaskan konsep dasar
pemrograman pemrograman berorientasi obyek.
berorientasi objek 3.1.2 Menjelaskan prosedur pemrograman
berorientasi obyek.
4.1 Mempresentasikan 3.1.3 Menjelaskan perbandingan antara
konsep pemrograman pemrograman berorientasi obyek
berorientasi objek dengan pemrograman struktural.
4.1.1 Mempresentasikan konsep
pemrograman berorientasi obyek.
3.2 Menerapkan dasar 3.2.1 Menjelaskan berbagai tools
dan aturan pengembang program berorientasi
pemrograman obyek.
berorientasi objek
3.2.2 Menjelaskan konfigurasi tools
4.2 Membuat kode pengembang perangkat lunak
program dasar dan
aturan pemrograman berorientasi obyek.
berorientasi objek 3.2.3 Menjelaskan kebutuhan tools editor
program berorientasi obyek.
Alokasi
Materi Pokok Waktu Kegiatan Pembelajaran Penilaian
3 (JP)
• Konsep pemrograman
45 6
berorientasi obyek.
• Prosedur pemrograman 8 • Mengamati untuk
mengidentifikasi
berorientasi obyek. dan merumuskan
• Keunggulan masalah tentang
konsep
pemrograman pemrograman
berorientasi obyek berorientasi objek
terhadap pemrograman
struktural. • Mengumpulkan
data tentang
• Macam-macam konsep
perangkat lunak pemrograman
pengembang program berorientasi objek
berorientasi obyek.
• Mengolah data
• Prosedur instalasi dan tentang konsep
konfigurasi tools pemrograman
pengembang aplikasi berorientasi objek
2 • Mengomunikasikan
tentang konsep
pemrograman
berorientasi objek
24 • Mengamati untuk
mengidentifikasi
dan merumuskan
masalah tentang
dasar dan aturan
pemrograman
berorientasi objek
• Mengumpulkan
data tentang dasar
3.3 Menerapkan konsep 3.2.4 Menjelaskan struktur dasar dalam
class, method dan pemrograman berorientasi obyek.
object
3.2.5 Menjelaskan prosedur kompilasi
4.3 Membuat class, program.
method dan object
3.2.6 Menjelaskan tata cara menjalankan
program hasil kompilasi.
3.2.7 Menerapkan prosedur aturan
pemrograman berorientasi obyek.
4.2.1 Menginstalasi tools pengembang
program aplikasi berorientasi obyek
kedalam komputer.
4.2.2 Mengkonfigurasi tools pengembang
program aplikasi berorientasi obyek.
4.2.3 Merencanakan program aplikasi
sederhana berorientasi obyek.
4.2.4 Membuat kode program aplikasi
sederhana berorientasi obyek.
4.2.5 Menjalankan program aplikasi
sederhana berorientasi obyek.
3.3.1 Menjelaskan konsep class dalam
pemrograman berorientasi obyek.
3.3.2 Menerapkan class dalam
pemrograman berorientasi obyek.
3.3.3 Menjelaskan konsep method dalam
pemrograman berorientasi obyek.
3.3.4 Menerapkan method dalam
pemrograman berorientasi obyek.
3.3.5 Menjelaskan konsep obyek dalam
pemrograman berorientasi obyek.
3.3.6 Menerapkan obyek dalam
pemrograman berorientasi obyek.
program berorientasi dan aturan
obyek. pemrograman
berorientasi objek
• Prosedur Kompilasi • Mengolah data
tentang dasar dan
• Menjalankan program aturan
hasil kompilasi. pemrograman
berorientasi objek
• Prosedur patching
komputer. • Mengomunikasikan
• Aplikasi editor tentang dasar dan
aturan
• Virtual machine pemrograman
berorientasi objek
• Konsep Class, object, 24 • Mengamati untuk
method dalam oop. mengidentifikasi
dan merumuskan
• Penamaan file dalam masalah tentang
oop konsep class,
method dan object
• Penerapan class dan
method dalam program • Mengumpulkan
aplikasi oop. data tentang
konsep class,
3 method dan object
• Mengolah data
tentang konsep
class, method dan
object
3.4 Menerapkan konsep 4.3.1 Merancang program aplikasi
enkapsulasi dalam berorientasi obyek dengan penerapan
melindungi data dan class, method dan obyek.
informasi
4.3.2 Membuat kode program aplikasi
4.4 Membuat kode berorientasi obyek dengan penerapan
program enkapsulasi class, method dan obyek.
dalam melindungi
data 4.3.3 Menguji program aplikasi berorientasi
obyek yang menerapkan class, method
dan obyek.
3.4.1 Menjelaskan konsep dan tujuan
proses enkapsulisasi dalam
pemrograman aplikasi berorientasi
obyek.
3.4.2 Menjelaskan prosedur enkapsulisasi
dalam pemrograman aplikasi
berorientasi obyek.
3.4.3 Menjelaskan persyaratan proses
enkapsulisasi dalam pemrograman
aplikasi berorientasi obyek.
3.4.4 Menerapkan prosedur enkapsulisasi
dalam pemrograman aplikasi
berorientasi obyek.
4.4.1 Merancang program aplikasi
berorientasi obyek dengan penerapan
enkapsulisasi dalam melindungi data
dan informasi.
4.4.2 Membuat kode program aplikasi
berorientasi obyek yang menerapkan
enkapsulisasi.
4.4.3 Menguji program aplikasi berorientasi
obyek yang menerapkan
enkapsulisasi.
i • Mengomunikasikan
d
tentang konsep
• Konsep enkapsulasi class, method dan
dalam program aplikasi object
berbasis oop.
24 • Mengamati untuk
• Prosedur enkapsulasi mengidentifikasi
dalam program aplikasi dan merumuskan
berbasis oop. masalah tentang
konsep
• Prosedur rancangan enkapsulasi dalam
program aplikasi melindungi data
berbasis oop dengan dan informasi
penerapan enkapsulasi.
• Mengumpulkan
• Keunggulan data tentang
enkapsulasi dalam konsep
program aplikasi enkapsulasi dalam
berbasis oop melindungi data
dan informasi
i
• Mengolah data
4 tentang konsep
enkapsulasi dalam
melindungi data
dan informasi
• Mengomunikasikan
tentang konsep
enkapsulasi dalam
melindungi data
dan informasi
3.5 Menerapkan konsep 3.5.1 Menjelaskan konsep dan tujuan prose
pewarisan pewarisan dalam pemrograman
aplikasi berorientasi obyek.
4.5 Membuat hubungan 3.5.2 Menjelaskan prosedur pewarisan
antara class dengan dalam pemrograman aplikasi
pola pewarisan berorientasi obyek.
3.5.3 Menjelaskan keterkaitan antara class
dan pewarisan dalam pemrograman
aplikasi berorientasi obyek.
3.5.4 Menerapkan prosedur pewarisan
dalam pemrograman aplikasi
berorientasi obyek
4.5.1 Merancang program aplikasi
berorientasi obyek dengan penerapan
pewarisan dalam melindungi data dan
informasi.
4.5.2 Membuat kode program aplikasi
berorientasi obyek yang menerapkan
pewarisan.
4.5.3 Menguji program aplikasi berorientasi
obyek yang menerapkan pewarisan.
3.6 Menerapkan konsep 3.6.1 Menjelaskan konsep polymorphism
polymorphism dengan dengan overloading dan overriding
overloading dan dalam pemrograman aplikasi
overriding berorientasi obyek.
3.6.2 Menjelaskan prosedur polymorphism
4.6 Membuat kode dengan overloading dan overriding
program sesuai dalam pemrograman aplikasi
konsep polymorphism berorientasi obyek.
dengan overloading 3.6.3 Menerapkan prosedur polymorphism
dan overriding dengan overloading dan overriding
dalam pemrograman aplikasi
berorientasi obyek
es • Konsep enheritance 32 • Mengamati untuk
(pewarisan) dalam mengidentifikasi
program aplikasi dan merumuskan
berbasis oop. masalah tentang
konsep pewarisan
• Prosedur enheritance
(pewarisan) dalam • Mengumpulkan
program aplikasi data tentang
berbasis oop. konsep pewarisan
• Prosedur rancangan • Mengolah data
program aplikasi tentang konsep
berbasis oop dengan pewarisan
penerapan enheritance
(pewarisan). • Mengomunikasikan
• Keunggulan enheritance tentang konsep
n (pewarisan) dalam pewarisan
program aplikasi 32 • Mengamati untuk
berbasis oop mengidentifikasi
dan merumuskan
i masalah tentang
konsep
• Konsep polymorphism polymorphism
dengan overloading dan dengan overloading
overriding dalam dan overriding
program aplikasi
berbasis oop. • Mengumpulkan
data tentang
• Prosedur polymorphism konsep
dengan overloading dan polymorphism
overriding dalam
program aplikasi
berbasis oop.
• Prosedur rancangan
program aplikasi
5
3.7 Menerapkan 4.6.1 Merancang program aplikasi
penggunaan package berorientasi obyek dengan penerapan
dalam aplikasi polymorphism dengan overloading dan
overriding dalam melindungi data dan
4.7 Membuat aplikasi informasi.
melalui
pengelompokan class 4.6.2 Membuat kode program aplikasi
dalam package berorientasi obyek yang menerapkan
polymorphism dengan overloading dan
overriding.
4.6.3 Menguji program aplikasi berorientasi
obyek yang menerapkan polymorphism
dengan overloading dan overriding.
3.7.1 Menjelaskan konsep package dalam
pemrograman aplikasi berorientasi
obyek.
3.7.2 Menjelaskan proses pengelompokan
class dalam pembuatan package.
3.7.3 Menjelaskan prosedur pembuatan
package dalam pemrograman aplikasi
berorientasi obyek.
3.7.4 Menjelaskan proses kompilasi
package.
3.7.5 Menerapkan package dalam
pemrograman aplikasi berorientasi
obyek
4.7.1 Merancang program aplikasi
berorientasi obyek dengan penerapan
package
4.7.2 Membuat kode program aplikasi
berorientasi obyek yang menerapkan
package.
4.7.3 Menguji program aplikasi berorientasi
obyek yang menerapkan package.
berbasis oop dengan dengan overloading
penerapan dan overriding
n polymorphism dengan • Mengolah data
n overloading dan tentang konsep
overriding. polymorphism
• Keunggulan dengan overloading
polymorphism dengan dan overriding
n overloading dan
overriding dalam • Mengomunikasikan
i program aplikasi
m berbasis oop tentang konsep
polymorphism
• Konsep package dalam dengan overloading
program aplikasi dan overriding
berbasis oop. 32 • Mengamati untuk
mengidentifikasi
• Prosedur pembuatan dan merumuskan
package dalam masalah tentang
program aplikasi penggunaan
package dalam
i berbasis oop. aplikasi
• Prosedur rancangan • Mengumpulkan
program aplikasi data tentang
berbasis oop dengan penggunaan
penerapan package. package dalam
• Prosedur kompilasi aplikasi
package dalam • Mengolah data
pemrograman berbasis tentang
oop. penggunaan
• Keunggulan package package dalam
dalam program aplikasi aplikasi
berbasis oop
• Mengomunikasikan
i
tentang
6 penggunaan
3.8 Merancang 3.8.1 Menjelaskan konsep interface dalam
pembuatan interface pemrograman aplikasi berorientasi
4.8 Membuat rancangan obyek.
aplikasi dengan 3.8.2 Menjelaskan prosedur pembuatan
interface
interface dalam pemrograman aplikasi
berorientasi obyek.
3.8.3 Menerapkan interface dalam
pemrograman aplikasi berorientasi
obyek
4.8.1 Merancang program aplikasi
berorientasi obyek dengan penerapan
interface
4.8.2 Membuat kode program aplikasi
berorientasi obyek yang menerapkan
interface.
4.8.3 Menguji program aplikasi berorientasi
obyek yang menerapkan interface.
3.9 Menganalisis 3.9.1 Menjelaskan konsep class library
pemanfaatan class dalam pemrograman aplikasi
library berorientasi obyek.
4.9 Menggunakan class 3.9.2 Menjelaskan prosedur pemanfaatan
library dalam
memecahkan class library dalam pemrograman
masalah aplikasi berorientasi obyek.
3.9.3 Menganalisis pemanfaatan class
library dalam pemrograman aplikasi
berorientasi obyek.
package dalam
aplikasi
• Konsep interface dalam 32 • Mengamati untuk
program aplikasi mengidentifikasi
berbasis oop. dan merumuskan
masalah tentang
• Prosedur pembuatan pembuatan
i interface dalam interface
program aplikasi • Mengumpulkan
berbasis oop. data tentang
• Prosedur rancangan pembuatan
program aplikasi interface
berbasis oop dengan
penerapan interface. • Mengolah data
• Prosedur kompilasi tentang pembuatan
package dalam interface
pemrograman berbasis
oop. • Mengomunikasikan
i • Keunggulan interface
dalam program aplikasi tentang pembuatan
berbasis oop interface
• Konsep class library 32 • Mengamati untuk
dalam program aplikasi mengidentifikasi
berbasis oop. dan merumuskan
masalah tentang
• Prosedur penerapan pemanfaatan class
class library dalam library
program aplikasi
berbasis oop. • Mengumpulkan
data tentang
• Prosedur rancangan
program aplikasi
7
3.10 Mengevaluasi 3.9.4 Menentukan penggunaan class library
penanganan dalam pemrograman aplikasi
kesalahan dalam
program berorientasi obyek.
3.9.5 Menerapkan class library dalam
4.10 Memodifikasi kode
program untuk pemrograman aplikasi berorientasi
penanganan obyek.
kesalahan dalam 4.9.1 Merancang program aplikasi
program
berorientasi obyek dengan penerapan
class library.
4.9.2 Membuat kode program aplikasi
berorientasi obyek yang menerapkan
class library.
4.9.3 Menguji program aplikasi berorientasi
obyek yang menerapkan class library.
3.10.1 Menjelaskan konsep error handling
(penanganan kesalahan) dalam
pemrograman aplikasi berorientasi
obyek.
3.10.2 Menjelaskan prosedur error handling
(penanganan kesalahan) dalam
pemrograman aplikasi berorientasi
obyek.
3.10.3 Menganalisis penanganan kesalahan
(error handling ) dalam pemrograman
aplikasi berorientasi obyek.
3.10.4 Menentukan penggunaan error
handling (penanganan kesalahan)
dalam pemrograman aplikasi
berorientasi obyek.
3.10.5 Menerapkan error handling
(penanganan kesalahan) dalam
pemrograman aplikasi berorientasi
obyek.
y berbasis oop dengan pemanfaatan class
penerapan class library. library
• Mengolah data
• Prosedur kompilasi tentang
program aplikasi dengan pemanfaatan class
penerapan class library library
pemrograman berbasis
oop. • Mengomunikasikan
• Keunggulan program tentang
dengan pernerapan pemanfaatan class
class library dalam library
program aplikasi
berbasis oop 32 • Mengamati untuk
mengidentifikasi
i dan merumuskan
. masalah tentang
penanganan
• Konsep penanganan kesalahan dalam
kesalahan dalam program
program aplikasi
berbasis oop. • Mengumpulkan
data tentang
g • Prosedur penangan penanganan
kesalahan (error kesalahan dalam
handling) dalam program
pemrograman berbasis
• Mengolah data
n oop. tentang
n • Prosedur pembuatan penanganan
kesalahan dalam
program aplikasi program
berbasis oop dengan
penanganan kesalahan • Mengomunikasikan
8 tentang
4.10.1 Merancang program aplikasi
berorientasi obyek dengan penerapan
error handling (penanganan
kesalahan).
4.10.2 Membuat kode program aplikasi
berorientasi obyek yang menerapkan
error handling (penanganan
kesalahan).
4.10.3 Menguji program aplikasi berorientas
obyek yang menerapkan error
handling (penanganan kesalahan).
4.10.4 Memperbaiki penanganan kesalahan
(error handling) dalam program
aplikasi berorientasi obyek.
4.10.5 Memodifikasi penanganan kesalahan
(error handling) dalam program
aplikasi berorientasi obyek.
Mengetahui:
Kepala Sekolah,
SUHARTO,S.Pd.,M.Pd.
NIP. 19670627 199003 1 008
n penanganan
n kesalahan dalam
si program
n
n Kendal, Juli 2021
Guru Mata Pelajaran,
9 ANTIK HARIYANTI, S.Kom.
NIP. 19801102 201101 2 005
BAB 1 Konsep Pemrograman Berorientasi Objek
Tujuan Pembelajaran:
1. Menjelaskan konsep dasar pemrograman berorientasi obyek.
2. Menjelaskan prosedur pemrograman berorientasi obyek.
3. Menjelaskan perbandingan antara pemrograman berorientasi obyek dengan
pemrograman struktural.
4. Mempresentasikan konsep pemrograman berorientasi obyek.
5. Peserta didik dapat membuat program bahasa Java sederhana.
A. Konsep Pemrograman Berorientasi Objek
Di dalam bahasa pemrograman prosedural seperti pascal atau C, programmer
bertugas untuk merancang dan menerapkan pengelompokan logis dari tipe data, serta
fungsi-fungsi yang akan digunakan dalam memecahkan masalah. Variabel dan tipe data
disusun sedemikian rupa secara sistematis.
Langkah pemecahan masalah dalam pemrograman prosedural terbagi menjadi dua,
yaitu sebagai berikut:
1. Melakukan identifikasi masalah
2. Secara sistematis membagi suatu masalah menjadi submasalah (subprosedur)
Kesulitan yang akan dihadapi dalam menggunakan teknik pemrograman jenis ini
adalah pemeliharaannya membutuhkan waktu yang lama dan jika melakukan
pegembangan di satu bagian akan mempengaruhi bagian yang lainnya.
Pemrograman Berorientasi Objek atau PBO adalah sebuah teknik pemrograman yang
unik, menarik, serta penuh tantangan. PBO diciptakan untuk memenuhi kebutuhan pasar
yang semakin berkembang dalam bidang pemrograman. Di dalam PBO terdapat class dan
objek, seperti halnya sebuah pabrik yang menghasilkan produk yang dibutuhkan pasar.
Pabrik atau class akan menciptakan komponen yang dibutuhkan untuk merakit objek.
Ada 4 ciri-ciri Pemrograman Berorientasi Objek, yaitu:
1|Page
a. Enkapsulasi (Encapsulation) adalah membungkus atau menyatukan data beserta
method-method nya sebagai satu unit.
b. Pewarisan (Inheritance) adalah konsep bahwa properti dari suatu class dapat diwarisi
oleh class lainnya.
c. Polimorfisme (Polymorphism) adalah konsep yang memungkinkan penggunaan
interface yang sama untuk melakukan tindakan yang sama, tetapi secara proses
memiliki perbedaan.
d. Abstraksi (Abstraction) adalah menyembunyikan detail dari suatu proses dan
menunjukkan hal-hal yang penting saja kepada pengguna.
B. Pengertian Objek
Objek merupakan gabungan dari beberapa data dan fungsi yang masing-masing bekerja
sama dan tidak dapat dipisahkan. Objek bisa dikatakan sebagai instansiasi/perwujudan dari
class. Kumpulan objek yang sama akan membentuk sebuah class. Objek dapat
menggunakan fasilitas dari class, fasilitas tersebut dapat berupa variabel atau method yang
dimiliki oleh class. Konsep dasar Objek ada 3 yaitu:
1. Is Identical, Objek yang memiliki indentitas sendiri sehingga dapat dibedakan dengan
yang lain.
2. Has behavior, objek yang memiliki sifat-sifat khusus yang berbeda dari lainnya.
3. Has state, objek yang memiliki nilai yang baku.
Objek juga memiliki karakteristik, yaitu:
1. Identitas
Objek yang memiliki identitas berarti datanya dapat diukur, mempunyai nilai, dan
dibedakan entitasnya. Contohnya sapi merupakan objek dari hewan ternak, monitir
merupakan objek dari perangkat keras, dan motor merupakan objek dari kendaraan.
2. Klasifikasi
Objek dapat diklasifikasikan menurut data dan perilaku yang memiliki yang memiliki
struktur yang sama ke dalam suatu kelompok yang disebut dengan class. Setiap objek
2|Page
yang ada dalam class memiliki atribut atau properti. Contohnya, class dari kendaraan
memiliki objek motor, mobil, sepeda, dll.
Object : Mobil
Properti:
- Roda
- Warna Cat Mobil
- Model
- Nomor Rangka
- Nomor Mesin
Gambar 1.1 Objek dan Atribut
C. Paradigma Bahasa Pemrograman
Perbedaan 3 model bahasa pemrograman, yaitu:
1. Pemrograman Terstruktur
Pemrograman Terstruktur (Structured Programming) merupakan suatu kumpulan
teknik yang dikemukakan oleh Edsger Dijkstra yang dapat meningkatkan produktivitas
programmer, dengan mengurangi waktu yang dibutuhkan dalam penulisan (write),
pengujian (test), penelusuran kesalahan (debug), dan pemeliharaan (maintenance)
suatu program. Pada teknik pemrograman terstruktur, suatu program akan dibagi ke
dalam beberapa modul yang setiap modul menjalankan fungsinya sendiri.
2. Pemrograman Prosedural
Pemrograman prosedural (Procedural Programming) merupakan rangkaian suatu
penyelesaian masalah prosedur yang dibagi ke dalam beberapa masalah sesuai dengan
fungsinya.
3. Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek (Object Oriented Programming) yang disingkat OOP
mulai dibuat saat masalah muncul ketika program yang dibuat berkembang lebih besar
3|Page
dan kompleks karena metode pemrograman prosedural hanya dapat digunakan untuk
program sederhana saja. Pada pemrograman berorientasi objek, fungsi dan data
menjadi satu kesatuan yang disebut dengan objek aktif yang bekerja sama untuk
menyelesaikan suatu masalah.
Aktivitas Siswa
A. Uji Pengetahuan (Nilai Pengetahuan)
1. Jelaskan perbedaan antara pemrograman prosedural dengan Pemrograman
Berorientansi Objek (PBO)!
2. Tuliskan bahasa pemrograman yang mendukung pemrograman berorientasi objek!
3. Jelaskan kelebihan dan kekurangan pemrograman prosedural dan pemrograman
berorientasi objek!
4. Tuliskan macam-macam software yang dibutuhkan untuk menjalankan dan mebuat
aplikasi dengan bahasa java!
5. Jelaskan perbedaan antara bahasa pemrograman Java dengan C dan C++!
B. Praktikum (Nilai Praktik)
Buatlah minimal 5 objek dari class-class berikut!
1. Hewan buas
2. Tumbuhan monokotil
3. Planet
4. Sekolah
5. Pesta
C. Eksperiment (Nilai Proyek)
Buatlah kelompok dengan anggota maksimal 3 orang, lakukan sebuah analisis
konfigurasi aplikasi java menggunakan Windows 10 dengan ketentuan analisis sebagai
berikut:
4|Page
1. Kemudahan Instalasi
2. Kemudahan penggunaan
Latihan Soal
A. Pilihlah salah satu jawaban yang tepat!
1. Bahasa pemrograman yang mendukung pemrograman berorientasi objek adalah…
A. Java
B. Pascal
C. Basic
D. C
E. Cobol
2. Pengertian dari objek adalah….
A. Method
B. Variabel
C. Peringkat
D. Kumpulan properti yang dirangkai dalam sebuah tempat
E. Gabungan dari beberapa data dan fungsi yang masing-masing bekerja sama dan
tidak dapat dipisahkan
3. Definisi dari java adalah….
A. Tempat diprosesnya bahasa pemrograman
B. Kantong fasilitas
C. Bahasa pemrograman identitas variabel
D. Bagian dari class yang dapat digunakan oleh objek atau class lain
E. Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan
kemampuan-kemampuan terbaik bahasa pemrograman objek sebelumnya
4. Contoh objek dari class sistem operasi adalah….
A. Java
B. Apple
5|Page
C. Netbeans
D. Google
E. Windows
5. Berikut yang bukan merupakan objek dalam pemrograman adalah….
A. Bus
B. Motor
C. Mobil
D. Sepeda
E. Kendaraan
6. Aplikasi yang dibutuhkan untuk melakukan coding dengan java adalah….
A. Python
B. Apple
C. Netbeans
D. Google
E. Windows
7. Berikut yang merupakan alasan java dikatakan object oriented adalah….
A. Karena Teknik dari java adalah memusatkan rancangan pada data (objek) dan
interface
B. Karena Java mewarisi karakteristik dari objek yang telah ada, ditambah dengan
karakteristik unik dari class baru tersebut
C. Karena proses penciptaan class baru dengan mewarisi karakteristik dari objek
yang telah ada, ditambah dengan karakteristik unik dari class baru tersebut
D. Karena proses penciptaan class baru pada Java dengan dengan mewarisi
ditambah dengan karakteristik dari class baru tersebut
E. Proses penciptaan class baru dengan mewarisi karakteristik dari property yang
telah ada
8. Softaware java yang paling utama dan harus ada pada saat mengintal java adalah….
A. JDK
B. JRE
6|Page
C. JSD
D. Linux
E. Java Editor
9. Perbedaan antara objek dan class adalah …
A. Objek adalah anak class
B. Objek adalah turunan class
C. Class dan objek adalah sama
D. Class adalah bagian dari objek
E. Objek adalah hasil lain bentukan class
10. Contoh hubungan objek dan class adalah …
A. Guru ➔Siswa
B. Ikan ➔ katak
C. Mobil ➔ motor
D. Pelajar ➔ siswa
E. Kendaraan ➔ mobil
11. Di antara nama-nama berikut, yang nerupakan pencipta Java adalah …
A. Stain Lee
B. Robert Java
C. James Arthur
D. James Gosling
E. Alpha Tomphson
12. Di bawah ini yang tidak termasuk dalam karakteristik Java adalah …
A. Statis dan terpusat
B. Sederhana dan aman
C. Portable dan dinamis
D. Robust dan performance
E. Berorientasi objek dan multithreaded
13. Perhatikan aplikasi-aplikasi berikut.
(1) Applets
7|Page
(2) Java Servlet
(3) Stand Alone
(4) Java Micro Edition
(5) JSP
Di antara aplikasi-aplikasi tersebut, yang termasuk ke dalam aplikasi-aplikasi Java
adalah …
A. (1) dan (4)
B. (1), (2), dan (3)
C. (1), (3), dan (5)
D. (2), (4), dan (5)
E. (1), (2), (3), dan (5)
14. Java diracang untuk memudahkan penerjemahan pada banyak komputer dan
diterjemahkan pada komputer asal pada saat runtime. Hal ini merupakan pengertian
karakteristik dari Java, yaitu…
A. Aman
B. Static
C. Portable
D. Performance
E. Architecture neutral
15. Alasan Java dikatakan memiliki karakteristik sederhana adalah karena…
A. Java mengurangi timbulnya kesalahan (error)
B. Java memusatkan rancangan pada data (objek) dan interface
C. Java mampu melakukan lebih dari satu pekerjaan dalam satu waktu
D. Java tidak memerlukan header file, struktur union, dan class virtual base
E. Java memudahkan penerjemahan pada banyak komputer dan diterjemahkan
pada komputer asal pada saat runtime
B. Jawablah pertanyaan-pertanyaan berikut dengan benar.
1. Jelaskan yang dimaksud dengan objek
2. Berikan contoh class dan objek dalam kehidupan sehari-hari
8|Page
3. Jelaskan minimal lima karakteristik yang dimiliki oleh Java
4. Jelaskan kelebihan dari pemrograman berorientasi objek
5. Pada sebuah pemrograman berorientasi objek tentu harus memiliki objek yang
dituju. Jelaskan karakteristik apa saja yang harus dimiliki objek.
6. Buatlah skema cara kerja Java
7. Buatlah property dari objek berikut ini
a. Siswa
b. Singa
c. Pesawat
8. Jelaskan perbedaan antara JDK dan JRE
9. Buatlah konsep class hewan karnivora dengan dengan minimal 5 objek
10. Jelaskan lima perbedaan antara Bahasa pemrograman Java, C, dan C++
9|Page
BAB 2 Dasar dan Aturan Pemrograman Berorientasi Objek
Tujuan Pembelajaran:
1. Peserta didik dapat menjelaskan dan menginstal tools pengembang program berorientasi
objek
2. Peserta didik dapat memahami operator dengan benar.
3. Peserta didik dapat memahami struktur dasar / sintaks bahasa Java.
4. Peserta didik dapat membuat program bahasa Java sederhana.
A. Perangkat Pemrograman Berorientasi Objek Java
Java merupakan bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan
kemampuan-kemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, dan
Simula).
Java memiliki karakteristik antara lain:
1. Sederhana (Simple)
2. Berorientasi Objek (Object Oriented)
3. Aman (Secure)
4. Dinamis
5. Interpreter
6. Terdistribusi (Distributed)
7. Netral Arsitektur (Architecture Neutral)
8. Multithreaded
9. Kuat (Robust)
10. Kinerja yang Tinggi (High Performance)
11. Portable (Portable)
Java merupakan bahasa pemrograman tingkat tinggi yang dirancang menjadi bahasa
pemrograman yang andal, aman dan dapat dijalankan di semua platform.
Java terdiri atas 2 bagian, yaitu:
1|Page
a. Java Virtual Machine (JVM)
b. Java Application Programming Interface (Java API)
Arsitektur Java dibagi menjadi 3 bagian, yaitu:
a. Enterprise Java (J2EE)
J2EE merupakan superset dari standard Java (J2EE) yang digunakan untuk aplikasi
berbasis web, aplikasi sistem akan tersebar dengan beraneka ragam klien dengan
kompleksitas yang tinggi.
b. Standard Java (J2SE)
Biasa disebut sebagai bahasa Java.
c. Micro Java (J2ME)
J2ME merupakan subset dari J2SE. Salah satu aplikasi J2ME yang banyak dipakai adalah
wireless device atau mobile device
Java tidak hanya berkembang pada satu sistem operasi, tetapi dikembangkan juga untuk
berbagai macam sistem operasi dan bersifat open source.
Sebagian fitur yang dimiliki java antara lain sebagai berikut:
a. Java Virtual Machine (JVM)
JVM merupakan mesin maya yang bekerja menyerupai aplikasi pada sebuah mesin yang
nyata. Java dikenal sebagai penyedia hardware dan platform yang menjadi tempat
terjadinya kompilasi kode java.
b. Garbage Collection
Merupakan fitur pada program java yang mengurangi beban pengelolaan memori oleh
programmer karena program tidak perlu lagi menghapus sendiri objek-objek yang tidak
diperlukan.
c. Code Security
Code Security dapat dijalankan dengan menggunakan JRE. Fitur ini digunakan untuk
menghindari program dari untrusted Java Code.
2|Page
Java juga memiliki software yang terdiri atas beberapa bagian, antara laian sebagai berikut:
a. Java Editor
Sebuah aplikasi untuk menuliskan kode Java. Misalnya Eclipse, Netbeans, Java Editor,
serta Notepad++, dll.
b. Java Development Kit (JDK)
Java Development Kit (JDK) merupakan perangkat lunak yang dibutukan untuk kompilasi
dari kode java menjadi byte code yang dapat dimengerti dan dapat dijalankan oleh Java
Runtime Environment (JRE).
c. Java Runtime Environment (JRE)
Java Runtime Environment adalah perangkat lunak yang diperlukan untuk menjalankan
aplikasi yang dibangun menggunakan Java. File JRE sudah terinstalasi secara otomatis
saat instalasi Java JDK.
B. Mempersiapkan Lingkungan Kerja JAVA
Untuk menulis program JAVA digunakan editor. IDE (Integrated Development Environment)
yang telah ada untuk Java, antara lain: NetBeans yang disponsori Sun Microsystems.
Diperlukan penginstalan Java SDK dan Netbeans IDE 8.2.1.
➢ Java SDK : adalah platform dasar Java yang diperlukan agar PC dapat
mengeksekusi kode-kode program yang menggunakan bahasa Java.
➢ NetBeans : adalah aplikasi editor terpadu (IDE) yang menyediakan kontrol-
kontrol visual dalam pemrograman desktop.
a. Instalasi Java SDK
✓ Download file JDK pada link berikut:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
Gambar 2.1 JDK
✓ Pilih salah satu file diatas disesuaikan dengan Sistem operasi yang digunakan
3|Page
✓ Kemudian install JDK yang telah didownload
b. NETBEANS IDE 8.0.2
✓ Download file Neatbeans pada link berikut:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
Gambar 2.2 JDK dan IDE Neatbens
✓ Pilih salah satu file diatas disesuaikan dengan Sistem operasi yang digunakan
✓ Download Java Editor misalnya Netbeans kemudian Install
Gambar 2.3 Tampilan Neatbeans
✓ Memulai lembar project baru, pilih file – New Project... pada bagian menu.
✓ Pada bagian choose project Categoty pilih java, dan pada bagian Projects pilih Java
Application (Gambar 2.4)
4|Page
Gambar 2.4 Java Application
✓ Masukkan project name dan project location seperti terlihat pada Gambar 2.5.
Sebagai latihan berikan nama project dengan hello_world.
Gambar 2.5. Project Name
5|Page
✓ Pada bagian create main class, dapat diberikan nama yang berbeda dari Project
Name nya. Tidak perlu menambahkan .Main atau .Java, NetBeans akan secara
otomatis memberikan ekstensi-nya. Setelah selesai, klik finish
Gambar 2.6. Tampilan Class hello_world
c. Aturan Dasar Program JAVA
➢ Case sensitive : penggunaan huruf besar dan kecil memiliki arti berbeda
➢ Kurung kurawal {} : symbol menandai awal dan akhir suatu blok program
➢ Komentator : diawali tanda // atau tanda /*……*/
➢ titik koma (;) : setiap pernyataan diakhiri dengan symbol titk-koma
d. Latihan 1
Program sederhana mencetak baris kalimat
Gambar 2.7. Analisa Program
6|Page
Analisa Program:
A Pada baris ini keyword “public” memanggil sebuah variable yang menentukan
apakah dapat digunakan oleh bagian program. Keyword class yang menyatakan
kelas dimana atribut dan fungsi berada di dalamnya. Kelas pertama Hello_world1
adalah kelas pengendali yaitu nama kelas yang akan dikenali compiler java. Pada
saat kompilasi, compiler membuat file Hello_world1.class
B Baris ini memuat metode pertama program. Metode adalah fungsi yang
menjalankan suatu aksi tertentu. Metode main() bersifat statis dan kosong.
Eksekusi selalu dimulai dengan metode utama dari kelas yang mengendalikan
aplikasi, yaitu kelas yang memiliki nama sama dengan filesumber aplikasi.
C Baris ini menampilkan pesan “ siap belajar java” pada hasil running. System
adalah kelas yang merupakan bagian dari pustaka java, out objek yang terdapat
pada kelas system. Keyword println() mencetak baris menampilkan sebuah teks.
➢ Paket(package) : bagian standar java untuk mengelompokkan kelas dengan
interface menjadi suatu unit
e. Tugas Praktik 1
1. Buatlah sebuah program yang mencetak data berikut :
Nama : mutiara sugiharto
NIM : 12/336147/PA/15080
Alamat : Jl. Menteri Supeno No.45 Yogyakarta
No. Telp : 0324-6575757
Email : [email protected] Data bisa diganti dengan data anda
2. Buatlah sebuah program untuk mencetak kalimat berikut
Suatu saat perusahaan computer di dunia akan lebih dari lima dari sekarang.
Thomas Watson, IBM, 1943.
(Buatlah program dengan pseudocode di bawah ini)
System.out.print(“Suatu saat ..................”)
7|Page
System.out.println(“akan......................... . ”)
System.out.println(“Thomas....................”)
C. Variabel
Variabel adalah tempat yang diciptakan secara virtual di dalam memori komputer oleh
programmer untuk dapat mengisi atau mengosongkan nilainya dan memanggil kembali
apabila dibutuhkan.
Variabel merupakan identifier yang memiliki nilai tidak tetap atau dapat diubah-ubah.
Aturan Penulisan Variabel pada Java:
1. Tidak diizinkan menggunakan kata kunci atau fuction dari Java seperti: if, for, switch, dll.
2. Diperbolehkan menggunaka huruf, angka (0-9), garis bawah, dan simbol dollar, tetapi
lebih baik menghindari garis bawah dan simbol.
3. Sebaiknya diawali dengan huruf kecil, karena Java menggunakan gaya CamelCase,
contoh: namaSiswa, kodeBarang, nama, alamat
4. Jika nama Variabel lebih dari satu suku kata, kata kedua dituliskan dengan diawali huruf
kapital dan seterusnya.
Contoh penulisan variabel:
a. String username = “ADMIN”;
b. int harga = 2500;
D. Konstanta
Konstanta adalah identifier yang nilai datanya bersifat tetap dan tidak dapat diubah. Untuk
mendeklarasikan konstanta diperlukan keyword final diikuti tipe data dan nama konstanta
yang ditulis dengan huruf kapital semua.
Contoh penulisan konstanta:
final double PI = 3.14;
E. Keyword
Keyword merupakan penggunaan khusus yang sudah ada pada pustaka Java, dan tidak
dapatdigunakan sebagai identifier. Ada 51 keyword dalam Java:
8|Page
Gambar 2.8. Keyword Java
F. Tipe Data
Dibagi menjadi 2 kategori:
1. Tipe data primitif : tipe data yang mempunyai nilai tertentu, bukan referensi kelas
atau objek. Dibagi menjadi 8 tipe data primitive
Tipe Data Jenis Storage Nilai
Integer byte 8 bit -128 s/d 127
(bilangan bulat) shor 16 bit –32768 s/d 32767
t 64 bit –922337203s/d 922337203
long 32 bit –2147483648 s/d 2147483647
int
Float (bilangan nyata) float 32 bit ±3.4E-38 s/d ±3.4E+38
double 64 bit ±1.7E-308 s/d ±1.7E+308
char char 16 bit \u0000 s/d \uFFFF
boolean boolea 1 bit True atau false
n
9|Page
2. Tipe data referensi : terbentuk dari tipe data sederhana dan tipe data referensi
G. Operator
Operator digunakan untuk melakukan pengolahan data, melibatkan konstanta danvariabel
yang telah kita buat.
1. Operator Aritmatika
2. Operator Penugasan
3. Operator Pembanding
4. Operator Logika
5. Hasil Operasi menggunakan &&
10 | P a g e
6. Hasil Operasi menggunakan ||
H. Separator
11 | P a g e
Aktivitas Siswa
Latihan (Praktekkan listing program berikut dan tulis hasil serta analisa program pada lembar
laporan)
• Pendefenisian variable char Analisa Program
• Untuk menuliskan konstanta bertipe char,
karakter ditulis dengan tanda petik tunggal
seperti „A‟
• Pendefinisian variable char adalah
char kar; / kar merupakan variable bertipe
char
• Tanda petik tunggal untuk deklarasi sebuah
data char, sedangkan petik ganda
mendeklarasikan string atau kumpulan
karakter
. Contoh
char kode=‟A‟;
string nomorRumah=”15” ;
string Negara = “Indonesia”;
• Pemberian nilai karakter menggunakan nilai
ASCII dari karakter tersebut, karakter „F‟
mempunyai nilai ASCII = 70 , deklarasinya
kar=70;
• System.out.println(kar) mendeklarasikan
nilai
dari variable „kar‟
12 | P a g e
Tugas Praktik
1. Bukalah aplikasi Netbeans
Buatlah project dengan nama ‘latihan2’
Tuliskan script berikut :
13 | P a g e