OOP

Object-Oriented Programming (OOP) adalah metode programming yang berorientasi kepada objek. 

Software Engineering

Mau Belajar

Software Engineering

GRATIS?

Di RevoU, tidak hanya teori, penerapan, serta career coaching. Kamu juga mendapatkan akses ke Community Hub dengan 6000+ member. Di sini, kamu akan selalu terupdate informasi seputar job openings, industry news, dan upskilling events!

IKUT KURSUS GRATIS

Mau Belajar

Software Engineering

GRATIS?

Apa itu OOP?

oop adalah

Object-Oriented Programming (OOP) adalah metode programming yang berorientasi kepada objek. 

Dalam OOP, terdapat kelas dan objek  yang berinteraksi satu sama lain sehingga dapat tercipta suatu program. 

OOP memudahkan untuk mengatur dan menggunakan kembali suatu kode sehingga dapat menghemat waktu dan mengurangi kesalahan. 

Banyak bahasa pemrograman populer yang menggunakan prinsip OOP, seperti Java dan Python.

Istilah Dasar OOP

Berikut ini adalah beberapa istilah dasar dalam OOP:

  • Objek: benda yang memiliki data dan perilaku tertentu, misalnya orang atau mobil.
  • Kelas: blueprint atau template untuk membuat objek, yang mendefinisikan properti dan tindakan yang akan dimiliki objek dari kelas tersebut.
  • Metode: fungsi yang diasosiasikan dengan suatu objek dan digunakan untuk menentukan perilaku objek tersebut.
  • Atribut: variabel yang dikaitkan dengan suatu objek dan digunakan untuk merepresentasikan keadaan objek itu.

Kenapa Java Termasuk OOP?

Java dianggap sebagai bahasa pemrograman berorientasi objek karena sepenuhnya mendukung prinsip dasar OOP, seperti encapsulation, inheritance, abstraction, dan  polymorphism

Sintaks dan struktur Java bermanfaat bagi programmer untuk membangun programnya di sekitar objek dan interaksinya. Hal ini memudahkannya untuk mengimplementasikan konsep OOP. 

Selain itu, Java memiliki template yang dapat digunakan kembali dan dikembangkan, sehingga seorang programmer dapat mengembangkan aplikasi yang kompleks menggunakan OOP Java.

Konsep Dasar OOP

Konsep dasar OOP meliputi encapsulation, inheritance, polymorphism, dan abstraction.

Encapsulation

Encapsulation adalah salah satu konsep dasar OOP yang menyembunyikan detail suatu objek dari akses luar. Encapsulation membantu dalam menciptakan kode yang lebih aman dengan mencegah modifikasi data yang tidak disengaja.

Inheritance

Inheritance adalah mekanisme dalam OOP yang memungkinkan suatu objek mewarisi properti dan metode dari objek induknya. Inheritance memungkinkan terciptanya hubungan antara objek yang memiliki karakteristik dan perilaku yang sama. 

Dengan mengatur objek ke dalam subkelas berdasarkan karakteristik yang sama, seorang programmer dapat membuat basis kode yang dapat digunakan berulang kali.

Polymorphism

Polymorphism merupakan kemampuan objek untuk mengambil bentuk yang berbeda atau memiliki banyak perilaku, tergantung pada konteks penggunaannya. Polymorphism memfasilitasi pemrograman yang lebih fleksibel, karena objek dapat digunakan dalam berbagai konteks berbeda sambil tetap berperilaku yang sesuai.

Abstraction

Abstraction adalah praktik menyederhanakan sistem yang kompleks dengan memecahnya menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola. Dengan meringkas detail dari sebuah objek, seorang programmer dapat menyederhanakan suatu desain program. 

Contoh Program OOP Java   

Mengutip dari w3schools, berikut ini adalah contoh program OOP Java beserta penjelasan singkatnya. 

Contoh Encapsulation

Dengan menggunakan metode get dan set, seseorang tidak dapat langsung mengakses variabel "name", melainkan dapat mengontrol bagaimana variabelnya diakses dan dimodifikasi dalam program.

Metode "getName()" digunakan untuk mendapatkan nilai variabel "name".

Sementara itu, metode "setName(String newName)" digunakan untuk mengubah nilai variabel "name" menjadi nilai baru yang ditentukan dalam parameter "newName". 

Contoh Inheritance

Pada contoh kode di bawah ini, ada dua kelas: Vehicle dan Car. Kelas Car adalah subkelas dari kelas Vehicle, yang berarti akan mewarisi semua karakteristik dan metode kelas Vehicle. Kelas Vehicle memiliki atribut 'brand' dan metode 'honk' yang menampilkan "Tuut, tuut!".

Contoh Polymorphism

Kode di bawah ini menunjukkan konsep polymorphism dalam pemrograman berorientasi objek. 

Meskipun "Pig" dan "Dog" adalah subkelas dari "Animal", mereka memiliki implementasi yang berbeda dari metode "animalSound()". 

Saat objek bertipe "Pig" atau "Dog" dibuat dan metode "animalSound()" digunakan, objek tersebut akan menampilkan suara yang sesuai dengan hewan tersebut.

Contoh Abstraction

Kode di bawah ini adalah contoh abstraction. Kelas abstrak (Animal) memiliki metode abstrak (animalSound()) tanpa menentukan implementasinya. Subkelas (Pig) mewarisi kelas abstrak tersebut dan menerapkan metode animalSound().

FAQ (Frequently Asked Question)

Apa saja kelebihan OOP?

Melansir dari geeksforgeeks, terdapat banyak manfaat dari OOP, beberapa di antaranya adalah: 

  • OOP memungkinkan programmer untuk membangun program dengan modul bawaan yang dapat berkomunikasi satu sama lain, sehingga menghemat waktu dan meningkatkan produktivitas.
  • OOP dapat memecah program menjadi bagian yang lebih kecil, sehingga bila terdapat masalah, akan relatif lebih mudah dipecahkan
  • OOP dapat menambah produktivitas karena software-nya berkualitas tinggi, dan biaya perawatannya lebih rendah.
  • Sistem OOP dapat dengan mudah di-upgrade dari sistem kecil ke sistem yang lebih besar.
  • Proyek OOP dapat dipartisi dengan mudah.
  • Objek dapat dengan mudah dipetakan ke dalam program.

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program:

Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion.

Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program:
Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion.

Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program:

Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion.

Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Kata kunci lainnya

Mulai karirmu dalam

Software Engineering

Di RevoU, tidak hanya teori, penerapan, serta career coaching. Kamu juga mendapatkan akses ke Community Hub dengan 6000+ member. Di sini, kamu akan selalu terupdate informasi seputar job openings, industry news, dan upskilling events!
ikut kursus gratis
Menu