Macam-macam Bahasa Pemrograman untuk Pengembangan ...
Salah satu framework berbasis JavaScript yang banyak digunakan untuk membuat aplikasi mobile adalah React Native. ... baik dibandingkan dengan ...
berorientasi objek
Java menggunakan paradigma pemrograman <anchor>berorientasi objek</anchor>, berarti bahwa semua data dan logika aplikasi diwakili oleh objek-objek yang saling terkait. Hal ini membuat Java mudah dipelajari dan dipahami oleh programmer yang belum pernah belajar pemrograman sebelumnya.
Apa itu OOP pada Java? Beserta Contohnya - Dicoding Blog
# Blog

Menu

Apa itu OOP pada Java Beserta Contohnya

## Apa itu OOP pada Java? Beserta Contohnya

Bagikan

Bagikan post ke Facebook[Bagikan post ke Twitter](https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.dicoding.com%2Fblog%2Fapa-itu-oop-pada-java-beserta-contohnya%2F&text=Apa itu OOP pada Java? Beserta Contohnya&via=dicoding "Bagikan post ke Twitter")[Bagikan post ke LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.dicoding.com%2Fblog%2Fapa-itu-oop-pada-java-beserta-contohnya%2F&title=Dicoding&summary=Apa itu OOP pada Java? Beserta Contohnya&source=Dicoding "Bagikan post ke LinkedIn")

Hallo, teman-teman! Bagaimana kabarnya? Mudah-mudahan dalam keadaan sehat walafiat. Aamiin.

Apa kamu pernah mendengar OOP? Mungkin sudah dengar tapi belum terlalu paham seperti apa OOP itu ya. Sebagai calon programmer, kamu wajib tahu lho konsep dasar OOP . Mengapa? Sebab zaman now, programmer harus mampu meminimalisir program dan membuatnya tertata rapi. Selain itu juga untuk mempercepat pembuatan aplikasi, serta meminimalisir timbulnya bug.

Hal tersebut dapat teratasi dengan OOP. Kamu tidak perlu menuliskan kode berulang dalam satu script panjang. Itulah salah satu alasan seorang programmer menggebu-gebu untuk mempelajari konsep OOP.

### 💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Baik, langsung saja penjelasan mengenai apa itu OOP? Beserta contohnya. Yuk simak bersama-sama.

## Mengenal Apa itu OOP?

Apa kamu sudah tahu kepanjangan dari OOP? OOP adalah merupakan kepanjangan dari Object Oriented Programming. OOP merupakan suatu metode pemrograman yang berorientasi kepada objek. Dalam bahasa Indonesia OOP dikenal dengan PBO (Pemrograman Berorientasi Objek).

Lalu apa tujuannya? OOP bertujuan untuk mempermudah pengembangan sebuah program. Ia memiliki variabel dan fungsi yang  dibungkus ke dalam objek ataupun class. Keduanya dapat saling berinteraksi sehingga membentuk sebuah program.

## Mengapa Harus OOP?

Seperti yang kamu ketahui sebelumnya, programmer harus mampu meminimalisir program dan membuatnya tertata rapi. Selain itu juga untuk mempercepat pembuatan aplikasi. Lalu, bukannya kamu bisa bikin program dengan prosedural saja? Iya, tentu bisa. Masalahnya, kalau programnya semakin besar maupun kompleks maka tu semua akan membuat kodemu sulit  di- maintenance.

Sebab teknik prosedural identik dengan menggabungkan seluruh kode. Bayangkan jika kamu membuat program sebesar GOJEK dengan teknik prosedural, kamu akan kesulitan untuk memodifikasi kode program tersebut. Malah akan dibuat pusing jika seluruh program disatukan tanpa mengorganisasikan kode program. Nah, itulah alasan mengapa kamu harus menggunakan teknik OOP. Berikut merupakan komponen OOP yang penting untuk kamu pelajari.

## Class dan Object

Class bertugas untuk mengumpulkan prosedur/fungsi dan variabel dalam satu tempat. Class merupakan blueprint dari sebuah objek atau cetakan untuk membuat objek. Contoh class sebagai berikut ini.

1

2

3

4

5

publicclassCar{

// Body Class

}

Class akan merepresentasikan objek yang mau dibuat. Jadi dalam membuat nama kelas harus disesuaikan dengan objek yang akan dibuat. Penulisan nama class memiliki aturan. Yakni dengan format PascalCase. Apa itu? Penulisannya diiawali dengan huruf kapital. Jika nama variabel tersusun dari dua kata atau lebih maka tidak perlu diberi spasi di antaranya dan diawali dengan huruf kapital pula.

Misal: class MakananKucing, class Senjata, dan class SignIn.

