Anda di halaman 1dari 29

RPL SAPRA 2

Media Belajar RPL - SMK Satya Praja 2 Petarukan

Rabu, 24 Februari 2021

modul pemrograman berorientasi objek KD.3.1 dan KD.3.2

KD 3.1 Memahami konsep pemrograman berorientasi objek

A.Pemrograman berorientasi objek (object-oriented programming disingkat OOP)

Merupakan pemograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam
paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan,
memproses data, dan mengirim pesan ke objek lainnya.

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah
program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP
mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya,
dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Bahasa pemrograman yang mendukung OOP antara lain:

· Visual Foxpro
· Java

· C++

· Pascal (bahasa pemrograman)

· SIMULA

· Smalltalk

· Ruby

· Python

· PHP

· C#

· Delphi

· Eiffel

· Perl
· Adobe Flash AS 3.0

Istilah-Istilah OOP

1. Objek

Untuk mempermudah pemahaman, maka disini akan dijelaskan melalui analogi. Pada dasarnya semua
benda yang ada di dunia nyata dapat dianggap sebagai objek. Misalnya rumah, mobil, sepeda, motor,
gelas, komputer, meja, sepatu, dll. Setiap objek memiliki atribut sebagai status (state) dan tingkah laku
sebagai behavior.

Contoh objek : Motor. Maka atribute (state) nya adalah pedal, roda, jeruji, speedometer, warna, jumlah
roda. Sedangkan tingkah laku (behavior) nya adalah kecepatan menaik, kecepatan menurun, dan
perpindahan gigi motor.

Analogi pemrograman berorientasi objek sama dengan penggambara pada dunia nyata seperti contoh di
atas. Dalam OOP, state disimpan pada variabel dan tingkah laku disimpan pada method.

Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu
unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam
sebuah program komputer berorientasi objek.

2. Class
Definisi class yaitu template untuk membuat objek. Class merupakan prototipe atau blue prints yang
mendefinisikan variabel-variabel dan method-method secara umum. Objek merupakan hasil instansiasi
dari suatu class. Proses pembentukan objek dari suatu kelas disebut sebagai instantiation. Objek disebut
juga sebagai instances.

Dalam bahasa teoretis OOP, class merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu
unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas
definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari
anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi
object.

Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait
dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif)
bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP).
Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah
yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan
dari masalah ke sebuah program ataupun sebaliknya.

3. Attributes

Atribut adalah data yang membedakan antara objek satu dengan yang lainnya.

Contoh Objek : VolcanoRobot ( a volcanic exploration vehicle), mempunyai atribut sebagai berikut:

· Status ~> menjelajah, bergerak, kembali ke rumah


· Kecepatan ~> dalam mil per jam

· Suhu ~> dalam derajat Fahrenheit

Dalam class, atribut sering disebut sebagai variabel. Atribut dibedakan menjadi dua jenis yaitu Instance
Variable dan Class Variable.

Instance variable adalah atribut untuk tiap objek dari kelas yang sama. Tiap objek mempunyai dan
menyimpan nilai atributnya sendiri. Jadi, tiap objek dari class yang sama bokeh mempunyai nilai yang
sama atau berbeda.

Class Variable adalah atribut untuk semua objek yang dibuat dari class yang sama. Semua objek
mempunyai nilai atribut yang sama. Jadi semua objek dari class yang sama mempunyai hanya satu nilai
yang value nya sama.

4. Behavior

Behavior/tingkah laku adalah hal-hal yang bisa dilakukan oleh objek dari suatu class. Behavior dapat
digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain, dan mengirim
informasi ke objek lain untuk melakukan suatu tugas (task).

Contoh behavior untuk objek VolcanoRobot:


· Periksa Suhu Saat Ini

· Memulai Survei

· Laporkan Posisinya Saat Ini

Dalam class, behavior disebut juga sebagai methods. Methods sendiri adalah serangkaian statements
dalam suatu class yang menghandle suatu task tertentu. Cara objek berkomunikasi dengan objek yang
lain adalah dengan menggunakan method

5. Abstraksi

Abstraksi adalah kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya,
yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari
“pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi
dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses,
fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan
sebuah pengabstrakan.

B. Konsep Konsep OOP

1. Enkapsulasi (Encapsulation)
Definisi enkapsulasi: Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi serta
menyediakan interface untuk mengakses variabel tersebut. Variabel dan method yang dimiliki oleh
suatu objek, bisa ditentukan hak aksesnya. Dalam OOP, konsep enkapsulasi sebenarnya merupakan
perluasan dari struktur dalam bahasa C.

Contoh: jam tangan. Dalam hal ini, penting sekali untuk mengetahui waktu, sedangkan cara jam
mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita
ketahui.

