Anda di halaman 1dari 8

OOP

Apa itu OOP? OOP atau (Object Oriented Programming) adalah suatu paradigma
dalam pemrograman yang berbasis pada obyek. OOP terinsiprasi dari model yang telah
ada di kehidupan sehari-hari. Contoh saja seperti mobil, mobil merupakan suatu objek.
Mobil terbentuk dari beberapa objek yang lebih kecil seperti roda, body, mesin dll.
Objek yang terdapat pada mobil saling berhubungan, berinteraksi dan berkomunikasi.
Melalui konsep di atas, OOP diciptakan untuk mempermudah pengembangan program
dengan cara mengikuti pendekatan model objek yang telah ada dikehidupan sehari-hari.
Bagi yang ingin mempelajari bahasa pemrograman Java tentunya harus memahami
konsep OOP, karena pemrograman Java didesain dengan menerapkan konsep OOP.

Berikut ini adalah beberapa istilah yang sering digunakan dalam konsep OOP.

1. Class dan obyect


Kelas (terjemahan dari class) dan obyek (terjemahan dari obyect) adalah hal
paling dasar yang harus kita pelajari. Kita akan belajar bagaimana membuat
suatu kelas dan menggunakaanya di dalam suatu program.
2. Method
Suatu metode mendefinisikan perilaku obyek yang dibuat dari kelas. Metode
dapat berupa prosedur atau fungsi.
3. Member
Di materi ini kita akan belajar lebih dalam lagi tentang member (semua yang
dideklarasikan) di dalam suatu kelas.
4. Access Modifier
Di sini kita akan belajar tentang hak akses dari suatu kelas, metode, dan data
member. Ada beberapa macam modifier yaitu private, default, protected, dan
public.
5. Encapsulation
Encapsulation adalah metode untuk membundling suatu data dan metode di
dalam kelas. Di dalamnya juga akan ada materi tentang bagaimana
mengaksesnya dengan memanfaatkan metode di dalam kelas.
6. Inheritance
Inheritance adalah pewarisan, suatu kelas dapat diturunkan dari kelas lain
sehingga mewarisi data dan metode dari kelas lain tersebut. Materi inheritance
sangat penting di dalam OOP.
7. Interface
Selain inheritance, kita juga akan belajar tentang interface. Interface mirip
seperti kelas, tetapi hanya berisi method signature (nama, parameter dan
return).

Class

Class merupakan bagian dari turunan obyek yang berfungsi sebagai wadah atau cetakan
untuk mendeskripsikan behavior/state yang didukung obyeknya. Behavior adalah
tingkah laku yang dapat dilakukan oleh obyek. Behavior adalah kelakuan atau sifat dari
obyek, misalnya lampu bisa dimatikan atau dinyalakan. State adalah kondisi atau
keadaan yang bisa terjadi pada obyek misalnya lampu dapat memiliki state nyala atau
mati.

Di kehidupan nyata kita mungkin sering menemukan banyak obyek, akan tetapi
beberapa di antaranya memiliki kemiripan. Mungkin ada banyak kucing yang ada di
dunia ini. Semua sama-sama memiliki bentuk yang sama. Bila diperhatikan ada banyak
jenis kucing, mulai dari warna, bentuk hingga ras. Dalam aturan orientasi obyek, dapat
dikatakan bahwa jenis, warna dan ras kucing di seluruh belahan dunia ini adalah sebuah
kelas instance dari obyek yang dikenali sebagai kucing.

Constructor

Constructor adalah method yang secara default sudah terbentuk ketika kelas dibuat.
Ketika suatu kelas dibuat (instansiasi) maka konstruktor akan terpanggil juga.
Constructor harus memiliki nama yang sama dengan nama kelasnya. Lalu apa
kegunaan Constructor?

 Memberikan nilai awal terhadap suatu data atau obyek


 Mengalokasikan ruang sebuah kelas dalam obyek

Terdapat dua tipe constructor pada Java:

 No-argument constructor, apabila kita tidak mendeklarasikan


konstruktor dalam suatu kelas, kompiler Java akan membuat default
constructor(tanpa parameter) dan pada body constructor tersebut
kosong. Sementara jika kita mendeklarasikan konstruktor tanpa
paramter , baik menuliskan kode pada body-nya atau tidak, maka itu
bukan default constructor. Itu adalah no-argument constructor.
Berikut ini adalah contoh no-argument constructor pada suatu kelas.

1. package com.dicoding.javafundamental.kelas;
2.
3. public class KucingAnggora {
4.
5. //ini adalah contoh no-argument constructor
6. public KucingAnggora() {
7.
8. }
9. }

 Parameterized constructor, konstruktor yang memiliki parameter untuk


menginisiasi atau memberikan nilai awal data dengan nilai yang kita
tentukan.
Berikut ini adalah contoh parameterized constructor pada suatu kelas.

1. package com.dicoding.javafundamental.kelas;
2.
3. public class KucingAnggora {
4.
5. String nama_kucing;
6. int berat_badan;
7.
8. //ini adalah contoh parameterized constructor
9. //dengan memberikan nilai awal data member nama_kucing dan
berat_badan
10. //dengan parameter yang kita tentukan
11. public KucingAnggora(String nama, int berat) {
12. nama_kucing = nama;
13. berat_badan = berat;
14. }
15. }

Object

Dalam paradigma OOP, obyek merupakan instance atau wujud nyata dari suatu kelas.
Pemahaman mengenai obyek tidak kalah pentingnya pada konsep pemrograman
berorientasi obyek. Salah satu kegunaan obyek adalah untuk mengakses berbagai
fungsi dan metode pada kelas. Obyek bisa dibuat lebih dari satu.