Sedangkan object adalah sebuah variabel instance yang merupakan wujud dari class.__Instance merupakan wujud dari sebuah kelas. Sebuah objek digambarkan dengan variable dan method.

Class berisi dari beberapa kumpulan definisi variabel dan fungsi yang menggambarkan sebuah objek. Ok, apakah teman-teman sudah mulai paham? Tidak hanya terdiri dari class, OOP juga terdiri dari beberapa elemen penyusun lainnya seperti attribute, method, inheritance dsb.

## Atribut

Atribut merupakan bagian dari sebuah kelas yang masih berhubungan erat dari kelas tersebut. Atribut bisa juga disebut sebagai properti atau properties dari sebuah class. Contohnya ketika kamu punya sebuah class Motor, maka kamu dapat menambahkan atribut seperti kecepatan motor, umur motor, ukuran, ban, warna dsb. Untuk lebih detailnya, kita contohkan pada program berikut:

1

2

3

4

5

6

7

classCar{

// Attribute

intspeed;

inttire;

}

Penggunaan atribut berlaku dari kurung kurawal awal ( {) sampai dengan sebelum kurung kurawal akhir ( }). Ini dinamakan scope. Untuk penulisannya menggunakan format lowerCamelCase. Jadi untuk kata pertama diawali dengan huruf kecil, sedangkan kata selanjutnya diawali dengan huruf kapital. Sama seperti PascalCase, penggunaan spasi tidak diperkenankan ketika menghubungkan dua kata atau lebih dari sebuah nama properti.

Contohnya length, width, apple, speed, listMovies, dll.

## Method

Method berperan menjelaskan bagaimana suatu atribut beraksi. Peran yang dimaksud berupa tingkah laku ( behavior) yang dapat digambarkan oleh suatu method. Misal class Manusia. Manusia tentu memiliki method berupa tingkah laku, seperti berpikir, berjalan, berbicara, makan dll. Maka tentunya method dapat disesuaikan dengan program yang dibuat.

Baik, biar lebih jelas kita akan coba implementasikan ke dalam sebuah kode Java. Kalian bisa menggunakan IDE seperti Bluej ataupun Intellij. Selain itu kamu bisa gunakan compiler online seperti repl.it atau glot.io.

Pertama, kamu bisa buat classHewan.

Kode lab:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

publicclassHewan{

// Method dari kelas Hewan

voidlari(){

System.out.println("Berlari dengan sangat cepat.");

}

voidjalan(){

System.out.println("Berjalan sambil melompat.");

}

voidmakan(){

System.out.println("Makan wortel dengan menggunakan mulutnya");

}

}

Kemudian kamu bisa buat classKelinci. Tulislah kode program berikut ini:

Kode lab:

Java

1

2

3

4

5

6

7

8

9

10

11

12

13

publicclassKelinci{

publicstaticvoidmain(String[]args){

// Memanggil kelas Hewan

Hewan kelinci=newHewan();

kelinci.makan();// Method atau tingkah laku hewan kelinci

kelinci.jalan();

kelinci.lari();

}

}

Tabel class Hewan dan class Kelinci saling berkaitan. Artinya kelas Kelinci dapat memanggil method dari class Hewan.

tabel class

Kamu dapat menjalankan program tersebut, maka output-nya seperti ini:

output method

Kemudian kita akan menambahkan beberapa properti tambahan seperti ini

Kode lab:

Java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

publicclassHewan{

// Properti

doubletinggi=20;

doubleberat=4;

// Inisialisasi properti melalui konstruktor

intumur;

// Konstruktor dengan parameter

Hewan(intumur){

this.umur=umur;

}

voidlari(){

System.out.println("Berlari dengan sangat cepat..");

}

voidjalan(){

System.out.println("Berjalan sambil melompat.");

}

voidmakan(){

System.out.println("Makan wortel dengan menggunakan mulutnya");

}

intgetUmur(){

returnumur;

}

doublegetBerat(){

returnberat;

}

doublegetTinggi(){

returntinggi;

}

}

Kemudian tambahkan beberapa kode program pada class Kelinci.

Kode lab:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

publicclassKelinci{

publicstaticvoidmain(String[]args){

// Memanggil kelas Hewan

Hewan kelinci=newHewan(4);

kelinci.makan();//Method atau tingkah laku hewan kelinci

kelinci.jalan();

kelinci.lari();

// Penggunaan fungsi getUmur dari class Hewan

System.out.println("Umur Kelinci adalah"+kelinci.getUmur()+"tahun");

// Perhitungan indeks massa tubuh (BMI)

// Rumus: berat(kg) / ( tinggi(m) * tinggi(m) )

doublebmi=kelinci.getBerat()/((kelinci.getTinggi()*0.01)*(kelinci.getTinggi()*0.01));

// Hasilnya

System.out.println("Indeks massa tubuhnya adalah "+bmi);

}

}

