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;

...

}

Share this

Related Posts

Previous
Next Post »