Dengan kata lain enkapsulasi berfungsi untuk memastikan pengguna sebuah objek tidak dapat
mengganti keadaan dalam/dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek
tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang
menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan
mengetahui dan tergantung kepada representasi dalam objek tersebut.

2. Pewarisan (Inheritance)

Pewarisan merupakan pewarisan atribut dan method dari sebuah class ke class lainnya. Class yang
mewarisi disebut superclass dan Class yang diwarisi disebut subclass. Subclass bisa berlaku sebagai
superclass bagi class lainya, disebut sebagai multilevel inheritance.

Contoh : terdapat class sepeda dan sepeda gunung. Sepeda termasuk superclass. Sepeda gunung
termasuk subclass. Hal ini dikarenakan sepeda gunung memiliki variabel dan method yang dimiliki oleh
sepeda.
Prinsip dasar inheritance yaitu persamaan-persamaan yang dimiliki oleh beberapa kelas dapat
digabungkan dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang
spesifik untuk kelas yang bersangkutan.

Keuntungan Pewarisan

§ Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass, sehingga
memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada.

§ Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract
class (abstraksi), untuk mendefinisikan class dengan tingkah laku dan state secara umum.

Single & Multiple Inheritance

Bahasa C adalah contoh multiple inheritance. Suatu class diperbolehkan untuk mempunyai lebih dari
satu superclass. Variabel dan method yang diwariskan merupakan kombinasi dari superclass-nya. Java
adalah contoh single inheritance. Suatu class hanya boleh mempunyai satu superclass.

Multilevel Inheritance

Suatu subclass bisa menjadi superclass bagi class yang lain.

3. Polimorfisme
Polimorfisme adalah kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk. Polimorfisme
tidak bergantung kepada pemanggilan subrutin. Metode tertentu yang berhubungan dengan sebuah
pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila
sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila
seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya
menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini
disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis
objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa
metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan
bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

Salah satu pemograman pendukung OOP adalah bahasa pemograman Java.

Java adalah salah satu bahasa pemograman OOP. Bahasa ini awalnya dibuat oleh James Gosling. Bahasa
ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek
yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis
java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin
Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general
purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal
mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa
platform sistem operasi yang berbeda yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali,
jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan,
dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun
aplikasi berbasis web.

Kelebihan bahasa pemograman Java antara lain:

· Multiplatform

· OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)


· Perpustakaan Kelas Yang Lengkap

· Bergaya C++

· Pengumpulan Sampah otomatis

Selain mempunyai kelebihan seperti yang sudah dijelaskan di atas, pemograman Java juga mempunyai
kekurangan yaitu:

· Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk
J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.

· Mudah Di Dekompilasi (proses membalikkan dari kode jadi menjadi kode sumber. Ini
dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa
tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada
Micosoft, NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit
disembunyikan dan mudah dibajak/ reverse-engineer.)

· Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi
generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini
bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori
terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin
komputer berumur lebih dari 4 tahun.
Kd.3.2 memahami dasar dasar dan aturan pemrograman berorientasi objek

DASAR-DASAR DAN ATURAN:

1) Penulisan komentar

Dalam bahasa pemrograman manapun selalu ada fitur komentar. Java sendiri memiliki sintaks yang
sangat mirip dengan C dan C++, dengan tambahan yang sangat istimewa yaitu komentar yang nantinya
digunakan untuk menciptakan dokumentasi secara otomatis oleh suatu aplikasi yang disebut javadoc.

Dalam Java ada 3 sintaks komentar:

· komentar untuk satu baris saja, yaitu yang dimulai dengan tanda // sampai dengan akhir baris;

· komentar untuk beberapa baris, yaitu yang dimulai dengan tanda /* dan diakhiri dengan tanda */;

· komentar khusus untuk membuat dokumentasi program, yaitu yang dimulai dengan tanda /** dan
diakhiri dengan tanda */.

2) Variabel atau Identifiers


Variabel adalah item yang digunakan data untuk menyimpan pernyataan objek. Variabel memiliki tipe
data dan nama. Tipe data menandakan tipe nilai yang dapat dibentuk oleh variabel itu sendiri. Nama
variabel harus mengikuti aturan untuk identifier.

Untuk deklarasi variabel adalahsebagai berikut,

[=initial value];

Java memiliki tiga jenis variabel, yaitu :

· Variabel instans adalah variabel yang digunakan sebagai atribut dari sebuah objek. Instans adalah
objek yang diciptakan dari sebuah kelas.

· Variabel kelas adalah variabel yang digunakan sebagai atribut dari sebuah kelas.

· Variabel lokal adalah variabel yang didefinisikan dan digunakan hanya dalam sebuah metode.

3) Kata Kunci (Keyword)

Kata kunci adalah kata yang telah di definisikan oleh compiler dan memiliki arti atau tujuan tertentu.
Berikut ini daftar kunci dalam java :

-Abstract
-Const

