Download Modul 2 PBO

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
BAB II
TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT
2.1 Kompetensi Dasar
Kompetensi dasar secara umum dalam materi ini adalah agar mahasiswa dapat
mendeskripsikan penggunaan konsep pemrograman berbasis objek. Secara khusus
diharapkan mahasiswa dapat :
a. Memahami konsep object,class dan method
b. Membuat program dengan menggunakan kosep object,class dan method
2.2 Konsep Pemrograman Berorientasi Objek
Pemrograman berorientasi Objek yang populer pada masa kini menjadikan objek
sebagai komponen utama dalam program.Objek menggabungkan data dan fungsi sebagai
suatu satu kesatuan. Sedangkan pada pemrograman yang tidak berorientasi objek,
fungsilah yang menjadi perhatian utama. Pendekatan pemrograman berorientasi objek
membuat pengembangan program dapat dilakukan dengan lebih mudah, mengurangi
duplikasi kode dan mengurangi kesalahan.
Pada pemrograman berorientasi objek terdapat dua istilah yang sangat terkenal yaitu
kelas dan objek. Kedua istilah ini sering dipertukarkan. Untuk lebih memudahkan
pemahaman tentang objek, saya beri sebuah contoh : Meja, Kursi, Jam Dinding dan yang
lainnya merupakan contoh objek. Objek yang disebutkan tadi umumnya berada didalam
sebuah ruangan. Apabila kita melihatnya dari sebuah rumah bisa juga dikategorikan sebuah
objek dan rumah jika dilihat dari cara pandang yang lebih luas lagi juga merupakan objek.
Jadi sebuah Objek merupakan suatu bentuk atau model yang tergantung dari cara pandang
objek dimaksud. Meja, Kursi, Jam Dinding ada dalam sebuah Ruangan. Ruang A, Ruang B,
dan Ruang yg lain berada dalam sebuah Rumah. Rumah 1, Rumah 2 dan Rumah yang lain
juga berada didalam suatu tempat yang lebih luas yaitu Bumi Dst. Dan bukan tidak mungkin
didalam Objek Jam Dinding terdapat objek-objek yang lain yang lebih kecil misalnya
Batterai, Gear, dll. Cara pandang kita dari sebuah Ruangan, Rumah atau Bumi merupakan
Class apabila kita melihatnya dalam Pemrograman.
Setiap objek memiliki Atribut dan Method. Atribut adalah segala sesuatu yang
berhubungan dengan
karakteristik objek. Seperti Tipe, Model, Pintunya, Kusennya
menggunakan kayu apa?, Warna Catnya, merupakan salah satu atribut dari Rumah.
Sedangkan Method dari Rumah adalah dapat melindungi dari panas, hujan, angin. Jadi
Method merupakan Fungsi atau segala sesuatu yang dapat dilakukan Objek.
1
A. Membuat object
Object dibuat dari sebuah class. Pada Java, kata kunci new digunakan untuk membuat
object baru. Setiap kelas memiliki konstruktor. Jika tidak membuat konstruktor untuk sebuah
kelas maka compiler Java akan membuat konstruktor default secara otomatis. Setiap kali
sebuah objek baru dibuat, satu atau lebih konstruktor akan dijalankan. Aturan utama dari
sebuah konstruktor adalah memiliki nama yang sama dengan nama kelas tersebut. Sebuah
kelas dapat memiliki lebih dari satu konstruktor. Konstruktor adalah salah satu method yang
ditujukan untuk memberi nilai awal pada saat object dibuat dan dipanggil secara otomatis
ketika membuat instans class. Berikut contoh membuat object baru :
B. Mengakses Variabel Instance dan Method
Variabel instance dan method dapat diakses melalui object-object yang dibuat. Langkahlangkah mengakses variable instance :
/*Pertama- tama membuat object*/
ReferensiObject = new Konstruktor();
/*Memanggil variable*/
ReferensiObject.namaVariabel;
/*Sekarang anda
dapat memanggil method dari kelas*/
ReferensiObject.NamaMethod();
2
Buatlah sebuah Class dengan nama RumahKu.java
Compile kode program diatas, dan tidak akan ada output dari kode program tersebut
3
Kemudian buatlah sebuah Class dengan Nama isiRumahKu
Setelah kode program diatas selesai di ketik kemudian jalankan kode program dengan
memilih run pada menu bar setelah itu pilih run file. Tampilan Output kode Program
isiRumahKu.java
Pada latihan kedua ini kita telah membuat 2 (dua) buah file, yaitu :
1. RumahKu.java yaitu membuat sebuah class dengan nama “RumahKu.class”
2. isiRumahKu.java yaitu
class yang lain “isiRumahKu.class” yang menggunakan class
RumahKu
Pada file pertama “RumahKu.java” diawali dengan membuat sebuah class public “Rumah”
agar dapat digunakan pada class yang lain, didalam class “Rumah” terdapat 2 (dua) buah
method yaitu “Meja” dan “JamDinding”, perhatikan dari cara penulisannya!
public static void Meja()
{
System.out.println("Ada Meja");
}
Kata kunci “public static” digunakan agar method ini mempunyai jangkauan global dan isinya
tetap, sedangkanMethod “JamDinding” hanya digunakan untuk jangkauan lokal saja
void JamDinding()
{
System.out.println("Ada Jam Dinding");
}
4
Pada file yang kedua “isiRumahKu.java” diawali juga dengan membuat sebuah class public
“isiRumahKu” didalamnya terdapat method utama “main” dengan Atribut yang digunakan
“String[]args” fungsi kode program ini adalah memanggil class “RumahKu” untuk digunakan
pada class “isiRumahKu”, perhatikan cara pemanggilan yang berbeda dari Method yang ada
pada class “Rumah”!
Rumah.Meja();
Pada baris ini, karena Method “Meja” menggunakan kata kunci “public static” maka
pemanggilannya dapat secara langsung tanpa harus membuat satu objek baru untuk dapat
menggunakan/memanggil method pada class lain, seperti method “JamDinding” pada class
“RumahKu”
RumahKu Panggil = new RumahKu();
Pada baris ini dibuat satu objek baru dengan nama “Panggil” yang merupakan nama lain
dari
class
“RumahKu”,
cara
memanggilnya
adalah
seperti
pada
baris
berikut
Panggil.JamDinding();
Latihan 5
Buatlah class,object,atribut dan method dengan sebuah program ! Berikan penjelasannya!
2.3 Penerapan Karakteristik Pemrograman Berorientasi Objek
A. Enkapsulasi (Encapsulation)
Enkapsulasi merupakan suatu cara bagaimana menyembunyikan sedemikian rupa
suatu proses kedalam sistem. Hal ini berguna untuk menghindari interferensi dari luar sistem
dan juga lebih untuk menyederhakanan sistem itu sendiri. Contoh, pada saat anda
mengganti chanel TV menggunakan remote TV, apakah anda mengetahui proses yang
terjadi didalam TV tersebut ?, maka jawabannya tidak tahu dan anda pun sebagai pembeli
TV tidak mau dipusingkan dengan proses yang terjadi. Maka hal tersebut menyederhakan
sistem.
Di dalam OOP, enkapsulasi dapat dilakukan dengan terlebih dahulu memahami
access modifier yang mendefiniskan bagaimana suatu data atau method dapat diakses. Ada
empat macam access modifier pada OOP, yaitu:
5
1. Private : hanya diakses class itu sendiri
2. Public : dapat diakses dari manapun
3. Protected : hanya dapat diakses dari package (satu folder) dan subclass
4. Default : tanpa modifier, hanya bisa diakses dari package dan class itu sendiri.
Contoh:
1. Buatlah sebuah Class dengan nama Belajar.Java
2.Buatlah sebuah Class dengan nama Pintar.java
Penjelasan :
Fungsi public yang terdapat dalam class Belajar pada variable x, memungkinkan nilai dari
variable x dapat diakses oleh class Pintar. Sedangkan variable y yang menggunakan fungsi
private tidak dapat dipanggil didalam class Pintar.
B.
Pewarisan (Inheritance)
Inheritance (pewarisan/penurunan) merupakan penurunan sifat (atribut dan metod) dari
induk class kepada subclass atau anak class. Untuk mendeklarasikan suatu class sebagai
6
subclass atau class turunan dari suatu class dilakukan dengan menambah kata kunci
“ extends”
Contoh :
public class B extends A {
……………………….
}
Artinya : class B merupakan subclass atau turunan dari A ( class B mewarisi atribut dari
class A)
Contoh Penerapan Pewarisan pada program :
1. buatlah Class dengan nama sepeda.java
2.buatlah Class dengan nama Sepeda_Gunung.java
3.buatlah Class dengan nama Sepeda _Gunung_Beraksi.java
7
C. Polymorphism
Polimorfisme merupakan Suatu kemampuan dari sebuah object untuk membolehkan
mengambil beberapa bentuk yang berbeda agar tidak terjadi duplikasi object (kemampuan
untuk mempunyai beberapa bentuk class yang berbeda). Polimorfisme ini terjadi pada saat
suatu object bertipe parent class, akan tetapi pemanggilan constructornya melalui subclass.
Contoh:
1. Buatlah Sebuah Class dengan Nama Polimorfisme.java
O
Output :
Latihan 6 :
Buatlah contoh program untuk enkapsulasi,inheritance dan polymorphisme!Jelaskan!
TUGAS :
1. Tentukanlah sebuah masalah untuk dibuat program! Buatlah deskripsi masalah tersebut
dan flowchart nya!
2. Buatlah programnya yang memuat enkapsulasi,pewarisan dan polymorphisme !
8