Maka output-nya:

output method property

Catatan : Tanda // adalah komentar yang bisa Anda gunakan untuk menjelaskan maksud dari kode program java.

## Inheritance

Inheritance adalah hubungan antara dua objek atau lebih. Di mana terdapat sebuah objek utama yang mewariskan attribute maupun method yang dimilikinya kepada objek lainnya, baik itu sebagian maupun keseluruhan.

Contohnya seekor anak kucing berjenis mamalia, mewarisi sifat dan juga bentuk fisik orang tuanya, seperti bulu, mata, telinga, bahkan suaranya.

Suatu objek diwariskan dengan menggunakan keyword extends. Baik, pertama buatlah class Hewan. Class Hewan merupakan parent class atau orang tua dari semua kelas.

Kode lab:

Java

1

2

3

4

5

6

7

8

9

publicclassHewan{

publicHewan(){

System.out.println("Hewan Mamalia");

}

}

Kemudian Buat class Kucing, yang artinya merupakan turunan dari class Hewan. Gunakanlah keyword extends.

Kode lab:

Java

1

2

3

4

5

6

7

8

9

10

publicclassKucingextendsHewan{

publicKucing(){

super();// Akan tetap memanggil constructor “hewan mamalia” dari parent Class

System.out.println("Kucing Bersuara Meong");

}

}

Dan yang terakhir buatlah class dengan nama Main. Kelas ini berguna untuk menjalankan atau mengeksekusi sebuah program.

Kode lab:

Java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

publicclassMain{

publicstaticvoidmain(String[]args){

Hewan hewan=newHewan();// Memanggil class Hewan

System.out.println("Apakah hewan IS-A Objek -> "+(hewan instanceofObject));

System.out.println("Apakah hewan IS-A Hewan -> "+(hewan instanceofHewan));

System.out.println("Apakah hewan IS-A Kucing -> "+(hewan instanceofKucing));

System.out.println("------------------------");// spasi

Kucing kucing=newKucing();// Memanggil class Kucing “Kucing bersuara meong”

System.out.println("Apakah hewan IS-A Objek -> "+(kucing instanceofObject));

System.out.println("Apakah kucing IS-A Hewan -> "+(kucing instanceofHewan));

System.out.println("Apakah kucing IS-A Kucing -> "+(kucing instanceofKucing));

}

}

Jika coding-mu benar, maka tabel akan berbentuk seperti gambar di bawah ini:

table inheritance

Dan ketika dijalankan maka output-nya seperti ini:

output inheritance

Baik sekian yang saya dapat sampaikan. Agar lebih mahir ngoding bahasa Java, kamu bisa gabung di kelas Memulai Pemrograman Dengan Java.

Jika ada yang ditanyakan jangan sungkan isi pada kolom komentar ya.

## Persiapkan karier teknologimu melalui Program Bangkit 2023.

Dapatkan pelatihan teknologi, softskill, dan bahasa Inggris sehingga kamu akan lebih siap berkarier di perusahaan maupun startup.

Pilih satu dari 3 alur belajar: Machine Learning, Mobile Development (Android), atau Cloud Computing.

Lalu, raih manfaat berikut ini.

1. Sertifikasi Global (Google Associate Android Developer & Associate Cloud Engineer, dan Tensorflow Developer
2. Kurikulum & Instruktur Industri Expert (Pilihan 3 alur belajar: Machine Learning, Mobile Development (Android), dan Cloud Computing
3. Keterampilan untuk siap karier (Teknologi, Softskill, dan bahasa Inggris)
4. Konversi SKS s.d. 20 SKS (Terafiliasi Kampus Merdeka – SIB)
5. Melalui Career Fair, raih karier sukses di bidang IT.
6. Raih Dana senilai Rp 140 juta dan mentor industri untuk membangun startup impian.

Apa Itu OOP Pada Java? Beserta Contohnya– karya Rendi Juliarto, Intern Junior Content Writer

#### Also on Dicoding Blog

Belajar Pemrograman Gratis

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai
developer profesional.

## Rekomendasi

[Memulai Pemrograman Dengan Java  
\

Close this module



Dicoding Bangun Negeri Kembali Hadir!

⚠️Dicoding Bangun Negeri kembali dibuka dengan PILIHAN KELAS BARU!⚠️⁠

Wujudkan mimpimu di dunia IT sekarang juga ⁠

dicoding.id/DBN 🚀

Terima kasih, saya belum tertarik.