-Float

-Long

-Short

-Boolean

-Continue

-For

-Native

-Strictfp

-Break

-Default

-Goto

-New
-Super

-Byte

-Double

-If

-Package

-Switch

-Case

-Else

-Implements

-Private

-Synchronized

-Cath
-Extends

-Import

-Protected

-This

-Char

-Final

-Int

-Public

-Throw

-Class

-Finaly

-Interface

-Return
-Throws

-Transient

-Void

-Try

-Void

-Volatile

4) Tipe Data Primitif

Java menggunakan 8 tipe data primitif yaitu :

-Byte

-Char

-Short
-Float

-Int

-Double

-Long

-Boolean

5) Operator
Operator adalah suatu simbol atau tanda yang digunakan untuk mengoperasikan dua value atau lebih.
Berikut ini beberapa jenis operator yang dikenal dalam bahasa java.

a. Operator Aritmatika

Simbol Operator

Keterangan

Penjumlahan

Pengurangan

Perkalian

Pembagian
%

Modulus (sisa bagi)

b. Operator Logika

Simbol Operator

Keterangan

&

Logika AND

Logika OR

Logika XOR

!
Logika NOT

c. Operator Increment/Decrement

Simbol Operator

Keterangan

++

Value bertambah 1

--

Value berkurang 1

d. Operator Relational

Simbol Operator

Keterangan
<

Lebih kevil dari

>

Lebih besar dari

>=

Lebih besar atau sama dengan dari

<=

Lebih kecil atau sama dengan dari

==

Sama dengan

!=

Tidak sama dengan


e. Operator majemuk

Simbol Operator

Keterangan

+=

Contoh: a +=2, ekuivalen dengan a = a + 2

-=

Contoh: a -=2, ekuivalen dengan a = a - 2

*=

Contoh: a *=2, ekuivalen dengan a = a * 2

/=

Contoh: a /=2, ekuivalen dengan a = a / 2


%=

Contoh: a %=2, ekuivalen dengan a = a % 2

6) Pengambilan keputusan / Kontrol Pemilihan

Struktur kontrol pemilihan adalah pernyataan dari Java yang mengijinkan user untuk memilih dan
mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain.

a) Statement If

Pernyataan if akan menentukan sebuah pernyataan (atau blok kode) yang akan eksekusi jika dan hanya
jika persyaratan bernilai benar (true). Bentuk dari pernyataan if,

if(boolean_expression)

statement;

if(boolean_expression)

{
statement1; statement2;

b) Statement If-else

Pernyataan if-else digunakan apabila kita ingin mengeksekusi beberapa pernyataan dengan kondisi true
dan pernyataan yang lain dengan kondisi false.

Bentuk statement if-else,

if(boolean_expression)

statement1;

else

statement2;

c) Statement If-else-if
Pernyataan pada bagian kondisi else dari blok if-else dapat menjadi struktur if-else yang lain. Kondisi
struktur seperti ini mengijinkan kita untuk membuat seleksi persyaratan yang lebih kompleks. Bentuk
statement if-else if,

if(boolean_expression1)

statement1;

elseif(boolean_expression1)

statement2;

else

statement3;

d) Statement Switch

Struktur penulisan statement switch adalah sebagai berikut.


switch(expression)

case variabel1: statement;

statement;

break;

case variabel2: statement;

statement;

break;

default : statement;

statement;

break;
}

7) Perulangan

Struktur kontrol pengulangan adalah berupa pernyataan dari Java yang mengijinkan kita untuk
mengeksekusi blok code berulang-ulang sesuai dengan jumlah tertentu yang diinginkan. Ada tiga
macamj enis dari struktur kontrol pengulangan yaitu while, do- while,dan for-loops.

a) While

Pernyataan whileloop adalah pernyataan atau blok pernyataan yang diulang - ulang sampai mencapai
kondisi yang cocok. Pernyataan di dalam whileloop akan di eksekusi berulang-ulang selama kondisi
boolean_expression bernilai benar (true). Bentuk pernyataan while,

while(boolean_expression)
{

statement1;

statement2;

b) Do-while

Do-whileloop mirip dengan while-loop. Pernyataan di dalam do-whileloop akan dieksekusi beberapa kali
selama kondisi bernilai benar(true). Perbedaan antara while dan do-whileloop adalah dimana
pernyataan didalam do-while loop akan dieksekusi sedikitnya satu kali.

do

statement1;

statement2; ...
}while(boolean_expression);

c) For

Pernyataan forloop memiliki kondisi hamper mirip seperti struktur pengulangan sebelumnya yaitu
melakukan pengulangan untuk mengeksekusi kode yang sama sebanyak jumlah yang telah ditentukan.
Bentuk dari for loop,

for(ekspresi awal; syarat ;ekspresi akhir)

statement1;

statement2;

...

Anda mungkin juga menyukai