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