Menciptakan Obyek

Karena obyek merupakan instansiasi dari kelas, untuk menciptakan suatu obyek kita
perlu mendeklarasikan tiap obyek yang dibuat dengan mengikutsertakan kelasnya.
Pada Java untuk membuat sebuah obyek terdapat 3 tahap :
 Declaration : mendeklarasikan nama sebuah obyek
 Instantiation : memerlukan sebuah perintah new untuk menciptakan obyek
 Initialization : inisialisasi dari sebuah obyek setelah perintah new

Codelab Mencipatakan Obyek

Pada contoh berikut kita praktikkan cara menciptakan suatu obyek secara sederhana di
dalam satu kelas.

1. Buatlah proyek baru dengan nama Obyek dengan nama


package com.dicoding.javafundamental.obyek di dalamnya:

2. Buatlah sebuah kelas baru dengan nama Hewan, kemudian tambahkan


kode berikut:
3.

1. package com.dicoding.javafundamental.obyek;
2.
3. public class Hewan {
4. public void cetakNama(String nama) {
5. System.out.println("Nama hewan: " + nama);
6. }
7. }

4.

Setelah itu, buatlah kelas baru dengan nama Main dan masukkan kode berikut
di dalamnya:

5.
6.
1. public class Main {
2. public static void main(String[] args) {
3. // menciptakan object dengan nama 'obyekHewan'
4. Hewan obyekHewan = new Hewan();
5. obyekHewan.cetakNama("Elang");
6. }
7. }

7. Selanjutnya jalankanlah kode di atas pada IDE yang kalian


gunakan. Bila sukses, seharusnya Console akan
menampilkan output seperti ini.

Nama hewan: Elang

8.

Nah, sampai di sini apakah Anda sudah paham ? Jika belum mari kita bahas
kodenya secara jelas.

9.

Bedah Code Menciptakan Obyek

Pada kode di atas kita mempunyai sebuah kelas bernama Hewan. Di


dalam class tersebut kita mempunyai metode cetakNama yang mempunyai parameter
nama. Pada metode cetakNama kita hanya melakukan perintah menampilkan
berdasarkan parameter yang dikirim dengan menggunakan tipe data String.

. public void cetakNama(String nama) {


. System.out.println("Nama hewan: " + nama);
. }

Pada kode selanjutnya kita menciptakan suatu obyek dengan perintah new.
Sedangkan obyekHewanmerupakan nama dari obyek yang kita buat.

. Hewan obyekHewan = new Hewan();

Untuk memanggil sebuah metode di dalam suatu kelas, kita dapat menggunakan (.)
(titik).

. obyekNama.cetakNama("Elang");
Sampai di sini, kita telah mengerti bagaimana membuat obyek secara sederhana. Tahap
selanjutnya kita akan mencoba membuat obyek pada sebuah kelas yang lebih
kompleks.

Codelab Menggunakan Obyek

Selanjutnya kita akan coba menggunakan obyek yang ada di kelas Hewan.

1. Bukalah kembali proyek Obyek.

2. Masukkan kode berikut ke dalam kelas Hewan:


3.

1. package com.dicoding.javafundamental.obyek;
2.
3. public class Hewan {
4. String nama;
5. int berat;
6. int jumlahKaki;
7.
8. // Ini merupakan konstruktor dari kelas hewan. konstruktor adalah method yang
pertama kali dijalankan ketika object diciptakan.
9. public Hewan(String namaHewan) {
10. nama = namaHewan;
11. }
12.
13. public void beratHewan(int beratHewan) {
14. berat = beratHewan;
15. }
16.
17. public void jumlahKakiHewan(int jumlahKakiHewan) {
18. jumlahKaki = jumlahKakiHewan;
19. }
20.
21. public void cetakHewan() {
22. System.out.println("Nama hewan : " + nama);
23. System.out.println("Berat hewan : " + berat + " kg");
24. System.out.println("Jumlah kaki: " + jumlahKaki);
25. }
26. }

Kelas Hewan memliki beberapa atribut, seperti nama, berat dan jumlah kaki.
Masing-masing dari atribut tersebut kita berikan parameter dengan membuat
method.

4. Ubahlah kode yang ada di dalam kelas Main:


5.

1. package com.dicoding.javafundamental.obyek;
2.
3. public class Main {
4. public static void main(String[] args) {
5. Hewan Elang = new Hewan("Elang");
6. Hewan Kucing = new Hewan("Kucing");
7.
8. Elang.beratHewan(5);
9. Elang.jumlahKakiHewan(2);
10. Elang.cetakHewan();
11.
12. Kucing.beratHewan(2);
13. Kucing.jumlahKakiHewan(4);
14. Kucing.cetakHewan();
15. }
16. }

6. Jalankan kode di atas maka hasilnya akan jadi seperti ini:

Nama hewan : Elang


Berat hewan : 5 kg
Jumlah kaki: 2
Nama hewan : Kucing
Berat hewan : 2 kg
Jumlah kaki: 4

7.

Kini kita telah memahami cara membuat kelas dan menginstansiasinya pada Java. Ada
yang perlu kita tekankan dalam bab ini . Dalam sebuah kelas kita bisa menciptakan
beberapa obyek. Dengan menggunakan obyek kita dapat mengeksekusi baik metode
maupun fungsi yang beraneka ragam, yang dipakai dalam sebuah kelas.

Anda mungkin juga menyukai